使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 构建的服务器,专注于提供 GitHub Actions 仓库的版本信息查询功能。它允许 MCP 客户端通过标准协议请求,获取指定 GitHub Actions 的版本列表或最新版本,从而帮助用户自动化管理和更新 GitHub Workflow 中使用的 Actions 版本。

主要功能点

  • 查询 Actions 版本列表: 可以列出指定 GitHub Action 仓库的所有 Release 版本信息。
  • 查询最新 Actions 版本: 可以获取指定 GitHub Action 仓库的最新 Release 版本信息。
  • MCP 协议支持: 完全实现了 MCP 协议,可以通过 JSON-RPC 协议与 MCP 客户端进行通信。
  • 易于部署: 通过 Docker 镜像进行分发和部署,配置简单快捷。
  • 错误处理: 对 GitHub API 错误进行了详细处理,并返回清晰的错误信息。

安装步骤

  1. 安装 Docker: 确保你的机器上已经安装了 Docker 环境。如果未安装,请根据你的操作系统查阅 Docker 官方文档进行安装。
  2. 拉取代码: 从 GitHub 克隆此仓库到本地:
    git clone https://github.com/tgrall/mcp-github-actions-versions.git
    cd mcp-github-actions-versions
  3. 构建 Docker 镜像: 在仓库根目录下,执行 Docker 构建命令:
    docker build -t tgrall/mcp-github-actions-versions .
    这将会构建一个名为 'tgrall/mcp-github-actions-versions' 的 Docker 镜像。

服务器配置

MCP 客户端需要配置以下 JSON 格式的信息来连接和使用此 MCP 服务器。请根据你的实际情况修改 '<YOUR_ACCESS_TOKEN>' 为你的 GitHub Personal Access Token。

{
  "mcpServers": {
    "github-actions-version": { // 服务器名称,客户端配置中serverName需要与之对应
      "command": "docker",      // 启动服务器的命令,这里使用 docker
      "args": [                 // 启动命令的参数列表
        "run",                  // docker run 命令
        "-i",                   // 保持STDIN开放,即使未连接
        "--rm",                  // 容器退出后自动删除
        "-e",                   // 设置环境变量
        "GITHUB_PERSONAL_ACCESS_TOKEN", // 环境变量名称,用于传递 GitHub Token
        "tgrall/mcp-github-actions-versions" // Docker 镜像名称
      ],
      "env": {                   // 环境变量配置
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_ACCESS_TOKEN>" // GitHub Personal Access Token,用于 GitHub API 鉴权,**请替换为你的 Token**
      }
    }
  }
}

注意:

  • 'GITHUB_PERSONAL_ACCESS_TOKEN' 环境变量用于 GitHub API 的身份验证。你需要创建一个 GitHub Personal Access Token 并替换 '<YOUR_ACCESS_TOKEN>'。Token 至少需要 'public_repo' 权限才能访问公开仓库的信息。

基本使用方法

  1. 启动 MCP 客户端: 配置好上述服务器信息后,启动你的 MCP 客户端应用。
  2. 调用工具: 客户端可以通过 MCP 协议调用以下工具:
    • 'get_action_versions': 获取指定 GitHub Action 的所有版本。
      • 参数: 需要提供 'owner' 和 'repository' 两个参数来指定 GitHub Action 仓库。 例如,要查询 'actions/checkout' 这个 Action,可以设置 'owner: actions, repository: checkout' 或者直接设置 'owner: actions/checkout'。
    • 'get_latest_action_version': 获取指定 GitHub Action 的最新版本。
      • 参数: 参数与 'get_action_versions' 工具相同,也需要 'owner' 和 'repository' 参数来指定 GitHub Action 仓库。
  3. 获取版本信息: 服务器会将查询到的 GitHub Actions 版本信息以 JSON 格式返回给客户端。客户端可以解析 JSON 数据并提取所需的版本信息,用于自动化更新 GitHub Workflow 文件或其他用途。

信息

分类

开发者工具