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

PR Message MCP

MCP Server

一个FastMCP服务器,通过结合git差异和Cursor代理聊天记录生成FreeIPA风格的提交消息。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
PythonCursor开发工具Cursor

安装说明

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

作者 / 组织

jayg2309

提供方

jayg2309

最后核验

2026/5/17 20:21

快速接入

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

命令预览

pip install mcp

详细介绍

公关信息mcp

FastMCP服务器通过组合以下内容生成FreeIPA风格的PR提交消息:

  • 分段git差异(或分支差异作为回退)
  • 相关Cursor代理聊天记录
  • FreeIPA提交消息约定

服务器作为Cursor通过stdio传输启动的子进程运行。确实如此 调用任何外部LLM——它收集上下文并将其作为结构化文本返回,以便Cursor自己的LLM可以合成最终的提交消息。

______________________________________________________________________

需求

  • Python 3.10+
  • uv (推荐)或 pip
  • git 关于PATH
  • 光标 集成开发环境

______________________________________________________________________

设置

步骤1——安装Python依赖项

选项A--uv(推荐)

cd pr-message-mcp
uv sync

选项B-pip

pip install mcp

步骤2——安装Cursor配置

从您的 工作区根目录 (您在Cursor中打开的目录):

bash pr-message-mcp/install.sh

这会将两个文件复制到您的工作区 .cursor/ 目录:

  • .cursor/mcp.json --使用Cursor注册MCP服务器
  • .cursor/rules/pr.mdc --定义 /pr 命令

如果 .cursor/mcp.json 已存在(例如,您配置了其他MCP服务器), 该脚本将打印您需要手动合并的块,而不是覆盖 您现有的配置。

步骤3--重新启动游标

光标读取 mcp.json 在启动时。重新启动以启动新服务器。

步骤4——验证

打开光标聊天并键入:

/pr

代理将解析您的git仓库、作者信息和转录目录 然后调用MCP工具并编写FreeIPA风格的提交消息。

______________________________________________________________________

用法

基本--生成提交消息

暂存您的更改,然后键入 /pr 在光标聊天中:

git add 
# open Cursor chat
/pr

带有问题URL

/pr https://pagure.io/freeipa/issue/1234

问题URL被添加为 Fixes: 拖车自动。

覆盖基础分支

/pr base_branch=main

默认的基本分支是 master (FreeIPA公约)。

______________________________________________________________________

运作原理

/pr command
    │
    ▼
pr.mdc rule (Cursor agent rule)
    │  resolves: repo_path, transcripts_dir, author_name, author_email
    │
    ▼
generate_pr_message MCP tool (server.py)
    │
    ├─ git diff --cached  (staged diff)
    │   └─ fallback: git diff ...HEAD
    │
    ├─ git log --oneline ..HEAD
    │
    └─ Cursor agent-transcripts/
        └─ scored by relevance to changed files → top summaries included
    │
    ▼
Structured context returned to Cursor's LLM
    │
    ▼
FreeIPA-style commit message

______________________________________________________________________

工具

generate_pr_message

主要工具。收集所有上下文,并将其结构化返回给法学硕士 合成一条提交消息。

参数类型必填说明
repo_pathstrgit存储库根的绝对路径
transcripts_dirstr游标代理转录目录的绝对路径
issue_urlstrPagure/GitHub/GitLab问题URL Fixes:Related: 拖车
author_namestr名称 Signed-off-by 拖车
author_emailstr电子邮件 Signed-off-by 拖车
base_branchstr分支到diff(默认值: "master")

差异的回退逻辑:

  1. 尝试 git diff --cached (阶段性变化)
  2. 如果为空,则返回 git diff {base_branch}...HEAD (所有分支机构提交)
  3. 如果仍然为空,则返回一个错误,要求您进行更改或创建特征分支

list_recent_chats

列出最近的Cursor代理聊天记录,以便您可以验证服务器是否看到它们。

参数类型必填说明
transcripts_dirstr代理转录目录的路径
limitint返回的最大聊天次数(默认值:10)

返回一个JSON数组: [{"id": "uuid", "first_query": "...", "modified": "ISO-timestamp"}]

get_staged_diff

返回原始数据 git diff --cached 输出(或分支差异回退)以供检查。

参数类型必填说明
repo_pathstrgit存储库根的绝对路径
base_branchstr回退差异的分支(默认值: "master")

______________________________________________________________________

转录相关性是如何工作的

generate_pr_message 运行时,它会对每个Cursor聊天记录进行评分 diff中更改的文件:

信号分数
在转录中找到完整文件路径每条路径+10.0
在转录中找到文件名(基名)每条路径+5.0
在转录中找到类名或函数名每个名称+2.0
在过去24小时内修改(仅限决胜局)+0.5

成绩单评分如下 1.0 完全排除在外——纯粹的近因不是 足够包括一份成绩单。包括前5个相关成绩单, 每个摘要最多500个字符(总共5000个字符)。

子代理转录文件(in subagents/ 子目录)被跳过 家长成绩单已经捕捉到了更高层次的意图。

______________________________________________________________________

MCP检验员测试

您可以使用交互方式测试服务器 MCP检查员:

cd pr-message-mcp
npx -y @modelcontextprotocol/inspector python3 server.py

这将打开一个浏览器UI,您可以在其中使用示例输入调用每个工具。

示例输入 generate_pr_message

{
  "repo_path": "/path/to/your/git/repo",
  "transcripts_dir": "/home//.cursor/projects//agent-transcripts",
  "issue_url": "https://pagure.io/freeipa/issue/9999",
  "author_name": "Your Name",
  "author_email": "you@example.com",
  "base_branch": "master"
}

示例输入 list_recent_chats

{
  "transcripts_dir": "/home//.cursor/projects//agent-transcripts",
  "limit": 5
}

示例输入 get_staged_diff

{
  "repo_path": "/path/to/your/git/repo"
}

agent-transcripts 目录通常位于:

~/.cursor/projects//agent-transcripts/

哪里 ` 是工作区路径的简化版本 (例如。 home-jdev-myproject`).

______________________________________________________________________

故障排除

服务器未出现在游标MCP工具中

  • 编辑后重新启动游标 mcp.json
  • 检查一下 python3 位于游标使用的路径上
  • 手动运行服务器以检查导入错误: python3 pr-message-mcp/server.py

“不是git仓库”错误

  • 确保 repo_path 指向git存储库(或子目录)的根目录

git可以通过搜索父目录找到repo)

未返回成绩单上下文

  • 验证 transcripts_dir 存在: ls ~/.cursor/projects//agent-transcripts/
  • 如果目录丢失,该工具将继续运行,而不使用转录本——只使用diff

git命令失败

  • 确保 git 已安装并位于PATH上
  • 对于分支差异回退,请确保 base_branch 存在(例如。 mastermain)

缺失 Signed-off-by 在输出

  • 确保您的git身份已配置:
  git config --global user.name "Your Name"
  git config --global user.email "you@example.com"

mcp.json 已与其他服务器一起存在

  • 打开 .cursor/mcp.json 并手动添加 pr-message 进入

mcpServers 对象:

  "pr-message": {
    "command": "python3",
    "args": ["pr-message-mcp/server.py"]
  }

目录标签

目录标签

PythonCursor开发工具提交消息本地部署FreeIPA风格Git工具Cursor集成

支持客户端

Cursor

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP