使用说明

项目简介

本项目是一个 MCP 服务器,旨在将 GitHub 的常用功能封装成一系列易于 LLM (大型语言模型) 客户端调用的工具。通过此服务器,LLM 可以安全、便捷地访问和操作 GitHub 上的 Issues、Pull Requests 和 Actions 等资源,实现诸如自动化问题跟踪、代码审查辅助和工作流管理等应用场景。

主要功能点

  • Issue 管理工具:
    • 获取 Issue 详情
    • 创建 Issue 评论
    • 更新 Issue 信息
    • 列出仓库 Issue
  • Pull Request 管理工具:
    • 获取 Pull Request 详情
    • 创建 Pull Request 评论
    • 更新 Pull Request 信息
    • 列出仓库 Pull Request
  • Actions 工作流管理工具:
    • 列出工作流运行记录
    • 获取工作流运行详情
    • 获取工作流运行使用情况
    • 取消工作流运行
    • 重试工作流运行
  • 基于 MCP 协议: 采用标准的 Model Context Protocol (MCP) 构建,易于与各种 MCP 客户端集成。
  • SSE 通信: 使用 Server-Sent Events (SSE) 实现与客户端的实时通信。
  • Express.js 框架: 基于 Node.js 和 Express.js 框架开发,易于部署和扩展。

安装步骤

  1. 克隆仓库
    git clone https://github.com/mattpocock/mcp-server-from-prompts.git
  2. 进入项目目录
    cd mcp-server-from-prompts
  3. 安装依赖
    npm install
  4. 配置环境变量
    • 在项目根目录下创建 '.env' 文件。
    • 添加 GitHub 访问令牌 (Personal Access Token):
      GITHUB_TOKEN=YOUR_GITHUB_PERSONAL_ACCESS_TOKEN
      请确保你的 GitHub Token 具备访问仓库的相应权限。

服务器配置

以下 JSON 配置信息供 MCP 客户端参考,用于连接此 MCP 服务器:

{
  "serverName": "GitHub MCP Server",
  "command": "node",
  "args": ["app/dist/main.js"],
  "transport": "sse",
  "messageEndpoint": "/messages",
  "sseEndpoint": "/sse"
}
// MCP 客户端配置参数说明:
// serverName:  服务器名称,可自定义,用于标识该服务器。
// command:     启动服务器的命令,这里使用 Node.js 运行 JavaScript 文件。
// args:        命令参数,指向编译后的服务器主入口文件 (app/dist/main.js)。
// transport:   通信协议,使用 SSE (Server-Sent Events) 协议。
// messageEndpoint:  接收 JSON-RPC 消息的 HTTP POST 接口地址。
// sseEndpoint:    建立 SSE 连接的 HTTP GET 接口地址。

基本使用方法

  1. 启动服务器
    npm run dev
    或先执行 'npm run build' 构建,再执行 'npm run start' 启动生产环境服务器。
  2. 配置 MCP 客户端
    • 在 MCP 客户端中,根据 “服务器配置” 提供的 JSON 信息配置连接到 GitHub MCP Server。
  3. 调用 MCP 工具
    • 通过 MCP 客户端,可以向服务器发送符合 MCP 协议的 JSON-RPC 请求,调用已注册的 GitHub 工具。
    • 例如,调用 'getIssue' 工具获取 Issue 详情,调用 'createIssueComment' 工具创建 Issue 评论等。
    • 具体可用的工具名称、参数和返回值请参考项目代码中 'app/src/github/tools' 目录下的文件。

信息

分类

开发者工具