Token导航 LogoToken导航TokenDH.com
Pr Narrator MCP logo
开发工具stdio官方级别未说明来源级核验

Pr Narrator MCP

MCP Server

pr-narrator-mcp

一款自动生成一致的提交信息、PR内容和发布说明的MCP服务器工具,支持多种开发场景和模板自动检测。

工具数

10

提示词数

0

GitHub Stars

1

资源数

0
AI生成TypeScriptClaude开发工具Claude DesktopClaudeCursorWindsurf

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

mhaviv

提供方

mhaviv

最后核验

2026/5/17 20:22

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx pr-narrator-mcp

详细介绍

公关解说员mcp

](https://www.npmjs.com/package/pr-narrator-mcp) ![CI](https://github.com/mhaviv/pr-narrator-mcp/actions/workflows/ci.yml) ![License: MIT](https://opensource.org/licenses/MIT)

自动生成一致的提交消息、PR内容和发布说明。

一个MCP服务器,从git更改中生成提交消息、PR内容(标题、描述和模板)和发布说明。如果你的仓库还没有PR模板,它会自动检测域(移动、前端、后端、devops、安全、ML)并应用正确的模板——不需要配置。

安装

npx pr-narrator-mcp

快速开始

光标

增添 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "pr-narrator": {
      "command": "npx",
      "args": ["-y", "pr-narrator-mcp"],
      "env": {
        "BASE_BRANCH": "develop",
        "TICKET_PATTERN": "[A-Z]+-\\d+"
      }
    }
  }
}

克劳德桌面版

添加到您的Claude Desktop配置中:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "pr-narrator": {
      "command": "npx",
      "args": ["-y", "pr-narrator-mcp"],
      "env": {
        "BASE_BRANCH": "develop",
        "TICKET_PATTERN": "[A-Z]+-\\d+"
      }
    }
  }
}

帆板运动

增添 ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "pr-narrator": {
      "command": "npx",
      "args": ["-y", "pr-narrator-mcp"],
      "env": {
        "BASE_BRANCH": "develop",
        "TICKET_PATTERN": "[A-Z]+-\\d+"
      }
    }
  }
}

VS代码(GitHub副本)

增添 .vscode/mcp.json 在您的项目中:

{
  "servers": {
    "pr-narrator": {
      "command": "npx",
      "args": ["-y", "pr-narrator-mcp"],
      "env": {
        "BASE_BRANCH": "develop",
        "TICKET_PATTERN": "[A-Z]+-\\d+"
      }
    }
  }
}

其他MCP客户端

任何支持stdio传输的MCP客户端都可以使用此服务器。命令是:

npx -y pr-narrator-mcp

就是这样!不需要配置文件。所有env变量都是可选的。

设置

所有设置都是MCP JSON中的可选环境变量:

Env Var它的作用示例
BASE_BRANCHPR的基础分支develop
TICKET_PATTERN票证正则表达式[A-Z]+-\\d+
TICKET_LINK票证URL模板https://jira.example.com/browse/{ticket}
PREFIX_STYLE前缀格式capitalizedbracketed
DEFAULT_REPO_PATH后备回购路径(单个回购工作流)/Users/me/my-project
PR_TEMPLATE_PRESET强制预置PR模板mobile, backend, devops
PR_DETECT_REPO_TEMPLATE启用/禁用回购模板检测true (默认)或 false

如果 BASE_BRANCH 如果未设置,它会从仓库(主仓库、主仓库、开发仓库)自动检测。

注意 repoPath: 所有工具都接受 repoPath 参数。调用该工具的AI应传递用户当前的工作区目录。 DEFAULT_REPO_PATH 这只是单个repo工作流的后备方案。

工具

公关生成

generate_pr

生成一份完整的PR,包括标题、描述和AI增强的上下文。自动解析仓库的最佳模板(请参阅 PR模板).

退货:

  • title --PR标题(占位符来源于分支/提交——AI应该重写)
  • description --PR描述,包括已解析模板中的部分
  • purposeContext --所有提交标题、所有提交项目符号、测试信息、文件计数
  • purposeGuidelines --AI从所有数据中重写标题和目的的说明

重要提示: 标题和目的都是占位符。AI必须阅读所有内容 purposeContext.commitTitlespurposeContext.commitBullets 综合一个反映全部变化的标题和描述。

可选的 templatePreset 用于强制特定模板的参数(例如。, mobile, backend).

generate_pr_title

根据分支机构信息和提交生成PR标题。

generate_pr_description

生成带有自动填充部分的PR描述。模板分辨率与 generate_pr 但仅返回描述。接受可选 templatePresetsummary 参数。

get_pr_template

在生成之前预览已解析的回购PR模板。显示将根据仓库的模板文件、域自动检测或配置的预设显示哪些部分。有助于在打电话之前了解PR的样子 generate_pr.

返回模板源(repo, preset, auto-detected,或 default),检测到的域,以及基于当前分支更改的每个部分的可见性。

提交消息

generate_commit_message

根据阶段性或非阶段性更改准备提交消息上下文。

如果没有暂存,该工具会自动回退到未暂存的工作树更改,并提供暂存指令——无需运行 git add 首先,分析一下你的变化。该回复包括 source 现场("staged""unstaged")以及a hint 与确切 git add 命令运行。

