使用说明
项目简介
本项目是一个基于 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 错误进行了详细处理,并返回清晰的错误信息。
安装步骤
- 安装 Docker: 确保你的机器上已经安装了 Docker 环境。如果未安装,请根据你的操作系统查阅 Docker 官方文档进行安装。
- 拉取代码: 从 GitHub 克隆此仓库到本地:
git clone https://github.com/tgrall/mcp-github-actions-versions.git cd mcp-github-actions-versions - 构建 Docker 镜像: 在仓库根目录下,执行 Docker 构建命令:
这将会构建一个名为 'tgrall/mcp-github-actions-versions' 的 Docker 镜像。docker build -t tgrall/mcp-github-actions-versions .
服务器配置
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' 权限才能访问公开仓库的信息。
基本使用方法
- 启动 MCP 客户端: 配置好上述服务器信息后,启动你的 MCP 客户端应用。
- 调用工具: 客户端可以通过 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 仓库。
- 'get_action_versions': 获取指定 GitHub Action 的所有版本。
- 获取版本信息: 服务器会将查询到的 GitHub Actions 版本信息以 JSON 格式返回给客户端。客户端可以解析 JSON 数据并提取所需的版本信息,用于自动化更新 GitHub Workflow 文件或其他用途。
信息
分类
开发者工具