GitHub集成服务

一个基于Rust实现的GitHub集成服务,为AI助手提供GitHub API认证、仓库操作、问题管理和拉取请求等功能。

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

使用说明

GitHub MCP服务器

Rust中的模型上下文协议(MCP)服务器实现,为AI助手提供GitHub集成功能。

特性

  • 使用个人访问令牌的GitHub API身份验证
  • 存储库操作(列表、搜索、文件访问)
  • 问题管理(创建、更新、列表)
  • 拉取请求操作
  • 全面的错误处理和速率限制
  • 可通过环境变量进行配置

安装

先决条件

  • 锈1.70或更高版本
  • GitHub个人访问令牌

从源头构建

git clone https://github.com/mg3994/github-mcp-server.git
cd github-mcp-server
cargo build --release

配置

可以使用环境变量配置服务器:

变量 默认值 描述
GITHUB_API_URL https://api.github.com GitHub API基础URL
REQUEST_TIMEOUT 30 请求超时(秒)
LOG_LEVEL info 日志记录级别(跟踪、调试、信息、警告、错误)
MAX_RETRIES 3 失败请求的最大重试次数
RATE_LIMIT_BUFFER 10 速率限制缓冲百分比

用法

运行服务器

# Using default configuration
./target/release/github-mcp-server

# With custom log level
./target/release/github-mcp-server --log-level debug

MCP工具

服务器提供以下MCP工具:

github_auth

使用个人访问令牌在GitHub上进行身份验证。

参数:

  • token (string):GitHub个人访问令牌

例子:

{
  "name": "github_auth",
  "arguments": {
    "token": "ghp_your_token_here"
  }
}

在实施过程中,将记录更多的工具。

发展

运行测试

cargo test

使用调试日志运行

RUST_LOG=debug cargo run

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 添加新功能的测试
  5. 提交拉取请求

安全

  • GitHub令牌仅存储在内存中,从不持久化到磁盘
  • 所有GitHub API请求都使用HTTPS
  • 对所有工具参数进行输入验证