项目简介
Tiger GitHub MCP 服务器是一个将GitHub API封装成MCP服务端的应用。它允许LLM通过标准化的JSON-RPC协议与GitHub进行交互,获取用户信息、拉取请求、提交记录等上下文信息,并调用相关功能。
主要功能点
- 获取组织用户: 检索配置的GitHub组织中的所有成员信息。
- 查询用户最近的拉取请求: 根据指定用户和日期范围,获取其在配置组织中的拉取请求,可选包含所有提交记录。
- 查询指定拉取请求: 根据URL或拉取请求号和仓库名,获取详细的拉取请求信息,可选包含评论和提交记录。
- 查询用户最近的提交: 根据指定用户和日期范围,获取其在配置组织中的提交记录。
安装步骤
-
克隆仓库:
git clone --recurse-submodules [email protected]:timescale/tiger-gh-mcp-server.git cd tiger-gh-mcp-server如果您没有使用 '--recurse-submodules',请运行 'git submodule update --init --recursive'。
-
安装依赖:
npm i -
获取GitHub Token: 您需要一个具有 'repo', 'read:org', 'read:user', 'user:email' 范围的GitHub个人访问令牌。可以直接访问 创建GitHub令牌 创建。
-
配置环境变量: 复制 '.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客户端的交互界面。
信息
分类
开发者工具