项目简介

Tiger GitHub MCP 服务器是一个将GitHub API封装成MCP服务端的应用。它允许LLM通过标准化的JSON-RPC协议与GitHub进行交互,获取用户信息、拉取请求、提交记录等上下文信息,并调用相关功能。

主要功能点

  • 获取组织用户: 检索配置的GitHub组织中的所有成员信息。
  • 查询用户最近的拉取请求: 根据指定用户和日期范围,获取其在配置组织中的拉取请求,可选包含所有提交记录。
  • 查询指定拉取请求: 根据URL或拉取请求号和仓库名,获取详细的拉取请求信息,可选包含评论和提交记录。
  • 查询用户最近的提交: 根据指定用户和日期范围,获取其在配置组织中的提交记录。

安装步骤

  1. 克隆仓库:

    git clone --recurse-submodules [email protected]:timescale/tiger-gh-mcp-server.git
    cd tiger-gh-mcp-server

    如果您没有使用 '--recurse-submodules',请运行 'git submodule update --init --recursive'。

  2. 安装依赖:

    npm i
  3. 获取GitHub Token: 您需要一个具有 'repo', 'read:org', 'read:user', 'user:email' 范围的GitHub个人访问令牌。可以直接访问 创建GitHub令牌 创建。

  4. 配置环境变量: 复制 '.env.sample' 文件并命名为 '.env':

    cp .env.sample .env

    编辑 '.env' 文件,更新 'GITHUB_TOKEN' 为您获取的令牌,并设置 'GITHUB_ORG' 为您希望服务器访问的GitHub组织名称。

服务器配置

MCP客户端需要配置服务器的启动命令和参数才能与其建立连接。以下是基于STDIO传输协议的MCP服务器配置示例(请将'/absolute/path/to/tiger-gh-mcp-server'替换为您的项目实际路径,并将'ghp_whatever'替换为您的GitHub令牌):

{
  "mcpServers": {
    "tiger-gh": {
      "command": "node",
      "args": ["/absolute/path/to/tiger-gh-mcp-server/dist/index.js", "stdio"],
      "env": {
        "GITHUB_TOKEN": "ghp_whatever",
        "GITHUB_ORG": "timescale"
      },
      "name": "tiger-gh",
      "version": "1.0.0"
    }
  }
}

配置说明:

  • 'tiger-gh': MCP服务器的唯一标识符。
  • 'command': 启动MCP服务器的可执行文件命令,这里是 'node'。
  • 'args': 传递给 'command' 的参数列表。'/absolute/path/to/tiger-gh-mcp-server/dist/index.js' 是服务器的入口脚本路径,'stdio' 指定使用标准I/O作为传输协议。
  • 'env': 启动服务器时所需的环境变量。
    • 'GITHUB_TOKEN': 您的GitHub个人访问令牌。
    • 'GITHUB_ORG': 服务器将查询的GitHub组织名称。
  • 'name': 服务器的名称,此服务器定义为 "tiger-gh"。
  • 'version': 服务器的版本,此服务器定义为 "1.0.0"。

基本使用方法

配置完成后,您的MCP客户端(如Claude Desktop或Model Context Inspector)将能够通过上述配置连接到此服务器。一旦连接,LLM将可以调用服务器提供的工具,例如:

  • 获取用户列表: 调用 'getUsers' 工具。
  • 查询某个用户的拉取请求: 调用 'getRecentPRsInvolvingUser' 工具,并提供 'username' 和可选的 'since' 参数。
  • 获取特定拉取请求的详情: 调用 'getPullRequest' 工具,并提供 'url' 或 'pullNumber' 和 'repository' 参数,可选包含 'includeCommits' 和 'includeComments'。

具体工具的调用方式取决于您使用的MCP客户端的交互界面。

信息

分类

开发者工具