github-mcp
Provides tools for interacting with GitHub, including listing and creating issues, managing pull requests, searching code, and reading file contents.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@github-mcpGet issue #1234 in cli/cli"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
github-mcp
GitHub MCP server for Claude Code, Cursor, Cline, Windsurf, and any MCP-compatible client.
Exposes GitHub tools (issues, pull requests, code search, file content) to your LLM via the Model Context Protocol.
Features
๐ Connection pooling & retry โ single HTTP client per process, exponential backoff on 429/5xx, honors
Retry-After.๐ก๏ธ Typed errors โ
GitHubErrorcarries HTTP status, parsed message, and endpoint.โ Input validation โ catches bad inputs before the network round-trip.
๐ Text files decoded โ
get_file_contentreturns UTF-8 text underdecoded_contentfor text files.๐งช Fully tested โ 75 mock-based tests, plus opt-in live integration tests.
๐ชถ Tiny โ three runtime deps (
mcp,httpx,pydantic); no PyGithub.
Related MCP server: GitHub MCP Server
Tools exposed
Tool | Description |
| List issues (filter by state, labels, since) โ PRs filtered out |
| Get a single issue by number |
| Create an issue (with optional labels) |
| List PRs (filter by state) |
| Get a single PR by number |
| Search code across GitHub (requires code-search scope) |
| Read a file at a ref; text files returned UTF-8-decoded |
Full parameter docs: docs/USAGE.md.
Install
pip install github-mcpOr with uv:
uv tool install github-mcpRequires Python 3.10+.
Authenticate
Create a GitHub personal access token:
Fine-grained (recommended): https://github.com/settings/personal-access-tokens/new
Classic (legacy): https://github.com/settings/tokens/new
Set the token:
export GITHUB_TOKEN="ghp_..." # macOS / Linux / Git Bash # or PowerShell: $env:GITHUB_TOKEN = "ghp_..."See docs/AUTH.md for Windows and per-client config.
Configure your client
Claude Code
claude mcp add --transport stdio github -- github-mcpCursor
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"github": {
"command": "github-mcp",
"env": {
"GITHUB_TOKEN": "ghp_..."
}
}
}
}Cline / Windsurf
See your client's docs for adding a stdio MCP server. Command: github-mcp. Env: GITHUB_TOKEN.
Example prompts
"List the 5 most recent open issues in
cli/clilabeledbug."
"Get issue #1234 in
cli/cliand summarize the discussion."
"Create a new issue in
my-org/my-repotitledBug: login fails on Safariwith bodySteps to reproduce: ...."
"Show me the contents of
src/main.pyincli/clion themainbranch."
"Search GitHub for
function authenticateincli/cli."
Development
git clone https://github.com/AbdeeBuilds/github-mcp
cd github-mcp
python -m venv .venv
source .venv/Scripts/activate # Git Bash on Windows
pip install -e ".[dev]"
pytest # mock-based suite
GITHUB_TOKEN=*** pytest tests/test_live.py -v # live integrationQuality gates (run on every PR):
ruff check src tests
ruff format --check src tests
mypy srcLicense
MIT โ see LICENSE.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AbdeeBuilds/github-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server