GitHub MCP 服务器
一个实现全面 GitHub CLI 集成的 Model Context Protocol (MCP) 服务器。此服务器实现了 GitHub CLI 的所有主要功能,允许 AI 助手与 GitHub 仓库、问题、拉取请求、文件等进行交互。
特性
- 完整的 GitHub CLI 对等性:实现 GitHub CLI 的核心功能
- 安全:仅在你的 GitHub令牌的权限范围内执行操作
- 高效:使用 Go 编写,性能高且资源占用低
- 独立二进制文件:无需运行时依赖
- 多平台支持:适用于 macOS、Linux 和 Windows
安装
下载二进制文件
从 发布页面下载适合你系统的预编译二进制文件。
从源码构建
git clone https://github.com/your-username/github-mcp-server-go.git
cd github-mcp-server-go
go build -o github-mcp-server
sudo mv github-mcp-server /usr/local/bin/
使用方法
GitHub 个人访问令牌
在使用 GitHub MCP 服务器之前,你需要一个具有适当权限的 GitHub 个人访问令牌:
- 访问 GitHub 设置 > 开发者设置 > 个人访问令牌
- 创建一个新的令牌,带有
repo
范围(适用于完整仓库访问)或 public_repo
(仅限公开仓库访问)
- 复制生成的令牌以供 MCP 服务器使用
运行服务器
你可以以两种方式运行 GitHub MCP 服务器:
./github-mcp-server --token your_token_here
export GITHUB_TOKEN=your_token_here
./github-mcp-server
集成到 Claude Desktop
要在 Claude Desktop 中使用 GitHub MCP 服务器,请按照以下步骤操作:
- 打开
~/.config/claude/config.json
文件。
- 在
"modelContextProtocol"
标签下添加或修改以下内容:"githubMcpServer": {
"url": "http://localhost:1337",
"token": "your_github_token_here"
}
- 保存文件并重启 Claude Desktop。
工具支持
GitHub MCP 服务器实现了以下工具:
- GitHub 仓库:
get_repository
:获取仓库信息
list_repositories
:列出用户的所有仓库
create_repository
:创建新仓库
- 问题:
get_issue
:获取特定问题的信息
list_issues
:列出仓库中的所有问题
create_issue
:创建新的问题
- 拉取请求:
get_pull_request
:获取特定拉取请求的信息
list_pull_requests
:列出仓库中的所有拉取请求
create_pull_request
:创建新的拉取请求
- 文件:
get_file
:获取仓库中特定路径的文件内容
list_files
:列出仓库中指定路径下的所有文件
示例
以下是如何与 Claude 一起使用 GitHub MCP 服务器的示例:
claude --mcp-server http://localhost:1337 get_repository microsoft/vscode
claude --mcp-server http://localhost:1337 create_issue microsoft/vscode "新的功能请求" "请添加对 Markdown 的支持。"
安全考量
- 确保你的 GitHub 令牌安全,不要将其共享给未经信任的第三方。
- 默认情况下,GitHub MCP 服务器会在本地运行,并绑定到
localhost
,因此不会暴露在外部网络中。
许可证
此项目受 MIT 许可证 的保护。
贡献指南
欢迎贡献!请随意提交 Pull Request。
- 叉克仓库
- 创建你的功能分支(
git checkout -b feature/amazing-feature
)
- 提交你的更改(
git commit -m '添加一些神奇的功能'
)
- 推送到分支(
git push origin feature/amazing-feature
)
- 打开 Pull Request
致谢