includeBody 是真的,提供了实际的差异,这样AI就可以编写一个有意义的正文来描述 *发生了什么变化* 功能上——不仅仅是文件类型计数。

两种模式:

  • 随着 summary 参数(推荐): 返回具有正确前缀/格式的即用型提交消息。添加 includeBody: true 以获得基于diff的身体生成。
  • 没有 summary: 返回占位符标题+差异+AI编写消息和正文的准则

validate_commit_message

根据配置的规则(长度、格式、大小写、命令式语气)检查提交消息。

发布说明

generate_changelog

从两个引用(标签、SHA或分支)之间的git提交历史中生成更改日志/发布说明。

  • 自动解析引用 --默认值 from 到最新标签(如果没有标签,则为初始提交),以及 to 率领
  • 解析提交 --检测常规提交类型/范围,从非常规消息的关键字中推断类型,提取合著者和票证引用
  • 重复数据删除 挤压合并伪影
  • 三种输出格式: keepachangelog (默认), github-release, plain
  • 三种分组模式: type (默认), scope, ticket
  • 包括统计数据 --提交计数、贡献者计数、票证计数和单行摘要

退货 changelog (格式化标记), entries (结构化数据), summary, stats, range,以及 warnings.

存储库分析

分析it变化

分析当前存储库状态:阶段性更改、分支信息、工作树状态和文件分类。

提取门票

在分支机构名称中查找票号,并使用配置的 TICKET_PATTERN.

get_config

查看当前设置及其解析值。

前缀示例

分支提交/PR前缀
feature/PROJ-123-add-loginPROJ-123:
task/update-readmeTask:
bug/fix-crashBug:
main(无前缀)

PR模板

PR讲述人通过解析管道自动为每个存储库选择最佳模板:

  1. 回购模板 --如果a PULL_REQUEST_TEMPLATE.md 存在于回购中(.github/,根,或 docs/),它被解析为多个部分
  2. 显式预设 --如果 PR_TEMPLATE_PRESET 已设置或 templatePreset 传递给工具
  3. 自动检测域 --对仓库的文件树进行扫描和评分,以检测其域
  4. 默认 --一个通用的6节模板

这意味着在转发(iOS应用程序、Express API、Terraform infra)之间切换会自动使用正确的模板,零配置。

域自动检测

PR讲述者扫描回购文件树的前3个级别,并根据域信号模式对文件进行评分。只要达到最低阈值,得分最高的域名就获胜。

关键信号已添加部分
移动.swift, .kt, .xcodeproj, AndroidManifest.xml屏幕截图、设备测试、可访问性
前端.tsx, .vue, next.config, vite.config屏幕截图/视觉变化、浏览器兼容性、可访问性
后端.go, .rs, migrations/, prisma/schemaAPI更改、数据库/迁移、中断更改
开发运维.tf, helm/, k8s/, Dockerfile基础设施影响、受影响的环境、回滚计划
安全.snyk, tfsec, trivy安全影响、威胁模型变化
毫升.ipynb, model/, training/, dvc.yaml模型更改、数据集更改、度量/评估

预置模式

预设部分最适合
default6通用仓库
minimal2快速PR(目的+测试计划)
detailed10全面审查,包括截图、重大变更、部署说明
mobile8iOS和Android应用程序
frontend8Web应用程序(React、Vue、Svelte等)
backend8API和服务
devops8基础设施和CI/CD
security7以安全为重点的变化
ml8机器学习和数据科学

条件段

部分可以根据上下文显示或隐藏:

  • has_tickets --只有在分行名称或提交中找到票证时,才会出现票证部分
  • file_pattern --截图部分仅在UI文件更改时出现;仅当迁移文件发生更改时才使用数据库部分
  • commit_count_gt --更改(提交列表)部分仅在提交次数超过1次时显示

回购模板检测

如果你的回购有 PULL_REQUEST_TEMPLATE.md,PR讲述人将自动查找并解析它。支持的位置:

  • .github/pull_request_template.md
  • .github/PULL_REQUEST_TEMPLATE/ (挑选 default.md 第一)
  • pull_request_template.md (回购根)
  • docs/pull_request_template.md

文件名匹配不区分大小写。两者 .md.txt 支持扩展。

PR_DETECT_REPO_TEMPLATE=false 跳过仓库模板检测,改用预设或自动检测。

安全

此MCP服务器是 只读仅限本地 (stdio传输)。它永远不会修改您的git存储库、发出网络请求或处理身份验证令牌。

需要注意的事项:

  • 提交消息是不受信任的输入。 来自协作者的Git提交消息被传递给AI。理论上,对抗性提交消息可以尝试提示注入。此MCP的只读性质限制了影响。
  • 正则表达式模式已得到验证。TICKET_PATTERN 在使用之前,会检查env-var的ReDoS安全性(灾难性回溯、长度限制)。

有关完整详细信息,请参阅 安全.md.

发展

git clone https://github.com/mhaviv/pr-narrator-mcp.git
cd pr-narrator-mcp
npm install
npm run build
npm test

许可证

麻省理工学院

目录标签

目录标签

AI生成TypeScriptClaude开发工具本地部署提交信息PR描述发布说明开发效率

支持客户端

Claude DesktopClaudeCursorWindsurf

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

pr-narrator-mcp

工具数量(toolCount,工具数)

10

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP