A comprehensive GitHub MCP server with OAuth Device Flow authentication and 327 endpoint coverage.
- 327 GitHub API endpoints as MCP tools (vs ~50 in official server)
- OAuth Device Flow - No PAT management, just authenticate in browser
- OS Keychain storage - Secure token storage via keytar
- Real-time webhooks - GitHub events as MCP resources via smee.io
- npx installable - No Docker required
npx github-mcpOn first run:
- Opens browser to github.com/login/device
- Enter the displayed code
- Token stored securely in OS keychain
- MCP server starts with all tools available
npm install -g github-mcpOr run directly:
npx github-mcpAdd to your Claude Desktop config:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["@ldraney/github-mcp", "--preset", "core"]
}
}
}For security-focused work:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["@ldraney/github-mcp", "--preset", "security"]
}
}
}# Start server (default)
github-mcp
# Auth commands
github-mcp auth login # Trigger OAuth flow
github-mcp auth logout # Remove stored token
github-mcp auth status # Check auth status
# With environment token (skips OAuth)
GITHUB_TOKEN=ghp_xxx github-mcpClaude Desktop has a ~100 tool limit. Use presets to load only what you need:
github-mcp --preset core # Daily dev work (~109 tools)
github-mcp --preset security # Security audits (~38 tools)
github-mcp --preset org-admin # Org management (~92 tools)
github-mcp --preset cicd # CI/CD automation (~71 tools)
github-mcp --preset full # All 327 tools (Claude Code only)| Preset | Categories | Use Case |
|---|---|---|
core (default) |
repos, issues, pulls, search, users, actions, gists | Daily development |
security |
dependabot, secretScanning, codeScanning, codeSecurity, securityAdvisories | Security audits |
org-admin |
orgs, teams, projects, activity, users, apps | Organization management |
cicd |
actions, checks, repos, packages | CI/CD pipelines |
full |
all 33 categories | Claude Code with tool search |
List presets: github-mcp --list-presets
Override with custom categories: github-mcp --categories repos,issues,pulls
Tools are organized by GitHub API category:
| Category | Examples |
|---|---|
github_repos_* |
list, get, create, delete |
github_issues_* |
list, get, create, update, comment |
github_pulls_* |
list, get, create, merge, review |
github_users_* |
get, list, followers |
github_actions_* |
workflows, runs, jobs |
github_gists_* |
list, get, create |
| ... | 33 categories total |
When webhooks are configured, events appear as MCP resources:
github://webhooks/push
github://webhooks/pull_request
github://webhooks/issues
- Server generates a smee.io channel on first run
- Add the channel URL as a webhook in your repo settings
- Events stream to the MCP server in real-time
Environment variables:
| Variable | Description | Required |
|---|---|---|
GITHUB_TOKEN |
Skip OAuth, use this token | No |
GITHUB_CLIENT_ID |
OAuth App client ID | For OAuth |
SMEE_URL |
Custom smee.io channel | No |
| Feature | Official (Go) | github-mcp |
|---|---|---|
| Endpoints | ~50 | 327 |
| Auth | PAT only | OAuth Device Flow |
| Webhooks | No | Yes (smee.io) |
| Install | Docker | npx |
| Token Storage | Manual | OS Keychain |
git clone https://github.com/ldraney/github-mcp.git
cd github-mcp
npm install
npm run build
npm startMIT