GitHub MCP Agent Server
MCP server that exposes GitHub operations as tools for AI agents, enabling code search, issue management, and PR review.
README
GitHub MCP Agent Server
MCP (Model Context Protocol) server that exposes GitHub operations as tools for AI agents — Claude Code, Codex, and any MCP-compatible client.
Features
| Tool | Description |
|---|---|
search_code |
Search GitHub repositories for code |
list_issues |
List open/closed issues in a repository |
create_issue |
Create a new GitHub issue |
get_pr_diff |
Fetch the raw diff of any pull request |
create_pr |
Create a pull request between branches |
review_pr_diff |
Automated code review via local rules (no API call) |
Quick Start
1. Prerequisites
- Python 3.10+
- A GitHub personal access token with
reposcope
2. Install
pip install fastmcp httpx python-dotenv
3. Configure
git clone https://github.com/FMorgan-111/github-mcp-server.git
cd github-mcp-server
echo "GITHUB_TOKEN=ghp_your_token_here" > .env
4. Run
python -m src.main
5. Connect to your AI agent
Claude Code:
claude mcp add github-agent -- python3 /path/to/github-mcp-server/src/main.py
Or via Claude Desktop / Cursor config:
{
"mcpServers": {
"github-agent": {
"command": "python3",
"args": ["/path/to/github-mcp-server/src/main.py"],
"env": {
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}
Then ask your AI:
"List open issues in FMorgan-111/github-mcp-server" "Search for 'FastMCP' in my repo" "Review PR #1 in this repo"
Tool Reference
search_code(query, repo)
Search code within a GitHub repository.
Parameters:
query(str, required) — Search queryrepo(str, optional) — Repository inowner/repoformat
Returns: Formatted list of matching files with paths and URLs.
list_issues(repo, state)
List issues in a repository.
Parameters:
repo(str, required) — Repository inowner/repoformatstate(str, optional) —"open"(default) or"closed"
create_issue(repo, title, body)
Create a new issue.
Parameters:
repo(str, required) — Repository inowner/repoformattitle(str, required) — Issue titlebody(str, required) — Issue body text
get_pr_diff(repo, pr_number)
Fetch the raw diff of a pull request.
Parameters:
repo(str, required) — Repository inowner/repoformatpr_number(int, required) — Pull request number
create_pr(repo, title, body, head, base)
Create a pull request.
Parameters:
repo(str, required) — Repository inowner/repoformattitle(str, required) — PR titlebody(str, required) — PR descriptionhead(str, required) — Source branch namebase(str, required) — Target branch name (e.g."main")
review_pr_diff(repo, pr_number)
Fetch a PR diff and run local code review rules. No API call — all analysis is local.
Rules checked:
- ⚠️
print()statements in non-test files - ⚠️
TODO/FIXME/HACKcomments - ❌ Hardcoded secrets (passwords, API keys, tokens)
- ❌ Bare
except:clauses (should specify exception type) - ⚠️ Functions over 80 lines
Architecture
┌─────────────────┐ MCP stdio transport ┌──────────────────────┐
│ Claude Code │ ◄─────────────────────────► │ GitHub MCP Server │
│ Codex │ JSON-RPC 2.0 messages │ │
│ Any MCP client │ │ ┌────────────────┐ │
└─────────────────┘ │ │ github_client │ │
│ │ (httpx) │ │
│ │ → GitHub API │ │
│ └────────────────┘ │
│ ┌────────────────┐ │
│ │ review.py │ │
│ │ local rules │ │
│ └────────────────┘ │
│ ┌────────────────┐ │
│ │ config.py │ │
│ │ .env / env │ │
│ └────────────────┘ │
└──────────────────────┘
Development
# Clone and install
git clone https://github.com/FMorgan-111/github-mcp-server.git
cd github-mcp-server
pip install -e . --break-system-packages
# Run tests
python -m pytest tests/ -v
# Start MCP server (stdio mode)
python -m src.main
# Test with MCP Inspector
# https://github.com/modelcontextprotocol/inspector
Deployment
Docker
docker build -t github-mcp-server .
docker run -e GITHUB_TOKEN=ghp_your_token_here -i github-mcp-server
Smithery (MCP Registry)
Deploy to Smithery for one-click install into any MCP client.
License
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。