mcpField
G
GitHub MCP Server for Cursor IDE

GitHub MCP Server for Cursor IDE

本地服务
github.com/alfie-tek开发工具184 周前更新

关于 GitHub MCP Server for Cursor IDE

这是面向 Cursor IDE 的 GitHub MCP 服务,可通过 GitHub API 查看和创建仓库。它使用个人访问令牌认证,并包含速率限制防护和输入校验。

主要功能

  1. 01列出可访问的 GitHub 仓库
  2. 02创建 GitHub 仓库
  3. 03令牌认证与输入校验
  4. 04速率限制防护
  5. 05日志记录与错误处理

适用场景

  1. 01在 Cursor IDE 中查看仓库
  2. 02通过 API 创建 GitHub 仓库
  3. 03排查令牌或 API 错误

MCP 相关

该服务面向 Cursor IDE 提供 GitHub MCP 集成,封装仓库列表和创建接口。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

面向 Cursor IDE 的 GitHub MCP 服务

一个功能强大的 GitHub 集成服务,可让你直接在 Cursor IDE 中管理 GitHub 仓库。此服务提供 RESTful API 来与 GitHub 的 API 交互,让创建和管理仓库变得更加轻松。

功能

  • 创建新的 GitHub 仓库
  • 列出现有仓库
  • 基于令牌的安全身份验证
  • 速率限制保护
  • 全面的错误处理
  • 详细的日志记录
  • Webhook 支持(即将推出)

前提条件

  • Node.js(v14 或更高版本)
  • npm(v6 或更高版本)
  • 拥有个人访问令牌的 GitHub 帐户
  • Cursor IDE

设置

  1. 克隆此仓库:
git clone <your-repo-url>
cd github-mcp-server
  1. 安装依赖项:
npm install
  1. 在根目录中创建一个 .env 文件:
cp .env.example .env
  1. 在 .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
  1. 生成 GitHub 个人访问令牌:

    • 前往 GitHub.com → Settings → Developer Settings → Personal Access Tokens → Tokens (classic)
    • 点击 "Generate new token" → "Generate new token (classic)"
    • 为令牌设置一个描述性名称(例如:"MCP Server Integration")
    • 选择以下权限:
      • repo(完全控制私有仓库)
      • read:org(读取组织数据)
      • admin:repo_hook(完全控制仓库钩子)
    • 复制生成的令牌并将其粘贴到 .env 文件中
  2. 启动服务:

npm run dev

在 Cursor IDE 中使用

  1. 打开 Cursor IDE
  2. MCP 服务默认运行在 http://localhost:3000
  3. 你可以使用以下端点:
创建新仓库
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": "repository-name",
  "description": "Repository description",
  "private": false,
  "auto_init": true
}

错误处理

服务包含全面的错误处理,可应对:

  • 无效的 GitHub 令牌
  • 速率限制
  • 验证错误
  • GitHub API 错误
  • 服务错误

所有错误都会记录日志,并以适当的 HTTP 状态代码返回。

安全功能

  • 基于令牌的身份验证
  • 速率限制保护
  • 输入验证
  • 安全的环境变量处理
  • CORS 保护
  • Helmet 安全标头

开发

如需在开发模式下运行服务并启用自动重新加载:

npm run dev

运行测试:

npm test

日志记录

日志存储于:

  • error.log:错误级别的日志
  • combined.log:所有日志

参与贡献

  1. Fork 此仓库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交更改(git commit -m 'Add some amazing feature')
  4. 将分支推送到远程仓库(git push origin feature/amazing-feature)
  5. 创建 Pull Request

许可证

本项目采用 MIT License 授权,详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。