Complete guide to connecting GitHub with Claude via MCP and managing repositories through conversational AI
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add github-server-asbloom-py --env GITHUB_PERSONAL_ACCESS_TOKEN='<GITHUB_PERSONAL_ACCESS_TOKEN>' --env CONTACT_EMAIL='<CONTACT_EMAIL>' --env DATABASE_URL='<DATABASE_URL>' -- npx -y @modelcontextprotocol/server-github~/.codex/config.toml
[mcp_servers.github-server-asbloom-py]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-github"]
env = { GITHUB_PERSONAL_ACCESS_TOKEN = "<GITHUB_PERSONAL_ACCESS_TOKEN>", CONTACT_EMAIL = "<CONTACT_EMAIL>", DATABASE_URL = "<DATABASE_URL>" }
# codex mcp add github-server-asbloom-py --env GITHUB_PERSONAL_ACCESS_TOKEN='<GITHUB_PERSONAL_ACCESS_TOKEN>' --env CONTACT_EMAIL='<CONTACT_EMAIL>' --env DATABASE_URL='<DATABASE_URL>' -- npx -y @modelcontextprotocol/server-github~/.cursor/mcp.json
{
"mcpServers": {
"github-server-asbloom-py": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<GITHUB_PERSONAL_ACCESS_TOKEN>",
"CONTACT_EMAIL": "<CONTACT_EMAIL>",
"DATABASE_URL": "<DATABASE_URL>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"github-server-asbloom-py": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<GITHUB_PERSONAL_ACCESS_TOKEN>",
"CONTACT_EMAIL": "<CONTACT_EMAIL>",
"DATABASE_URL": "<DATABASE_URL>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"github-server-asbloom-py": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<GITHUB_PERSONAL_ACCESS_TOKEN>",
"CONTACT_EMAIL": "<CONTACT_EMAIL>",
"DATABASE_URL": "<DATABASE_URL>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"github-server-asbloom-py": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<GITHUB_PERSONAL_ACCESS_TOKEN>",
"CONTACT_EMAIL": "<CONTACT_EMAIL>",
"DATABASE_URL": "<DATABASE_URL>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"github-server-asbloom-py": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<GITHUB_PERSONAL_ACCESS_TOKEN>",
"CONTACT_EMAIL": "<CONTACT_EMAIL>",
"DATABASE_URL": "<DATABASE_URL>"
}
}
}
}Environment variables
GITHUB_PERSONAL_ACCESS_TOKENCONTACT_EMAILDATABASE_URL
Replace the placeholders with your own credentials and keep them out of version control.