GitHub模型上下文协议服务器

一个为GitHub和Git操作实现的模型上下文协议服务器,支持GitHub API集成、本地Git操作和多种传输层协议。

  • by cyrup-ai
  • Rust
  • 本地部署
  • 更新于
在 GitHub 查看 cyrup-ai/github-mcp-server

使用说明

GitHub MCP 服务器(Rust 实现)

一个用于GitHub和Git操作的模型上下文协议(MCP)服务器实现,采用Rust语言编写。

特点/特性

  • 完整的GitHub API集成 通过Octocrab(一种假设的或特定的渠道/方式,具体含义需根据上下文确定,此处直译为“通过Octocrab”)
  • 本地Git操作 通过 Gitoxide/gix
  • 多传输层stdio(用于Claude Desktop)和SSE(用于远程连接)
  • 可配置的工具集启用/禁用特定功能组
  • 只读模式限制为非破坏性操作
  • GitHub 企业版支持服务与GitHub Enterprise Server和ghe.com兼容工作
  • 动态工具集发现工具可以按需发现并启用

建筑

先决条件

构建说明

# Clone the repository
git clone https://github.com/yourusername/github-mcp-server-rs
cd github-mcp-server-rs

# Build the project
cargo build --release

# The binary will be at: target/release/github-mcp-server-rs

配置

环境变量

  • GITHUB_PERSONAL_ACCESS_TOKEN - 您的GitHub个人访问令牌(PAT)(必填)
  • GITHUB_HOST - GitHub Enterprise Server 的主机名(可选,默认为 github.com)
  • GITHUB_TOOLSETS - 以逗号分隔的工具集列表,用于启用
  • GITHUB_DYNAMIC_TOOLSETS - 启用动态工具集发现(0 或 1)
  • GITHUB_READ_ONLY - 启用只读模式(0 或 1)

工具集

可用的工具集:

  • repos - 仓库操作(文件、分支、提交)
  • issues - 问题管理
  • pull_requests - 拉取请求操作
  • users - 用户信息
  • code_security - 安全扫描功能
  • experiments - 实验性功能

使用方法

使用标准I/O运行(适用于Claude桌面版)

# Basic usage
./target/release/github-mcp-server-rs

# With specific toolsets
./target/release/github-mcp-server-rs --toolsets repos,issues,pull_requests

# Read-only mode
./target/release/github-mcp-server-rs --read-only

# All toolsets enabled
./target/release/github-mcp-server-rs --all

使用SSE传输运行

# Start SSE server on port 3000
./target/release/github-mcp-server-rs --transport sse --port 3000

Claude桌面集成

添加到您的Claude桌面配置中(claude_desktop_config.json):

{
  "mcpServers": {
    "github": {
      "command": "/path/to/github-mcp-server-rs",
      "args": ["--toolsets", "repos,issues,pull_requests"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "your-token-here"
      }
    }
  }
}

开发状态

这台服务器正在积极开发中。当前实现状态:

已实施

  • [x] 核心MCP服务器基础设施
  • [x] 传输层(stdio 和 SSE)
  • [x] 配置和工具集管理
  • [x] 错误处理框架
  • [x] 基本用户工具(获取自己信息,搜索用户)

进行中

  • [ ] 仓库工具实现
  • [ ] 问题管理工具
  • [ ] 拉取请求工具
  • [ ] 代码安全工具
  • [ ] 资源处理器
  • [ ] 提示模板

全部(待办事项/任务等,根据上下文可具体翻译为“待办事项清单”、“全部任务”等)

  • 完成所有GitHub API工具的实现
  • [ ] 通过 gix 进行本地 Git 操作
  • [ ] OAuth 支持
  • [ ] 综合测试
  • [ ] 文档和示例

做出贡献

欢迎贡献!请参阅 TODO.md 文件,以获取需要实现的任务详细列表。

许可证

MIT 或 Apache-2.0 许可证