Release Notes MCP Server
发行说明服务器
一个 MCP 服务器,可以从 GitHub 仓库生成精美的发行说明。它可以高效地获取提交,按类型组织它们,并以简洁易读的格式呈现。
特征
🎯 按日期或 SHA 智能提交过滤
📊 按类型(功能、修复等)对提交进行分组
🔍 使用 PR 数据丰富提交
📈 包含详细的统计数据
🎨 使用表情符号清理 Markdown 格式
⚡ 使用 GitHub 的
since参数高效使用 API
Related MCP server: GitHub Releases MCP Server
安装
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"
}
}
}
}可用工具
生成发布说明
为 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
}
}
});输出格式
生成的发行说明包括:
带有生成日期和统计信息的标题
按提交类型分组的部分:
🚀 功能
🐛 修复
📚 文档
⚡ 性能
♻️ 重构
🧪 测试
🏗️ 构建
🔧 其他
详细统计数据包括:
总提交数
重大变更
按类型提交
作者提交
环境变量
GITHUB_TOKEN:具有 repo 访问权限的 GitHub 个人访问令牌
实现细节
服务器通过以下方式实现高效的提交提取:
尽可能使用 GitHub 的
since参数来减少 API 调用必要时回退到基于 SHA 的过滤
正确处理分页
保持发行说明的最新优先顺序
使用可用的 PR 数据来丰富提交
执照
麻省理工学院
Available Tools
3 toolsanalyze_commitsC
Analyze commits and provide statistics
| Name | Required | Description | Default |
|---|---|---|---|
| owner | Yes | ||
| repo | Yes | ||
| timeRange | No | ||
| commitRange | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions analysis and statistics but fails to describe key traits: whether this is a read-only operation, what permissions are needed, how results are formatted, if there are rate limits, or if it's computationally intensive. For a tool with 4 parameters and no annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise with a single sentence, 'Analyze commits and provide statistics', which is front-loaded and wastes no words. However, it is arguably too brief given the tool's complexity, bordering on under-specification rather than optimal conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters with 0% schema coverage, no annotations, no output schema, and nested objects, the description is incomplete. It doesn't explain the tool's behavior, output format, or parameter usage adequately. For a statistical analysis tool with multiple input options, more context is needed to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning none of the 4 parameters (owner, repo, timeRange, commitRange) are documented in the schema. The description does not compensate by explaining what these parameters mean, their expected formats (e.g., date strings for timeRange, commit hashes for commitRange), or how they interact. This leaves parameters largely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Analyze commits and provide statistics' states a general purpose (analyzing commits for statistics) but lacks specificity about what kind of analysis or statistics are provided. It doesn't distinguish from sibling tools like 'configure_template' or 'generate_release_notes', which are clearly different functions. The description is vague about the scope and nature of the analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There are no explicit instructions on prerequisites, context, or exclusions. Given sibling tools like 'generate_release_notes' might also involve commits, the lack of differentiation leaves the agent without clear usage criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
configure_templateC
Configure a custom template for release notes
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| template | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'configure' but doesn't clarify if this creates a new template, updates an existing one, or performs another action. There's no information on permissions, side effects, or response format, leaving significant gaps in understanding the tool's behavior beyond its basic purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy to parse quickly. Every word earns its place, contributing to clarity without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a configuration tool with no annotations, 0% schema description coverage, and no output schema, the description is incomplete. It lacks details on behavioral traits, parameter meanings, and expected outcomes, making it insufficient for an AI agent to fully understand how to invoke the tool correctly in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, so the description must compensate. It mentions 'configure a custom template' but doesn't explain the parameters 'name' and 'template', such as what they represent (e.g., template identifier vs. content) or any constraints. This adds minimal value beyond the schema, failing to adequately address the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('configure') and the resource ('a custom template for release notes'), making the tool's purpose understandable. It distinguishes from sibling tools like 'analyze_commits' and 'generate_release_notes' by focusing on template configuration rather than analysis or generation. However, it doesn't specify what 'configure' entails (e.g., create, update, or set), keeping it from a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, such as needing existing templates or specific contexts, nor does it differentiate usage from sibling tools like 'generate_release_notes', which might involve templates. This lack of explicit when-to-use or when-not-to-use information limits its utility for an AI agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_release_notesC
Generate release notes from commits in a given timeframe or commit range
| Name | Required | Description | Default |
|---|---|---|---|
| owner | Yes | ||
| repo | Yes | ||
| timeRange | No | ||
| commitRange | No | ||
| format | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states the basic function without disclosing behavioral traits. It doesn't mention permissions needed, rate limits, output format details, or whether the operation is read-only or mutative, leaving significant gaps for a tool with complex parameters and no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. However, it could be more structured by explicitly listing key parameters or use cases, but it avoids redundancy and stays focused.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (5 parameters, nested objects, no output schema, and 0% schema coverage), the description is incomplete. It lacks details on parameter semantics, behavioral context, and output expectations, making it insufficient for an agent to fully understand tool invocation without relying heavily on schema inspection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate but only vaguely references 'timeframe or commit range' without explaining parameters like 'owner', 'repo', or 'format' details. It adds minimal meaning beyond the schema, failing to clarify parameter purposes or usage, which is inadequate given the low coverage and 5 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('generate release notes') and source ('from commits'), specifying the timeframe or commit range as input. It distinguishes the tool's purpose from siblings like 'analyze_commits' by focusing on note generation rather than analysis, though it doesn't explicitly contrast with 'configure_template'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'analyze_commits' or 'configure_template'. The description implies usage for generating notes from commits but lacks context on prerequisites, scenarios, or exclusions, leaving the agent to infer based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v1.0.0- First observed
analyze_commits - First observed
configure_template - First observed
generate_release_notes
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: analyze_commits focuses on statistics and insights, configure_template handles template customization, and generate_release_notes produces the final output. There is no overlap in functionality, making it easy for an agent to select the right tool without confusion.
All tool names follow a consistent verb_noun pattern in snake_case (analyze_commits, configure_template, generate_release_notes). The naming is predictable and readable, with no deviations or mixed conventions.
Three tools are reasonable for a release notes server, covering analysis, configuration, and generation. It is slightly lean but well-scoped; adding a tool for managing templates or historical notes could enhance completeness, but the current count is appropriate for core functionality.
The tool set covers the essential workflow: analyzing commits, configuring templates, and generating release notes. A minor gap exists in operations like updating or deleting templates, but agents can work around this, and the core domain is adequately addressed without dead ends.
Maintenance
Related MCP Connectors
- ShipstarOAuthai.shipstar
Generate changelogs, release emails, help-center articles, banners, and social posts from commits.
Release notes and changelogs from across the web, indexed for agents. Also via CLI and REST API.
Turn a raw dev log (commit subjects, PR titles) into customer-facing release notes Markdown.
Manage repositories, users, releases, and automate GitHub workflows
Related MCP Servers
- AlicenseAqualityCmaintenanceGenerates commit messages, PR titles and descriptions, and release notes from git changes, with automatic domain detection for appropriate PR templates.107 npm1MIT
- AlicenseBqualityDmaintenanceProvides tools for accessing, comparing, and analyzing GitHub repository releases with rich formatting and detailed information.57 npm3ISC
- AlicenseNot gradedqualityDmaintenanceConverts raw GitHub notes into polished Polish release notes, PR descriptions, and changelogs using predefined workflows.MIT
- AlicenseAqualityDmaintenanceTurns raw GitHub commit history into a categorized, human-readable changelog directly inside Claude or any MCP-compatible client.3MIT