使用说明
用于Cursor IDE的GitHub MCP服务器
一个强大的GitHub集成服务器,允许您直接从Cursor IDE管理GitHub存储库。该服务器提供了一个RESTful API来与GitHub的API交互,从而更容易创建和管理存储库。
特性
- 创建新的GitHub存储库
- 列出现有存储库
- 基于安全令牌的身份验证
- 速率限制保护
- 全面的错误处理
- 详细日志记录
- Webhook支持(即将推出)
先决条件
- Node.js(v14或更高版本)
- npm(v6或更高版本)
- 拥有个人访问令牌的GitHub帐户
- 光标IDE
设置
- 克隆此存储库:
git clone <your-repo-url>
cd github-mcp-server
- 安装依赖项:
npm install
- 创建一个
.env根目录中的文件:
cp .env.example .env
- 在中配置环境变量
.env:
# Server Configuration
PORT=3000
NODE_ENV=development
# GitHub Configuration
GITHUB_TOKEN=your_github_token_here
GITHUB_WEBHOOK_SECRET=your_webhook_secret_here
# Rate Limiting
RATE_LIMIT_WINDOW_MS=900000 # 15 minutes
RATE_LIMIT_MAX_REQUESTS=100
-
生成GitHub个人访问令牌:
- 转到GitHub.com→ 设置→ 开发人员设置→ 个人访问令牌→ 代币(经典)
- 点击“生成新令牌”→ “生成新令牌(经典)”
- 为您的令牌命名(例如“MCP服务器集成”)
- 选择这些权限:
repo(完全控制私有存储库)read:org(读取组织数据)admin:repo_hook(完全控制存储库挂钩)
- 复制生成的令牌并将其粘贴到您的
.env文件
-
启动服务器:
npm run dev
与Cursor IDE一起使用
- 打开光标IDE
- MCP服务器将在
http://localhost:3000默认情况下 - 您可以使用以下端点:
创建新存储库
curl -X POST http://localhost:3000/api/github/repos \
-H "Content-Type: application/json" \
-d '{
"name": "my-new-repo",
"description": "A new repository created via MCP",
"private": false,
"auto_init": true
}'
列出您的存储库
curl http://localhost:3000/api/github/repos
API终点
GET/健康
运行状况检查端点以验证服务器状态。
GET/api/github/repos
列出经过身份验证的用户可访问的所有存储库。
POST/api/github/repos
创建新存储库。
请求正文:
{
"name": "repository-name",
"description": "Repository description",
"private": false,
"auto_init": true
}
错误处理
该服务器包括全面的错误处理功能,用于:
- GitHub令牌无效
- 速率限制
- 验证错误
- GitHub API错误
- 服务器错误
所有错误都会被记录下来,并返回相应的HTTP状态代码。
安全功能
- 基于令牌的身份验证
- 速率限制保护
- 输入验证
- 安全的环境变量处理
- CORS保护
- 头盔安全头
发展
要在开发模式下运行服务器并自动重新加载,请执行以下操作:
npm run dev
要运行测试,请执行以下操作:
npm test
日志记录
日志存储在:
error.log:错误级别日志combined.log:所有日志
贡献
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
