关于 GitHub Repo MCP
GitHub Repo MCP 是一个开源 MCP 服务,可让 AI 助手浏览 GitHub 公开仓库、查看目录结构并读取文件内容。它面向需要快速查阅仓库代码的用户,通过 npm 包即可安装使用。
主要功能
- 01浏览公开 GitHub 仓库的内容
- 02逐级导航仓库目录和子目录
- 03查看代码和文本文件的内容
- 04通过 npx 或 Smithery 安装
- 05可选配置 GitHub 令牌以提高速率限制
适用场景
- 01让 AI 助手查看某个开源项目的目录结构
- 02在对话中读取仓库中指定文件的内容
- 03在 Cursor、Windsurf 或 Claude Desktop 中查阅第三方代码
MCP 相关
该项目是一个 MCP 服务,通过 stdio 协议与 Cursor、Windsurf、Claude Desktop 等 MCP 客户端连接,向其暴露仓库浏览和文件读取工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| repoUrl | string | 是 | Github 仓库的 URL |
详细介绍
GitHub Repo MCP
GitHub Repo MCP 是一款开源 MCP 服务,可让 AI 助手浏览 GitHub 仓库、探索目录并查看文件内容。
目录
✨ 主要功能
- 💻 兼容 Cursor、Windsurf、Claude Desktop 以及其他支持
stdio协议的 MCP 客户端 - 🔎 浏览任何公开 GitHub 仓库的内容
- 📂 浏览仓库目录和子目录
- 📝 查看代码和文本文件的内容
- 📦 通过包管理器轻松安装
快速入门
先决条件
在系统上安装此服务需要:
- Node.js 18+
- npm 或 yarn
第 1 步:安装
你可以使用 Smithery、NPX,或在 IDE 的 mcp.json 中进行设置,来安装并运行 GitHub Repo MCP:
MacOS
npx github-repo-mcp
Windows NPX
cmd /c npx -y github-repo-mcp
通过 .cursor/mcp.json 使用 Windows NPX
{
"mcpServers": {
"github-repo-mcp": {
"command": "wsl",
"args": [
"bash",
"-c",
"cmd /c npx -y github-repo-mcp"
],
"enabled": true
}
}
}
通过 .cursor/mcp.json 使用 Windows NPX(未设置路径时)
# Find the full path to npx first
which npx
{
"mcpServers": {
"github-repo-mcp": {
"command": "wsl",
"args": [
"bash",
"-c",
"'/home/[username]/.nvm/versions/node/v20.18.0/bin/npx github-repo-mcp'"
],
"enabled": true
}
}
}
通过 Smithery 安装
要通过 Smithery 自动为 Claude Desktop 安装 GitHub Repo MCP:
npx -y @smithery/cli install @Ryan0204/github-repo-mcp --client claude
如果未显示注册,请等待几秒钟或多次点击刷新按钮。如果仍未注册,请确认输入的命令正确。
第 2 步:配置
GitHub Repo MCP 服务可以使用 GitHub 令牌,在访问 GitHub API 时获得更高的速率限制。
环境变量
| 变量 | 必填 | 默认值 | 说明 |
|---|---|---|---|
GITHUB_TOKEN | 否 | 无 | 用于提高速率限制的 GitHub 个人访问令牌 |
设置 GitHub 令牌(可选)
此服务无需身份验证即可运行,但 GitHub API 对未经身份验证的请求设置的速率限制要低得多。要提高速率限制:
- 在 https://github.com/settings/tokens 创建个人访问令牌
- 在 mcp.json 中将令牌设为环境变量:
{
"mcpServers": {
"github-repo-mcp": {
"command": "...",
"args": [
...
],
"env": {
"GITHUB_TOKEN": "Your_Github_Token"
}
"enabled": true,
}
}
}
功能概览
仓库浏览工具
此服务提供三个主要工具,用于与 GitHub 仓库交互:
1. getRepoAllDirectories
列出 GitHub 仓库根目录中的所有文件和目录。
- 参数:
repoUrl:GitHub 仓库的 URL(例如,“https://github.com/owner/repo”)
2. getRepoDirectories
列出 GitHub 仓库中特定目录的内容。
- 参数:
repoUrl:GitHub 仓库的 URLpath:要获取的目录路径(例如,“src”)
3. getRepoFile
获取并显示 GitHub 仓库中特定文件的内容。
- 参数:
repoUrl:GitHub 仓库的 URLpath:要获取的文件路径(例如,“src/index.js”)
使用示例
以下是使用 AI 助手调用这些工具的一些示例:
-
浏览仓库根目录: 请 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 文件”。
限制
- 速率限制:未进行身份验证时,GitHub API 有严格的速率限制(每小时 60 次请求)
- 私有仓库:除非提供具有相应权限的令牌,否则只能访问公开仓库
- 二进制文件:服务会检测常见的二进制文件扩展名,不会显示其内容
- 大文件:GitHub API 对可检索文件的大小有限制
故障排除
以下是一些常见问题及其解决方案:
- 超出速率限制:按照“配置”部分所述设置 GitHub 令牌
- 找不到命令:确保已全局安装该软件包
- 连接错误:检查网络连接和 GitHub API 状态
如果遇到任何问题,请检查输出中的错误消息,或在 GitHub 仓库中创建问题。
尽情使用!☺️
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。