关于 Polarion MCP
Polarion MCP 是面向 Polarion ALM 实例的 MCP 服务,供 AI 助手读取和管理文档、工作项、测试运行及追溯链接。写入操作支持 dry_run,并在提交前校验字段、枚举值和链接目标。
主要功能
- 01读取和搜索文档及工作项
- 02创建和更新测试运行及记录
- 03管理追溯链接、评论和附件
- 04写入前校验并支持 dry_run
- 05请求限速、串行处理并自动重试
适用场景
- 01搜索需求并查看关联文档
- 02更新工作项并调整工作流状态
- 03记录测试结果并维护验证链接
- 04重组文档结构并处理评论
MCP 相关
该 MCP 服务向兼容客户端提供 Polarion 的文档、工作项、测试运行、追溯链接、评论和附件读写工具。连接 Polarion 2506 或更高版本。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx mcp-server-polarionPOLARION_URLBase URL of the Polarion serverPOLARION_TOKEN密钥Polarion personal access tokenPOLARION_MAX_REQUESTS_PER_SECONDClient-side request rate cap in requests per second; match your deployment's throttle. 0 disables pacing (default: 1)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
46收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| project_id | string | 是 | Polarion 项目 ID。 |
| space_id | string | 是 | 空间 ID(“_default” = 默认空间)。 |
| document_name | string | 是 | space_id 内的文档名称。 |
| page_size | integer | 否 | |
| page_number | integer | 否 |
详细介绍
一个适用于 Polarion ALM 的 模型上下文协议(MCP) 服务,专为真实场景中的实例打造:每项写入操作都支持 dry_run;在提交任何内容之前,防护机制会校验字段和枚举值;请求会按照您为实例配置的速率上限进行调度 — 让 AI 助手可以安心处理生产数据。

功能
- 46 个工具,涵盖文档、工作项、测试运行、可追溯性链接、评论和附件的读取与写入。
- 读取 — 将文档渲染为 Markdown,使用 Lucene 或 SQL 搜索,遍历传入和传出的链接,解析枚举选项。
- 写入 — 创建和更新工作项、文档及测试运行,管理链接,重新整理文档结构,发布评论。
- 安全写入 — 每个写入工具都支持
dry_run;写入前防护机制会校验字段、枚举值和链接目标,再将数据提交至 Polarion。 - 与您的服务良好协作 — 请求会串行处理,并按可配置的速率上限进行调度;收到 429/5xx 响应时会自动重试。
- 专为大模型打造 — 严格采用异步模式、类型完整;每个列表工具都支持分页;文档字符串相当于助手的操作手册。
快速入门
需要 Polarion 2506+ 和 uv — 请参阅先决条件。最快的方式 — Claude Code:
claude mcp add mcp-server-polarion \
-e POLARION_URL=https://polarion.example.com \
-e POLARION_TOKEN=your-personal-access-token \
-- uvx mcp-server-polarion
其他客户端(VS Code、Claude Desktop、Cursor)— 请参阅客户端配置。
工具
读取
| 工具 | 描述 |
|---|---|
list_projects | 列出可访问的项目 |
list_documents | 列出项目中的文档 |
list_work_items | 列出项目中的工作项(Lucene/SQL 查询) |
list_test_runs | 列出项目中的测试运行(Lucene 查询、模板筛选) |
get_test_run | 获取测试运行详情,可选择包含原始 HTML 报告正文 |
list_test_records | 列出测试运行的执行记录,每次测试用例迭代对应一条记录 |
get_test_record | 获取一条测试记录的执行注释和测试用例修订版 |
get_sql_query_recipes | 获取可复制粘贴的高级查询 SQL 示例 |
get_html_recipes | 获取可复制粘贴的 Polarion HTML 模板,用于编辑原始 HTML 正文 |
get_document | 获取文档元数据,可选择包含原始正文 HTML |
read_document | 将文档从头到尾呈现为 Markdown |
read_document_parts | 列出文档的结构部分及嵌入的工作项元数据 |
get_work_item | 获取工作项详情,正文为原始 HTML |
read_work_item | 获取工作项详情,正文为 Markdown |
list_work_item_links | 列出工作项的传出或传入链接 |
list_document_attachments | 列出文档附件及文件名、大小和作者 |
get_document_attachment_content | 获取用于查看的图像附件(位图作为图像,SVG 作为文本) |
list_work_item_attachments | 列出工作项附件及文件名、大小和作者 |
get_work_item_attachment_content | 获取用于查看的工作项图像附件(位图作为图像,SVG 作为文本) |
list_test_record_attachments | 列出测试记录附件及文件名、大小和作者 |
get_test_record_attachment_content | 获取用于查看的测试记录图像附件(位图作为图像,SVG 作为文本) |
list_document_comments | 列出文档评论及其线程关系 |
list_work_item_comments | 列出工作项评论及其线程关系 |
list_document_enum_options | 获取文档字段的有效枚举 ID |
list_work_item_enum_options | 获取工作项字段的有效枚举 ID |
所有列表工具均支持通过 page_size(1–100)和 page_number 参数进行分页。
写入
| 工具 | 描述 |
|---|---|
create_work_items | 在单个请求中创建一个或多个工作项 |
update_work_items | 更新一个或多个工作项的字段、正文或工作流状态 |
create_document | 创建新文档 |
update_document | 更新文档的元数据、正文或工作流状态 |
copy_document | 将文档复制到新名称、空间或项目 |
create_test_runs | 创建一个或多个测试运行,可选择使用模板 |
create_test_records | 在测试运行中记录测试用例的执行结果 |
update_test_runs | 更新一个或多个测试运行的标题、状态、分组或自定义字段 |
update_test_records | 更新测试运行中一个或多个测试记录的结果、评论或缺陷链接 |
create_work_item_links | 从源工作项创建一个或多个出站链接 |
update_work_item_link | 更新一个出站链接上的 suspect / revision |
delete_work_item_links | 删除从源工作项发出的一个或多个出站链接 |
move_work_item_to_document | 将工作项附加到文档中的指定位置 |
move_work_item_from_document | 将工作项从其文档中分离 |
create_document_attachments | 上传一个或多个本地文件作为文档附件 |
create_work_item_attachments | 上传一个或多个本地文件作为工作项附件 |
create_test_record_attachments | 上传一个或多个本地文件作为测试记录附件 |
create_document_comments | 向文档添加一个或多个评论或回复 |
create_work_item_comments | 向工作项添加一个或多个评论或回复 |
update_document_comment | 解决或重新打开文档评论 |
update_work_item_comment | 解决或重新打开工作项评论 |
示例提示词
发现与搜索
“列出我可以访问的项目,然后显示项目 MCPT 中的文档及其类型。”
“列出项目 MCPT 中 ‘Specifications’ 空间里的文档。”
“查找项目 MCPT 中所有已批准且标题以 ‘Auth’ 开头的需求,并显示它们所属的文档。”
“在项目 MCPT 中搜索自定义字段 ‘verification_method’ 为 ‘Test’ 的工作项——如果需要联接,请先获取 SQL 示例。”
“查找项目 MCPT 的 SRS 模块中上一个冲刺期间更改的所有工作项。”
阅读与总结
“阅读项目 MCPT 的 SRS 文档,并总结每项未关闭的需求。”
“显示 SRS 文档的结构大纲——标题及其下的工作项。”
“以 Markdown 格式阅读工作项 MCPT-042,并说明它的要求。”
“显示 MCPT-042 的传入和传出链接,并标记仍未关闭的任何子任务。”
“SRS 文档中哪些需求没有来自测试用例的 ‘verifies’ 反向链接?”
“列出 SRS 文档中未解决的评论讨论串,以及每个讨论串的发起人。”
创建与编辑
“在项目 MCPT 中创建一个标题为 ‘Refactor authentication module’ 的任务,并将其与 MCPT-042 建立 ‘relates_to’ 链接。”
“根据这份检查清单,在项目 MCPT 中创建三个测试用例工作项,并将每个工作项与 MCPT-042 建立 ‘verifies’ 链接。”
“在 SRS 文档第 3.2 节下方添加一项新需求,正文使用我刚刚起草的内容。”
“使用我将要粘贴的修订文本更新 MCPT-042 的描述,同时保留现有格式。”
“在 SRS 文档上添加一条评论,请负责人澄清第 4 节,然后回复讨论串 T-12 并将其标记为已解决。”
“根据 ‘Regression’ 模板在项目 MCPT 中创建测试运行 REG-SPRINT-7,状态设为 ‘open’。”
工作流与重新整理
“列出项目 MCPT 中缺陷的有效状态值,然后将 MCPT-077 移至 ‘in_review’。”
“将 MCPT-042 的优先级提高到 90,将严重程度设为 ‘major’,并批准该工作流。”
“将 MCPT-201 从任务更改为需求,并重新应用其之前的状态。”
“将 MCPT-201 移至 SRS 文档中,放在 MCPT-150 之后。”
“将 MCPT-077 从其文档中分离出来,以便我将它作为独立任务重新处理。”
“将 MCPT-042 到 MCPT-099 的 ‘blocks’ 链接标记为可疑,然后删除指向 MCPT-010 的过时 ‘relates_to’ 链接。”
设置
前置条件
需要 Polarion 2506 或更高版本。早期版本缺少此服务所依赖的 REST API 端点。
此服务以 Python 包的形式分发,需要 uv 才能运行。
安装 uv(如果尚未安装):
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
也可以通过 pip 安装:
pip install uv
无需进行其他安装——uvx mcp-server-polarion 会自动下载并运行服务。
环境变量
| 变量 | 描述 | 示例 |
|---|---|---|
POLARION_URL | Polarion 实例的基础 URL | https://polarion.example.com |
POLARION_TOKEN | 用于身份验证的个人访问令牌 | your-personal-access-token |
POLARION_MAX_REQUESTS_PER_SECOND | 可选。客户端请求速率上限——可调高以匹配部署的限流设置,或设为 0 以禁用请求节流。写入操作始终会额外暂停固定时间(默认值:1) | 1 |
要生成个人访问令牌,请打开 Polarion,点击用户名,然后前往 My Account → Personal Access Tokens。
客户端配置
VS Code (GitHub Copilot)
添加到 .vscode/mcp.json:
{
"servers": {
"mcp-server-polarion": {
"type": "stdio",
"command": "uvx",
"args": ["mcp-server-polarion"],
"env": {
"POLARION_URL": "https://polarion.example.com",
"POLARION_TOKEN": "your-personal-access-token"
}
}
}
}
Claude Desktop
添加到 claude_desktop_config.json:
{
"mcpServers": {
"mcp-server-polarion": {
"command": "uvx",
"args": ["mcp-server-polarion"],
"env": {
"POLARION_URL": "https://polarion.example.com",
"POLARION_TOKEN": "your-personal-access-token"
}
}
}
}
Cursor
添加到 Cursor MCP 设置:
{
"mcpServers": {
"mcp-server-polarion": {
"command": "uvx",
"args": ["mcp-server-polarion"],
"env": {
"POLARION_URL": "https://polarion.example.com",
"POLARION_TOKEN": "your-personal-access-token"
}
}
}
}
Claude Code
通过 claude mcp add 命令注册:
claude mcp add mcp-server-polarion \
-e POLARION_URL=https://polarion.example.com \
-e POLARION_TOKEN=your-personal-access-token \
-- uvx mcp-server-polarion
贡献
欢迎提交错误报告和拉取请求——有关分支、提交和审核规范,请参阅 CONTRIBUTING.md。
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。