GitHub's official server for reading repositories, managing issues and pull requests, and inspecting Actions runs and security alerts.
Setup
Choose your client, copy the config, then fill in any required environment variables.
Local
claude mcp add github --env GITHUB_PERSONAL_ACCESS_TOKEN='<GITHUB_PERSONAL_ACCESS_TOKEN>' -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server~/.codex/config.toml
[mcp_servers.github]
command = "docker"
args = ["run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server"]
env = { GITHUB_PERSONAL_ACCESS_TOKEN = "<GITHUB_PERSONAL_ACCESS_TOKEN>" }
# codex mcp add github --env GITHUB_PERSONAL_ACCESS_TOKEN='<GITHUB_PERSONAL_ACCESS_TOKEN>' -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server~/.cursor/mcp.json
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<GITHUB_PERSONAL_ACCESS_TOKEN>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"github": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<GITHUB_PERSONAL_ACCESS_TOKEN>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<GITHUB_PERSONAL_ACCESS_TOKEN>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<GITHUB_PERSONAL_ACCESS_TOKEN>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<GITHUB_PERSONAL_ACCESS_TOKEN>"
}
}
}
}Remote
claude mcp add --transport http github https://api.githubcopilot.com/mcp/~/.codex/config.toml
[mcp_servers.github]
url = "https://api.githubcopilot.com/mcp/"
# codex mcp add github --url https://api.githubcopilot.com/mcp/~/.cursor/mcp.json
{
"mcpServers": {
"github": {
"url": "https://api.githubcopilot.com/mcp/"
}
}
}.vscode/mcp.json
{
"servers": {
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/"
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"github": {
"httpUrl": "https://api.githubcopilot.com/mcp/"
}
}
}claude_desktop_config.json · Customize › Connectors › Add custom connector
{
"mcpServers": {
"github": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.githubcopilot.com/mcp/"
]
}
}
}.trae/mcp.json
{
"mcpServers": {
"github": {
"url": "https://api.githubcopilot.com/mcp/"
}
}
}Environment variables
GITHUB_PERSONAL_ACCESS_TOKEN
Replace the placeholders with your own credentials and keep them out of version control.
Try this task
Review recent open issues in this repository. Group them by problem type, link the originals and identify decisions that need my input.
- What to provide
- A repository URL and authorization to read it.
- What to review
- Check the repository, issue status and links. Confirm any write operations separately.