GitHub MCP 服务器
GitHub MCP 服务器是一个 Model Context Protocol (MCP) 实现,提供与 GitHub API 的无缝集成,帮助开发者和工具实现高级自动化与交互能力。
使用场景
- 自动化 GitHub 工作流和流程。
- 从 GitHub 仓库提取和分析数据。
- 构建与 GitHub 生态交互的 AI 工具与应用。
先决条件
- 安装 Docker 并确保其运行中。
- 创建 GitHub 个人访问令牌,并授予合适权限。
安装
VS Code 中使用
在 VS Code 中打开设置 (
Ctrl + Shift + P
→ Preferences: Open User Settings JSON),或将以下 JSON 添加到 .vscode/mcp.json
:{ "mcp": { "inputs": [{ "type": "promptString", "id": "github_token", "description": "GitHub Personal Access Token", "password": true }], "servers": { "github": { "command": "docker", "args": ["run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}" } } } } }
Claude Desktop 中使用
{ "mcpServers": { "github": { "command": "docker", "args": ["run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>" } } } }
本地构建
若不使用 Docker,可在
cmd/github-mcp-server
目录中用 go
构建二进制文件,设置 GITHUB_PERSONAL_ACCESS_TOKEN
后运行 github-mcp-server stdio
。GitHub 企业版支持
通过
--gh-host
或 GH_HOST
环境变量配置企业服务地址。工具描述覆盖
可通过创建
github-mcp-server-config.json
或设置环境变量覆盖工具描述。例如:export GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION="自定义评论功能描述"
工具功能(部分列举)
用户相关
- get_me 获取当前认证用户信息。
Issue 相关
- get_issue, create_issue, add_issue_comment, list_issues, update_issue, search_issues。
Pull Request 相关
- get_pull_request, merge_pull_request, get_pull_request_comments, create_pull_request_review, create_pull_request, update_pull_request。
仓库相关
- create_or_update_file, push_files, search_repositories, create_repository, get_file_contents, fork_repository, create_branch, list_commits, get_commit。
搜索
- search_code, search_users。
代码扫描
- get_code_scanning_alert, list_code_scanning_alerts。
仓库内容访问路径
支持使用模板如
repo://{owner}/{repo}/sha/{sha}/contents{/path*}
来访问指定路径文件内容。开发库使用
目前 Go API 不稳定,未来可能提供稳定版本。如有需求欢迎提交 issue。
许可证
本项目遵循 MIT 协议,详见项目中的 LICENSE 文件。