使用说明

项目简介

Release Notes Server 是一个 MCP 服务器,旨在从 GitHub 仓库生成发布说明。它能够高效地抓取仓库的提交记录,并根据类型或其他标准进行组织,最终以清晰易读的 Markdown 格式呈现。

主要功能点

  • GitHub 发布说明生成: 自动从 GitHub 仓库的提交历史中生成结构化的发布说明。
  • 灵活的提交过滤: 支持按日期范围或提交 SHA 范围筛选需要包含在发布说明中的提交。
  • 多维度分组: 可以将提交记录按类型(如特性、修复)、作者或影响范围进行分组,方便阅读和理解变更内容。
  • 详细统计: 可选择包含提交统计信息,如总提交数、破坏性变更数、各类提交数量等。
  • Markdown 格式输出: 生成的发布说明以 Markdown 格式输出,易于阅读和集成到文档中。

安装步骤

  1. 确保已安装 Node.js 和 npm。
  2. 如果尚未克隆仓库,请克隆仓库:'git clone https://github.com/nickbaumann98/release-notes-server.git'
  3. 进入仓库目录:'cd release-notes-server'
  4. 安装依赖:'npm install'
  5. 构建项目:'npm run build'

服务器配置

要将此服务器添加到 MCP 客户端,请将以下配置添加到客户端的 MCP 服务器设置中:

{
  "mcpServers": {
    "release-notes": {
      "command": "node",
      "args": ["/path/to/release-notes-server/build/index.js"], // 将此路径替换为构建后的 index.js 文件的实际路径
      "env": {
        "GITHUB_TOKEN": "YOUR_GITHUB_TOKEN" // 将此令牌替换为您的 GitHub 个人访问令牌,需要 repo 权限
      }
    }
  }
}

注意: 请将 '/path/to/release-notes-server/build/index.js' 替换为您本地文件系统中构建后的 'index.js' 文件的绝对路径。 还需要设置 'GITHUB_TOKEN' 环境变量为您的 GitHub 个人访问令牌,该令牌需要具有 'repo' 访问权限。

基本使用方法

在 MCP 客户端中配置好服务器后,您可以使用 'generate_release_notes' 工具来生成发布说明。以下是如何调用此工具的示例:

const result = await use_mcp_tool({
  server_name: "release-notes",
  tool_name: "generate_release_notes",
  arguments: {
    owner: "github_用户名", // 替换为仓库所有者,例如 "nickbaumann98"
    repo: "仓库名", // 替换为仓库名称,例如 "release-notes-server"
    commitRange: {
      fromCommit: "起始提交 SHA" // 可选:起始提交 SHA
    },
    format: {
      type: "markdown", // 输出格式:"markdown", "json", 或 "text"
      groupBy: "type",  // 提交分组方式:"type", "author", 或 "scope"
      includeStats: true // 是否在输出中包含提交统计信息
    }
  }
});
console.log(result.content[0].text); // 打印生成的发布说明

请将 '"github_用户名"' 和 '"仓库名"' 替换为实际的仓库所有者和名称。 您还可以根据需要调整 'commitRange' 和 'format' 参数。

信息

分类

开发者工具