README
🚀 GitHub MCP 服务器
GitHub MCP 服务器是一个实现全面 GitHub CLI 集成的 Model Context Protocol (MCP) 服务器。它实现了 GitHub CLI 的所有主要功能,能让 AI 助手与 GitHub 仓库、问题、拉取请求、文件等进行交互,极大提升了 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
# 将二进制文件移动到 PATH 中的目录(可选)
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。
示例代码
以下是如何与 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 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:列出仓库中指定路径下的所有文件
⚠️ 重要提示
- 确保你的 GitHub 令牌安全,不要将其共享给未经信任的第三方。
- 默认情况下,GitHub MCP 服务器会在本地运行,并绑定到
localhost,因此不会暴露在外部网络中。
📄 许可证
此项目受 MIT 许可证 的保护。
🌟 贡献指南
欢迎贡献!请随意提交 Pull Request。
- 叉克仓库
- 创建你的功能分支(
git checkout -b feature/amazing-feature) - 提交你的更改(
git commit -m '添加一些神奇的功能') - 推送到分支(
git push origin feature/amazing-feature) - 打开 Pull Request
🙏 致谢
- 启发自 GitHub CLI
- 使用 Model Context Protocol 规范构建
Scan to join WeChat group