GitHub Repo MCP 是一个开源模型上下文协议(MCP)服务器,旨在让 AI 助手能够浏览 GitHub 仓库、探索目录和查看文件内容。它兼容 Cursor、Windsurf、Claude Desktop 以及其他支持 stdio 协议的 MCP 客户端。
主要能力
该服务器提供三个主要工具:
- 列出仓库根目录:列出 GitHub 仓库根目录下的所有文件和目录。参数为 repoUrl(仓库 URL,例如 "https://github.com/owner/repo")。
- 列出指定目录内容:列出仓库中特定目录的内容。参数为 repoUrl 和 path(目录路径,例如 "src")。
- 获取文件内容:检索并显示仓库中特定文件的内容。参数为 repoUrl 和 path(文件路径,例如 "src/index.js")。
使用方式
安装可通过 Smithery、NPX 或直接在 IDE 的 mcp.json 中配置。例如,通过 Smithery 自动为 Claude Desktop 安装。配置时,可以使用 GitHub 令牌以提高访问 GitHub API 的速率限制。虽然服务器无需认证即可工作,但未认证请求的速率限制较低(每小时 60 次请求)。要增加速率限制,需在 https://github.com/settings/tokens 创建个人访问令牌,并将其设置为 mcp.json 中的环境变量。
使用示例:
- 浏览仓库根目录:让 AI 助手“显示 https://github.com/Ryan0204/github-repo-mcp 仓库的内容”。
- 探索特定目录:询问“https://github.com/Ryan0204/github-repo-mcp 的 src 目录中有哪些文件?”
- 查看文件:询问“显示 https://github.com/Ryan0204/github-repo-mcp 的 README.md 文件”。
适用场景
适用于需要让 AI 助手直接读取和分析 GitHub 仓库内容的开发场景,例如代码审查、项目探索、文档查阅等。
限制
- 速率限制:未认证时 GitHub API 有严格限制(每小时 60 次请求)。
- 私有仓库:除非提供具有适当权限的令牌,否则只能访问公开仓库。
- 二进制文件:服务器会检测常见二进制文件扩展名,不显示其内容。
- 大文件:GitHub API 对可检索文件的大小有限制。
故障排除
常见问题包括:速率限制超出(需设置 GitHub 令牌)、命令未找到(确保包已全局安装)、连接错误(检查网络连接和 GitHub API 状态)。如遇问题,可查看错误输出或在 GitHub 仓库中创建 issue。