使用说明
GitHub MCP服务器
Claude.ai使用GitHub MCP(Model Context Protocol)服务器。Cloudflare Workers中找到最佳实践。
机能
- OAuth 2.1认证(PKCE对应)
- GitHub API连携
- 存储库操作(列表/检索/创建)
- 文件操作(获取/创建/更新)
- Issue操作(一覧/取得/作成/更新)
- 分支列表
- 代码搜索
安装,安装
1. GitHub OAuth App作成
- https://github.com/settings/developers访问
- "New OAuth App" 来修改标记元素的显示属性
- 输入:
- 应用程序名称:
GitHub MCP Server - 主页网址:
https://github-mcp-server.<your-account>.workers.dev - 授权回调URL:
https://github-mcp-server.<your-account>.workers.dev/oauth/callback
- 应用程序名称:
- Client ID 和Client Secret 记录
2. Cloudflare KV作成
# KV Namespace作成
wrangler kv:namespace create SESSIONS
# 出力されたIDをwrangler.tomlに設定
3.环境变数设定
# Secrets設定
wrangler secret put GITHUB_CLIENT_ID
wrangler secret put GITHUB_CLIENT_SECRET
wrangler secret put JWT_SECRET
wrangler secret put SERVER_URL
JWT_SECRET生成32个或更多个随机字符串:
openssl rand -base64 32
SERVER_URL是部署后的Workers URL:
https://github-mcp-server.<your-account>.workers.dev
4.部署
npm install
npm run deploy
5. Claude.ai中设置
- Claude.ai设置→ 集成
- “添加集成”
- 姓名:
GitHub - 网址:
https://github-mcp-server.<your-account>.workers.dev - "Connect" → GitHub认证
wrangler.toml设定
name = "github-mcp-server"
main = "src/index.ts"
compatibility_date = "2024-12-01"
[[kv_namespaces]]
binding = "SESSIONS"
id = "<YOUR_KV_NAMESPACE_ID>"
[vars]
OAUTH_SCOPES = "repo,read:user"
本地开发
# 開発サーバー起動
npm run dev
# ログ確認
npm run tail
端点列表
| 路径 | 方法 | 描述 |
|---|---|---|
/.well-known/oauth-protected-resource |
GET | RFC 9728 资源元数据 |
/.well-known/oauth-authorization-server |
GET | RFC 8414 认证服务器元数据 |
/oauth/authorize |
GET | OAuth认证开始 |
/oauth/callback |
GET | GitHub回调 |
/oauth/token |
POST | 令牌发行 |
/oauth/register |
POST | 动态客户端注册 |
/mcp |
发布 | MCP JSON-RPC |
/docs |
GET | 文档 |
MCP工具
| 工具 | 说明 |
|---|---|
list_repos 存储库列表 |
|
get_repo 资料档案库详细信息 |
|
create_repo 创建存储库 |
|
get_contents 文件/目录内容 |
|
get_file_content 文件内容(已解码) |
|
create_or_update_file 文件创建/更新 |
|
list_issues |
Issue一覧 |
get_issue |
Issue详细 |
create_issue |
Issue作成 |
update_issue |
Issue更新 |
list_branches [分支列表] |
|
search_repos |资料库搜索| |
|
search_code 查找代码 |
故障排除
连接错误
- SERVER_URL确认是否正确
- GitHub OAuth App的,之Callback URL确认是否正确
wrangler tail查看日志
验证错误
- GitHub OAuth App的,之Client ID/Secret确认是否正确
- JWT_SECRET确认是否设置了
- KV Namespace确认绑定是否正确
许可证
麻省理工学院