What it is
An MCP server for the GitHub API that supports file operations, repository management, and search. It exposes 26 tools covering files, branches, issues, pull requests, commits and code/issue/user search. The README carries a deprecation notice stating that development has moved to the github/github-mcp-server repository.
Who it's for
- Developers who want an MCP client such as Claude Desktop or VS Code to manage GitHub repositories, issues and pull requests
- Users maintaining an existing setup based on the archived server (@modelcontextprotocol/server-github or mcp/github)
Requirements
Requirements
- A GitHub Personal Access Token with the
reposcope (orpublic_repoif working only with public repositories) - The token supplied via the GITHUB_PERSONAL_ACCESS_TOKEN environment variable
- Docker (mcp/github image) or npx (@modelcontextprotocol/server-github) to run the server
- An MCP client such as Claude Desktop or VS Code
Setup
Create a Personal Access Token
Create a GitHub Personal Access Token in Settings > Developer settings > Personal access tokens. Choose the repositories it can access, give it the
reposcope (orpublic_repofor public repositories only), and copy the token.Claude Desktop with NPX
Add this to claude_desktop_config.json, replacing <YOUR_TOKEN> with your token.
json{ "mcpServers": { "github": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-github" ], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>" } } } }Claude Desktop with Docker
Alternatively, run the server through Docker using the mcp/github image.
json{ "mcpServers": { "github": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "mcp/github" ], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>" } } } }VS Code with NPX
Add this to your User Settings (JSON), opened via Ctrl + Shift + P and 'Preferences: Open User Settings (JSON)'. It can also go in .vscode/mcp.json, where the
mcpkey is not needed.json{ "mcp": { "inputs": [ { "type": "promptString", "id": "github_token", "description": "GitHub Personal Access Token", "password": true } ], "servers": { "github": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-github" ], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}" } } } } }Build the Docker image (optional)
Build the image locally from the repository.
bashdocker build -t mcp/github -f src/github/Dockerfile .
Examples
Search code
textq: "import express" language:typescript path:src/What it does: A search_code query using GitHub code search syntax to filter by language and path.
Search open bug issues
textq: "memory leak" is:issue is:open label:bugWhat it does: A search_issues query that filters by type, state and label.
Search users
textq: "fullstack developer" location:London followers:>100What it does: A search_users query filtering by location and follower count.
Pros & cons
Pros
- Pro:Broad coverage with 26 tools spanning files, branches, issues, pull requests, commits and search
- Pro:Supports both single-file (create_or_update_file) and multi-file (push_files) commits, with branches created automatically when missing
- Pro:Preserves Git history without force pushing, and gives clear error messages for common issues
- Pro:Can be run via either Docker or npx, with documented configs for Claude Desktop and VS Code
Cons
- Con:Deprecated and archived: the README says development has moved to github/github-mcp-server
- Con:Requires a Personal Access Token with the
reposcope for full access, which grants full control of private repositories
Images
