返回市场
GitHub发布-MCP服务器

GitHub发布-MCP服务器

作者:SLineroDev2 星标更新:2025-04-27

项目介绍

GitHub Releases MCP Server

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

功能

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

配置

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

  • GITHUB_PERSONAL_ACCESS_TOKEN:GitHub个人访问令牌(可选)。如果提供,它将用于认证API请求,允许更高的速率限制和访问私有存储库。

快速开始

您可以使用npx运行此MCP服务器:

# 使用环境变量
GITHUB_PERSONAL_ACCESS_TOKEN=your_token npx @slinerodev/github-releases-mcp

# 或使用.env文件
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,配置中替换mcpServersmcp.servers
  • your_token_here替换为您自己的GitHub个人访问令牌,如果您需要访问私有存储库或更高的速率限制。

可用工具

该服务器提供了三个专门用于处理GitHub发布的工具:

1. github_release_info

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

const result = await mcp.invoke("github_release_info", {
  owner: "owner-name",
  repo: "repo-name",
  version: "1.0.0" // 支持 v1.0.0, @1.0.0, 1.0.0
});

适用于:

  • 了解特定版本中的更改
  • 文档目的
  • 获取发布说明

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

列出所有发布,并带有过滤选项。

const result = await mcp.invoke("github_releases_list", {
  owner: "owner-name",
  repo: "repo-name",
  limit: 10, // 可选:限制发布的数量
  includePreReleases: false // 可选:是否包含预发布版本
});

适用于:

  • 项目发布历史概览
  • 查找最新版本
  • 发布频率监控
  • 跟踪预发布版本

示例响应格式

所有工具以一致且带有表情符号的格式返回响应:

🔖 v1.0.0 (第一个稳定版)
🗓️ 2024-03-15T10:30:00Z
📝 这是发布说明...

---

🔖 v0.9.0 (Beta) (预发布)
🗓️ 2024-03-01T08:15:00Z
📝 带有新功能的测试版...

错误处理

这些工具优雅地处理各种错误情况:

  • 无效的存储库名称
  • 不存在的版本
  • 无效的版本格式
  • 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. 打开拉取请求

许可证

ISC

作者

Sergio Linero