GitHub版本管理工具

一个强大的GitHub版本管理工具,提供详细的版本信息、版本比较和版本列表功能,支持语义化版本和预发布过滤。

  • by SLineroDev
  • JavaScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 SLineroDev/github-releases-mcp

使用说明

GitHub发布MCP服务器

一个用于GitHub发布管理的强大的模型上下文协议(MCP)工具包。该服务器提供了全面的工具,用于访问、比较和分析GitHub存储库版本,具有丰富的格式和详细的信息。

特性

  • 🔍 详细发布信息:获取有关特定版本的全面详细信息
  • 📊 版本比较:比较任意两个版本之间的更改
  • 📋 发布列表:获取带有筛选选项的格式化版本列表
  • 🏷️ 语义版本支持:处理各种版本格式(v1.0.0、@1.0.0、1.0.0)
  • 🎯 预发布过滤:包括或排除预发布的选项
  • 📝 丰富的格式:增强表情包输出以提高可读性
  • 🔄 分页支持:处理具有许多版本的存储库
  • 🔒 认证:对私有存储库和扩展速率限制的可选GitHub令牌支持

配置

服务器接受以下可选环境变量:

  • GITHUB_PERSONAL_ACCESS_TOKEN:GitHub个人访问令牌(可选)。如果提供,它将用于验证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/mcp.json
  • VS代码: .vscode/settings.json (使用 mcp.servers 而不是 mcpServers)
  • 克劳德桌面: claude_desktop_config.json
  • 风浪: 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代码,请替换 mcpServers 随着 mcp.servers 在配置中。
  • 替换 your_token_here 如果您想访问私有存储库或需要更高的速率限制,请使用您的GitHub个人访问令牌。

可用工具

该服务器提供了三个用于处理GitHub版本的专用工具:

1.github _租赁_信息

获取特定发布版本的详细信息。

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
});

非常适合:

  • 了解特定版本中发生了什么变化
  • 文件编制目的
  • 发布说明检索

2.github _租赁_比较

比较两个版本之间的更改。

const result = await mcp.invoke("github_releases_compare", {
  owner: "owner-name",
  repo: "repo-name",
  fromVersion: "1.0.0",
  toVersion: "2.0.0"
});

非常适合:

  • 生成变更日志
  • 了解特征演变
  • 迁移指南
  • 突破性变化分析

3.github租赁列表

列出所有具有过滤选项的版本。

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
});

非常适合:

  • 项目发布历史概述
  • 查找最新版本
  • 释放频率监测
  • 发布前跟踪

响应格式示例

所有工具都以一致的表情增强格式返回响应:

🔖 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费率限制
  • 网络问题
  • 身份验证错误

每个错误都会返回一条明确的消息,解释出了什么问题。

发展

  1. 安装依赖项:

    pnpm install
    
  2. 运行服务器:

    pnpm start
    

贡献

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

许可证

国际协调委员会

作者

塞尔吉奥·莱内罗