使用说明

项目简介

本项目 'GitHub MCP Server' 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在弥合大型语言模型 (LLM) 与 GitHub API 之间的鸿沟。它允许兼容 MCP 协议的 LLM,如 Claude,通过标准化的方式安全、可扩展地访问 GitHub 的数据和功能。

主要功能点

  • 工具 (Tools): 提供与 GitHub API 交互的实用工具,目前支持以下功能:
    • 'create-issue': 在指定的 GitHub 仓库中创建新的 issue。
    • 'get-repo-info': 获取指定 GitHub 仓库的详细信息。
    • 'list-issues': 列出指定 GitHub 仓库中的 issue。
    • 'search-repos': 根据关键词搜索 GitHub 仓库。
  • Prompt 模板 (Prompts): 内置多种 Prompt 模板,优化 LLM 与 GitHub API 交互的体验,包括:
    • 'create-issue-description': 生成 GitHub issue 的详细描述。
    • 'create-pull-request-description': 生成 GitHub pull request 的详细描述。
    • 'search-repos-prompt': 生成用于搜索 GitHub 仓库的查询语句。
    • 'create-issue-prompt': 生成创建 GitHub issue 所需的参数。
    • 'enhance-github-response': 格式化和增强 GitHub API 返回的原始 JSON 数据,使其更易读。

安装步骤

  1. 克隆仓库

    git clone https://github.com/alsonwangkhem/github-mcp-2.git
    cd github-mcp-2
  2. 安装依赖

    npm install
  3. 配置环境变量

    • 复制 '.env.example' 文件并重命名为 '.env'。
    • 在 '.env' 文件中,填入你的 GitHub Personal Access Token (用于 API 鉴权):
      GITHUB_TOKEN=your-github-personal-access-token
      请务必替换 'your-github-personal-access-token' 为你自己的 GitHub Personal Access Token。 你需要在 GitHub 上生成具有 'repo' 权限的 Personal Access Token。
  4. 构建项目

    npx tsc
  5. 运行服务器

    node build/index.js

    服务器成功启动后,你将在控制台看到 'connected...' 的信息。

服务器配置 (Claude Desktop 客户端配置示例)

要将此 MCP 服务器配置到 MCP 客户端(例如 Claude Desktop),你需要编辑客户端的配置文件。以 Claude Desktop 为例,你需要修改 'claude_desktop_config.json' 文件,添加如下 'mcpServers' 配置:

{
  "mcpServers": {
    "gh": {
      "command": "node",
      "args": ["absolute\\path\\to\\your\\github-mcp-2\\build\\index.js"],
      "env": {
        "GITHUB_TOKEN": "your-github-personal-access-token"
      }
    }
  }
}

配置参数说明:

  • '"gh"': 服务器名称,可以自定义,用于在客户端中标识和选择该 MCP 服务器。
  • '"command": "node"': 启动服务器的命令,这里使用 Node.js 运行时环境。
  • '"args": ["absolute\path\to\your\github-mcp-2\build\index.js"]': 启动命令的参数,指向编译后的服务器入口文件 'build/index.js' 的绝对路径请务必将 'absolute\path\to\your\github-mcp-2' 替换为你本地仓库的实际绝对路径。
  • '"env": { "GITHUB_TOKEN": "your-github-personal-access-token" }': 环境变量配置,将 GitHub Personal Access Token 以 'GITHUB_TOKEN' 环境变量传递给服务器。请务必将 'your-github-personal-access-token' 替换为你自己的 GitHub Personal Access Token,与你在 '.env' 文件中配置的保持一致。

配置完成后,重启 Claude Desktop 客户端,即可在集成选项中看到名为 "gh" 的集成,选择后即可使用 GitHub MCP Server 提供的工具和 Prompt。

基本使用方法

配置完成后,在 MCP 客户端中选择 "gh" 集成,即可:

  1. 使用 Prompt: 在客户端的 Prompt 选择框中,选择预设的 Prompt 模板,例如 "create-issue-description",并根据提示填写相应的参数,即可让 LLM 辅助生成 issue 描述等内容。
  2. 调用 Tool: 在客户端中,可以通过自然语言指令指示 LLM 调用 GitHub 工具,例如,你可以对 Claude 说 "搜索关于 Kubernetes 的 GitHub 仓库", Claude 可能会调用 'search-repos' 工具并返回搜索结果。

具体使用方式取决于 MCP 客户端的功能和界面,请参考你使用的 MCP 客户端的文档。

信息

分类

开发者工具