发布说明服务

@nickbaumann98/release-notes-server
0 Stars 313 次浏览 nickbaumann98 更新于 2026-08-23

从GitHub仓库生成全面且格式化的发布说明,通过智能使用API,按类型高效组织提交记录并包含详细统计信息。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

发布说明服务器

一个MCP服务器,可以从GitHub仓库生成美观的发布说明。它能够高效地获取提交记录,按类型组织,并以清晰易读的格式呈现。

功能特点

  • 🎯 按日期或SHA智能筛选提交
  • 📊 按类型(功能、修复等)分组提交
  • 🔍 用PR数据丰富提交信息
  • 📈 包含详细的统计信息
  • 🎨 清晰的Markdown格式化并带有表情符号
  • ⚡ 使用GitHub的since参数高效调用API

安装

npm install
npm run build

使用方法

将此服务器添加到您的MCP配置中:

{
  "mcpServers": {
    "release-notes": {
      "command": "node",
      "args": ["/path/to/release-notes-server/build/index.js"],
      "env": {
        "GITHUB_TOKEN": "your-github-token"
      }
    }
  }
}

可用工具

generate_release_notes

为GitHub仓库生成发布说明。

参数:

{
  "owner": string,           // Repository owner
  "repo": string,           // Repository name
  "commitRange": {
    "fromCommit"?: string,  // Starting commit SHA
    "toCommit"?: string    // Ending commit SHA
  },
  "format": {
    "type": "markdown",     // Output format
    "groupBy": "type",      // How to group commits
    "includeStats": boolean // Include commit statistics
  }
}

示例:

const result = await use_mcp_tool({
  server_name: "release-notes",
  tool_name: "generate_release_notes",
  arguments: {
    owner: "owner",
    repo: "repo",
    commitRange: {
      fromCommit: "abc123" // Get commits from this SHA
    },
    format: {
      type: "markdown",
      groupBy: "type",
      includeStats: true
    }
  }
});

输出格式

生成的发布说明包括:

  1. 带有生成日期和统计数据的标题

  2. 按提交类型分组的部分:

    • 🚀 功能
    • 🐛 修复
    • 📚 文档
    • ⚡ 性能
    • ♻️ 重构
    • 🧪 测试
    • 🏗️ 构建
    • 🔧 其他
  3. 详细统计信息包括:

    • 总提交数
    • 破坏性变更
    • 按类型的提交
    • 按作者的提交

环境变量

  • GITHUB_TOKEN: 具有仓库访问权限的GitHub个人访问令牌

实现细节

该服务器通过以下方式实现高效的提交抓取:

  1. 尽可能使用GitHub的since参数来减少API调用
  2. 在需要时回退到基于SHA的过滤
  3. 正确处理分页
  4. 维护最新的优先顺序用于发布说明
  5. 当可用时,用PR数据丰富提交信息

许可证

MIT

相关 MCP 服务