GitHub Notes Server 使用说明

项目简介

GitHub Notes Server 是一个基于 Model Context Protocol (MCP) 的服务器示例,它演示了如何使用 MCP 协议来扩展 LLM 的功能。该服务器提供了一个工具,允许 LLM 客户端在指定的 GitHub 仓库中创建 issue。

请注意: 该示例代码侧重于展示 MCP 工具功能,资源 (Resources) 和 Prompt 模板 (Prompts) 在代码中并未实现,虽然在 README 中有所提及。

主要功能点

  • 创建 GitHub Issue 工具 (create_issue): 允许 LLM 客户端通过调用 'create_issue' 工具在指定的 GitHub 仓库中创建新的 issue。该工具接受仓库所有者、仓库名、issue 标题、内容、标签和指派人作为参数。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/HeatherFlux/github-issue-mcp-server.git
    cd github-issue-mcp-server
  2. 安装依赖:
    npm install
  3. 构建项目:
    npm run build
  4. 配置环境变量:
    • 在项目根目录下创建 '.env' 文件。
    • 在 '.env' 文件中添加 GitHub Personal Access Token。你需要创建一个具有 'repo' 权限的 Personal Access Token 并替换 'YOUR_GITHUB_TOKEN'。
      GITHUB_TOKEN=YOUR_GITHUB_TOKEN

服务器配置

要将 GitHub Notes Server 集成到 MCP 客户端(例如 Claude Desktop),你需要配置 MCP 服务器信息。以下是配置示例,你需要根据你的实际路径进行调整。

配置示例 (claude_desktop_config.json):

{
  "mcpServers": {
    "github-server": {
      "command": "/path/to/github-issue-mcp-server/build/index.js"
      // "command" 字段指定 github-server MCP 服务器启动命令的绝对路径。
      // 请将 "/path/to/github-issue-mcp-server" 替换为你实际的项目路径。
    }
  }
}

Claude Desktop 配置文件路径:

  • MacOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
  • Windows: '%APPDATA%/Claude/claude_desktop_config.json'

基本使用方法

  1. 启动服务器: 在项目根目录下运行以下命令启动 GitHub Notes Server:

    npm run start

    服务器将在 stdio 上运行并等待 MCP 客户端的连接。

  2. 配置 MCP 客户端: 根据 MCP 客户端的文档,配置连接到名为 "github-server" 的 MCP 服务器。客户端将通过 stdio 与服务器通信。

  3. 使用 'create_issue' 工具: 在 MCP 客户端中,你可以调用 'create_issue' 工具来创建 GitHub issue。你需要提供以下参数:

    • 'owner': GitHub 仓库的所有者 (用户名或组织名)
    • 'repo': GitHub 仓库名
    • 'title': issue 的标题
    • 'body' (可选): issue 的内容描述
    • 'labels' (可选): issue 的标签,字符串数组
    • 'assignees' (可选): issue 的指派人,GitHub 用户名数组

    MCP 客户端会将工具调用请求发送到 GitHub Notes Server,服务器会调用 GitHub API 创建 issue,并将包含 issue 编号和 URL 的 JSON 响应返回给客户端。

调试

可以使用 MCP Inspector 工具进行调试,运行命令 'npm run inspector' 启动 Inspector,并通过浏览器访问提供的 URL 进行调试。

信息

分类

开发者工具