使用说明
mcp github服务器
您部署到自己的Vercel项目的自托管GitHub MCP(模型上下文协议)服务器。以自定义连接器连接到Claude.ai——不再在聊天中粘贴令牌。
为什么
Claude.ai为Supabase和Vercel提供MCP连接器。GitHub没有web界面。这填补了这一空白。
您的GitHub PAT位于Vercel环境变量中。MCP服务器在运行时读取它。Claude.ai作为自定义连接器连接到服务器。你再也不会在聊天中粘贴令牌了。
所得
克劳德可用的六个工具:
| 工具 | 说明 |
|---|---|
git_read |
读取文件或列出目录 |
git_push |
使用提交创建或更新文件 |
git_push_multi |
以原子方式提交多个文件 |
git_log |
最近提交历史 |
git_list_branches |
列出所有分支 |
git_create_branch |
从任何引用创建分支 |
设置(5分钟)
1.安装依赖项
在Vercel上现有的Next.js项目中:
npm install mcp-handler @octokit/rest zod
2.添加路线
复制 src/app/api/mcp/[transport]/route.ts 从这个仓库到你的项目,路径相同。
编辑 committer 对象在 git_push 和 git_push_multi 要使用您的git身份:
committer: {
name: "your-github-username",
email: "your-username@users.noreply.github.com",
},
3.公开路线
如果您的应用程序具有保护路由的身份验证中间件或代理,请添加 /api/mcp 指向公共/未经身份验证的路径。MCP传输处理自己的连接模型——它不需要你的应用程序的身份验证。
Next.js中间件示例:
// In your middleware or proxy config
const publicPaths = ["/api/mcp"];
4.将您的GitHub PAT添加到Vercel
在Vercel项目设置中→ 环境变量:
- 密钥:
GITHUB_PAT - 价值: 您的细粒度GitHub PAT,具有仓库访问权限
- 环境: 制作、预览、开发
PAT永远不会触及你的代码。
5.部署
按下密码。Vercel部署。
6.连接到Claude.ai
设置→ 连接器→ 添加自定义连接器:
https://yourdomain.com/api/mcp/mcp
双重身 /mcp 是有意的——第一段是路由路径,第二段是MCP传输端点。
完成。Claude现在可以在PAT可以访问的所有存储库中读取、写入、分支和查看历史记录。
凭证轮换
当您需要旋转PAT时:
- 在GitHub上创建新的PAT
- 更新
GITHUB_PATVercel中的env变量 - 重新部署(或等待下一次部署)
没有代码更改。没有聊天曝光。没有仪式。
Supabase边缘函数
此模式也应适用于Supabase Edge Functions(Deno运行时),使用相同的 mcp-handler 该软件包尚未经过测试。核心方法是相同的——从环境变量中读取凭据,通过MCP公开工具,部署到现有的基础设施。
运作原理
服务器使用 mcp-handler 将MCP协议桥接到Next.js API路由,以及 @octokit/rest 用于GitHub API调用。每个工具都是一个精简的包装器:使用Zod验证输入,调用Octokit,返回结果。
服务器是无状态的。上面写着 GITHUB_PAT 从 process.env 在每一个请求。除了您现有的Vercel主机外,它不收取任何费用。
模式
这不仅仅是一个GitHub连接器,而是一种模式。任何带有API和SDK的服务都可以在100行以下成为MCP服务器:
- 安装
mcp-handler+服务的SDK - 在以下位置创建包罗万象的路线
api/mcp/[transport]/route.ts - 使用委托给SDK的Zod模式定义工具
- 将凭据存储为env var
- 部署和连接
许可证
麻省理工学院
