gh-mcp-server (GitHub AI上下文服务器)
启用 AI 模型将 GitHub 仓库内容作为上下文进行访问,具有获取整个仓库、特定文件内容和仓库结构以用于 AI 交互的功能。
服务介绍
GitHub 仓库 MCP 服务器
此模型上下文协议 (MCP) 服务器允许 AI 模型访问 GitHub 仓库内容作为上下文。它提供了获取文件内容、仓库结构和整个仓库的工具,以便在 AI 交互中用作上下文。
功能
- 获取整个仓库的内容作为上下文
- 从仓库中获取特定文件的内容
- 获取仓库结构(文件列表)
- 按扩展名过滤文件
- 排除特定路径
- 限制返回的文件数量
安装
# clone the repository
git clone https://github.com/shanksxz/github-mcp.git
cd github-mcp
# install dependencies
npm install
# build the project
npm run build
使用方法
设置 GitHub 身份验证
虽然该服务器可以在不进行身份验证的情况下与公共仓库一起工作,但 GitHub API 对未经身份验证的请求有严格的速率限制(每小时60次请求)。要将此限制提高到每小时5000次请求,请设置 GITHUB_TOKEN 环境变量:
# create a file called gh.sh and add the following line:
export GITHUB_TOKEN=your_github_personal_access_token
# make the file executable
chmod +x gh.sh
# run the file
./gh.sh
您可以在 GitHub 开发者设置 中创建个人访问令牌。
与 Cursor 配合使用
要将此服务器与 Cursor 一起使用,请按照以下步骤操作:
- 打开 Cursor 设置
- 搜索 "MCP"
- 单击 "添加新的 MCP 服务器"
- 输入以下信息:
- 名称: github-repo-context(或任何你喜欢的名字)
- 类型: 命令
- 命令: /path/to/your-local-repo-setup/gh.sh
- 单击 "保存"
- 通过单击服务器名称旁边的开关来启用服务器
- 您现在应该能够在项目中使用该服务器了
服务器通过遵循 MCP 协议的标准输入/输出进行通信。
可用工具
服务器提供以下工具:
-
get-repo-context: 从 GitHub 仓库获取所有文件以用作上下文
- 参数:
owner: GitHub 仓库的所有者/组织名称repo: GitHub 仓库名称maxFiles(可选): 包含的最大文件数(默认值:50)fileExtensions(可选): 要包含的文件扩展名(例如,['js', 'ts', 'md'])excludePaths(可选): 要排除的路径(默认值:['node_modules', 'dist', 'build'])
- 参数:
-
get-file-content: 从 GitHub 仓库中获取特定文件的内容
- 参数:
owner: GitHub 仓库的所有者/组织名称repo: GitHub 仓库名称path: 仓库中的文件路径
- 参数:
-
get-repo-structure: 获取 GitHub 仓库的结构
- 参数:
owner: GitHub 仓库的所有者/组织名称repo: GitHub 仓库名称
- 参数:
示例
当与支持 MCP 的 AI 模型集成时,您可以使用如下命令:
Get the structure of the repository tensorflow/tensorflow
然后,AI 将使用 get-repo-structure 工具来获取并显示仓库结构。