article
README
🚀 GitHub MCP 服务器用于 Cursor IDE
这是一个功能强大的 GitHub 集成服务器,可让您直接在 Cursor IDE 中管理 GitHub 仓库。该服务器借助 RESTful API 与 GitHub 的 API 交互,极大简化了仓库的创建与管理流程。
🚀 快速开始
此服务器可让您直接在 Cursor IDE 中管理 GitHub 仓库,借助 RESTful API 与 GitHub 的 API 交互,简化仓库创建与管理。
✨ 主要特性
- 仓库管理:支持创建新的 GitHub 仓库,还能列出现有仓库。
- 身份验证:采用基于令牌的身份验证机制。
- 安全防护:具备速率限制保护,防止 API 被滥用和过度使用。
- 错误处理:拥有全面的错误处理和详细的日志记录功能。
- 未来规划:即将支持网络钩子。
📦 安装指南
先决条件
- Node.js(v14 或更高版本)
- npm(v6 或更高版本)
- GitHub 账户及个人访问令牌
- Cursor IDE
安装步骤
- 克隆此仓库:
git clone <your-repo-url>
cd github-mcp-server
- 安装依赖项:
npm install
- 在根目录中创建一个
.env文件:
cp .env.example .env
- 配置环境变量在
.env中:
# 服务器配置
PORT=3000
NODE_ENV=development
# GitHub 配置
GITHUB_TOKEN=your_github_token_here
GITHUB_WEBHOOK_SECRET=your_webhook_secret_here
# 速率限制
RATE_LIMIT_WINDOW_MS=900000 # 15 分钟
RATE_LIMIT_MAX_REQUESTS=100
- 生成 GitHub 个人访问令牌:
- 访问 GitHub.com → 设置 → 开发者设置 → 个人访问令牌 → 令牌 (经典)
- 点击“生成新令牌”→“生成新令牌(经典)”
- 给您的令牌一个描述性名称(例如,“MCP 服务器集成”)
- 选择这些权限:
repo(对私有仓库的完全控制)read:org(读取组织数据)admin:repo_hook(对仓库钩子的完全控制)
- 复制生成的令牌并粘贴到您的
.env文件中
- 启动服务器:
npm run dev
💻 使用示例
与 Cursor IDE 使用
- 打开 Cursor 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 /health | 健康检查端点,用于验证服务器状态 |
| GET /api/github/repos | 列出对经过身份验证的用户可用的所有仓库 |
| POST /api/github/repos | 创建新的仓库,请求正文需包含 name、description、private 和 auto_init 等参数 |
错误处理
- 400 错误:当请求参数无效或缺失时返回。
- 401 未授权:当提供的令牌无效或不存在时返回。
- 500 内部服务器错误:当服务器在处理请求时遇到意外错误时返回。
安全功能
- 基于令牌的身份验证:所有 API 请求都需要有效的个人访问令牌。
- 速率限制:防止滥用和过度使用 API。
开发信息
- 启动开发模式:
npm run dev
- 测试服务器:
npm test
日志记录
- 信息日志:
info.log - 错误日志:
error.log
贡献指南
- 提交问题和建议到 GitHub 仓库。
- 创建分支进行功能开发。
- 提交拉取请求以合并更改。
📄 许可证
[此处插入许可证文本,例如 MIT 许可证]
此文档为您提供了如何设置和使用 GitHub MCP 服务器的详细指南。如需进一步帮助,请参考我们的 GitHub 页面 或联系支持团队。
微信扫一扫