GitHub仓库上下文协议服务器

一个允许AI模型访问GitHub仓库内容作为上下文的服务器,提供获取文件内容、仓库结构和整个仓库的功能。

  • by shanksxz
  • JavaScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 shanksxz/gh-mcp-server

使用说明

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一起使用,请执行以下步骤:

  1. 打开光标设置
  2. 搜索“MCP”
  3. 点击“添加新的MCP服务器”
  4. 输入以下信息:
    • 名称:github仓库上下文(或您想要的任何名称)
    • 类型:命令
    • 命令:/path/to/本地仓库设置/gh.sh
  5. 点击“保存”
  6. 通过单击服务器名称旁边的切换来启用服务器
  7. 现在,您应该能够在项目中使用服务器

服务器按照MCP协议通过stdin/stdout进行通信。

可用工具

服务器提供以下工具:

  1. 获取回购上下文:从GitHub存储库获取所有文件用作上下文

    • 参数:
      • owner:GitHub存储库所有者/组织名称
      • repo:GitHub存储库名称
      • maxFiles (可选):要包含的最大文件数(默认值:50)
      • fileExtensions (可选):要包含的文件扩展名(例如['js'、'ts'、'md'])
      • excludePaths (可选):要排除的路径(默认值:['node_modules','dist','build'])
  2. 获取文件内容:从GitHub存储库获取特定文件的内容

    • 参数:
      • owner:GitHub存储库所有者/组织名称
      • repo:GitHub存储库名称
      • path:存储库中文件的路径
  3. 获取回购结构:获取GitHub存储库的结构

    • 参数:
      • owner:GitHub存储库所有者/组织名称
      • repo:GitHub存储库名称

示例

当与支持MCP的AI模型集成时,您可以使用以下命令:

Get the structure of the repository tensorflow/tensorflow

然后,AI将使用 get-repo-structure 用于获取和显示存储库结构的工具。