GitHub MCP服务器

一个基于Cloudflare Workers的GitHub MCP服务器,提供OAuth 2.1认证和GitHub API集成功能。

  • by ohishi-yhonda-pub
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 ohishi-yhonda-pub/github-mcp-server

使用说明

GitHub MCP服务器

Claude.ai使用GitHub MCP(Model Context Protocol)服务器。Cloudflare Workers中找到最佳实践。

机能

  • OAuth 2.1认证(PKCE对应)
  • GitHub API连携
    • 存储库操作(列表/检索/创建)
    • 文件操作(获取/创建/更新)
    • Issue操作(一覧/取得/作成/更新)
    • 分支列表
    • 代码搜索

安装,安装

1. GitHub OAuth App作成

  1. https://github.com/settings/developers访问
  2. "New OAuth App" 来修改标记元素的显示属性
  3. 输入:
    • 应用程序名称: GitHub MCP Server
    • 主页网址: https://github-mcp-server.<your-account>.workers.dev
    • 授权回调URL: https://github-mcp-server.<your-account>.workers.dev/oauth/callback
  4. 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中设置

  1. Claude.ai设置→ 集成
  2. “添加集成”
  3. 姓名: GitHub
  4. 网址: https://github-mcp-server.<your-account>.workers.dev
  5. "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 查找代码

故障排除

连接错误

  1. SERVER_URL确认是否正确
  2. GitHub OAuth App的,之Callback URL确认是否正确
  3. wrangler tail查看日志

验证错误

  1. GitHub OAuth App的,之Client ID/Secret确认是否正确
  2. JWT_SECRET确认是否设置了
  3. KV Namespace确认绑定是否正确

许可证

麻省理工学院