GitHub MCP服务器
用于GitHub自动化的模型上下文协议(MCP)服务器。使Javari AI能够自主创建存储库、提交代码和管理GitHub资源。
特性
- ✅ 创建存储库(组织或个人)
- ✅ 批量提交多个文件
- ✅ 创建和管理分支机构
- ✅ 创建拉取请求
- ✅ 存储库状态监控
- ✅ 速率限制跟踪
- ✅ 安全的API密钥身份验证
- ✅ 综合录井
- ✅ 健康检查
安装
npm install配置
复制 .env.example 到 .env 并配置:
cp .env.example .env所需变量:
GITHUB_TOKEN:具有回购权限的个人访问令牌MCP_API_KEY:MCP身份验证的安全密钥
发展
npm run dev生产
npm run build
npm startAPI终点
健康检查
GET /health创建存储库
POST /api/repos/create
Headers: x-api-key: YOUR_MCP_KEY
Body: {
"name": "my-app",
"description": "My application",
"private": false
}提交文件
POST /api/repos/:owner/:repo/commit
Headers: x-api-key: YOUR_MCP_KEY
Body: {
"message": "Initial commit",
"branch": "main",
"files": [
{
"path": "src/index.ts",
"content": "console.log('Hello');"
}
]
}获取存储库状态
GET /api/repos/:owner/:repo/status
Headers: x-api-key: YOUR_MCP_KEY创建分支
POST /api/repos/:owner/:repo/branch
Headers: x-api-key: YOUR_MCP_KEY
Body: {
"name": "feature-branch",
"from": "main"
}创建拉取请求
POST /api/repos/:owner/:repo/pr
Headers: x-api-key: YOUR_MCP_KEY
Body: {
"title": "Add new feature",
"head": "feature-branch",
"base": "main",
"body": "Description of changes"
}删除存储库
DELETE /api/repos/:owner/:repo
Headers: x-api-key: YOUR_MCP_KEY
Body: {
"confirm": "repository-name"
}速率限制状态
GET /api/rate-limit
Headers: x-api-key: YOUR_MCP_KEY安全
- 所有终结点(health除外)都需要API密钥身份验证
- 速率限制:每个IP每小时1000个请求
- GitHub令牌安全地存储在环境变量中
- 所有操作的审核日志记录
部署
铁路(推荐)
railway up在Railway仪表板中配置环境变量。
码头工人
docker build -t crav-mcp-github .
docker run -p 3001:3001 --env-file .env crav-mcp-github监控
检查服务器运行状况:
curl http://localhost:3001/health查看GitHub速率限制:
curl -H "x-api-key: YOUR_KEY" http://localhost:3001/api/rate-limit错误处理
所有端点返回一致的错误格式:
{
"error": "Error description",
"details": "Detailed message"
}日志
combined.log:所有操作error.log:仅错误- 控制台:实时彩色输出
许可证
麻省理工学院-CR AudioViz AI
