关于 GitHub Releases MCP Server
GitHub Releases MCP Server 提供工具,用于获取、列出和比较 GitHub 仓库的发行版本。它支持多种版本格式、预发布筛选、分页和可选令牌认证。
主要功能
- 01获取指定发行版本详情
- 02比较两个发行版本
- 03按条件列出发行版本
- 04支持多种版本格式
- 05筛选预发布版本并分页
- 06可选 GitHub 令牌认证
适用场景
- 01查看发行说明和版本详情
- 02比较版本以规划迁移
- 03查找最新版本或跟踪预发布版本
MCP 相关
提供三个 MCP 工具,用于获取 GitHub 仓库的发行详情、比较版本和筛选发行列表。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
5收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| owner | string | 是 | GitHub 仓库所有者 |
| repo | string | 是 | GitHub 仓库名称 |
| package | string | 否 | 用于筛选发布版本的包名称(例如 'astro'、'@astrojs/vue')。如果未提供,则匹配所有包。 |
| version | string | 是 | 要获取信息的特定版本(支持以下格式:v1.0.0、@1.0.0、1.0.0) |
详细介绍
GitHub Releases MCP 服务
一款功能强大的 GitHub Releases 管理模型上下文协议(MCP)工具包。此服务提供全面的工具,用于访问、比较和分析 GitHub 仓库的 Releases,并提供丰富的格式和详细信息。
功能
- 🔍 详细的 Release 信息:获取特定 Release 的完整详情
- 📊 版本比较:比较任意两个版本之间的变更
- 📋 Release 列表:获取带筛选选项且格式化的 Release 列表
- 🏷️ 语义化版本支持:支持多种版本格式(v1.0.0、@1.0.0、1.0.0)
- 🎯 预发布版本筛选:可选择包含或排除预发布版本
- 📝 丰富的格式:使用表情符号增强输出,提高可读性
- 🔄 分页支持:支持包含大量 Releases 的仓库
- 🔒 身份验证:可选的 GitHub 令牌支持,可用于访问私有仓库并提高速率限制
配置
服务接受以下可选环境变量:
GITHUB_PERSONAL_ACCESS_TOKEN:GitHub Personal Access Token(可选)。如果提供,该令牌将用于验证 API 请求,从而提高速率限制并访问私有仓库。
快速开始
你可以使用 npx 运行此 MCP 服务:
# Using environment variables
GITHUB_PERSONAL_ACCESS_TOKEN=your_token npx @slinerodev/github-releases-mcp
# Or using a .env file
echo "GITHUB_PERSONAL_ACCESS_TOKEN=your_token" > .env
npx @slinerodev/github-releases-mcp
客户端配置
此服务可与各种 MCP 客户端配合使用。将以下配置添加到客户端的配置文件中:
- Cursor:
~/.cursor/mcp.json - VS Code:
.vscode/settings.json(使用mcp.servers,而不是mcpServers) - Claude Desktop:
claude_desktop_config.json - Windsurf:
windsurf_config.json
使用已发布版本
{
"mcpServers": {
"github-releases": {
"command": "npx",
"args": [
"-y",
"@slinerodev/github-releases-mcp"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_token_here"
}
}
}
}
使用本地开发版本
{
"mcpServers": {
"github-releases": {
"command": "npx",
"args": [
"-y",
"tsx",
"${workspaceRoot}/main.ts"
]
}
}
}
注意:
- 对于 VS Code,请在配置中将
mcpServers替换为mcp.servers。 - 如果要访问私有仓库或需要更高的速率限制,请将
your_token_here替换为你的 GitHub Personal Access Token。
可用工具
此服务提供三个专用工具,用于处理 GitHub Releases:
1. github_release_info
获取特定版本 Release 的详细信息。
const result = await mcp.invoke("github_release_info", {
owner: "owner-name",
repo: "repo-name",
version: "1.0.0" // Supports v1.0.0, @1.0.0, 1.0.0
});
适用于:
- 了解特定版本中的变更
- 编写文档
- 获取 Release 说明
2. github_releases_compare
比较两个版本之间的变更。
const result = await mcp.invoke("github_releases_compare", {
owner: "owner-name",
repo: "repo-name",
fromVersion: "1.0.0",
toVersion: "2.0.0"
});
适用于:
- 生成变更日志
- 了解功能演进
- 编写迁移指南
- 分析重大变更
3. github_releases_list
使用筛选选项列出所有 Releases。
const result = await mcp.invoke("github_releases_list", {
owner: "owner-name",
repo: "repo-name",
limit: 10, // Optional: limit number of releases
includePreReleases: false // Optional: include pre-releases
});
适用于:
- 查看项目 Release 历史概览
- 查找最新版本
- 监控 Release 频率
- 跟踪预发布版本
响应格式示例
所有工具都以统一且带有表情符号的格式返回响应:
🔖 v1.0.0 (First stable release)
🗓️ 2024-03-15T10:30:00Z
📝 This is the release description...
---
🔖 v0.9.0 (Beta) (Pre-release)
🗓️ 2024-03-01T08:15:00Z
📝 Beta version with new features...
错误处理
这些工具能够妥善处理各种错误情况:
- 仓库名称无效
- 版本不存在
- 版本格式无效
- API 速率限制
- 网络问题
- 身份验证错误
每个错误都会返回清晰的消息,说明出现的问题。
开发
-
安装依赖:
pnpm install -
运行服务:
pnpm start
贡献
- Fork 此仓库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add some amazing feature') - 推送到该分支(
git push origin feature/amazing-feature) - 创建 Pull Request
许可证
ISC
作者
Sergio Linero
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。