mcp极化子
CLI-first Polarion ALM客户端,为AI助手(Cline、Claude Code、Copilot Studio)提供MCP服务器支持,并为OpenAI GPT操作和其他HTTP消费者提供REST API。
安装
git clone https://github.com/mmerah/PolarionMcp.git
cd PolarionMcp
python -m venv .venv && source .venv/bin/activate
pip install -e .创建一个 .env 文件:
POLARION_URL=https://your-polarion-instance.com/polarion
POLARION_USER=your-username
POLARION_TOKEN=your-personal-access-tokenCLI使用情况
# Connection
mcp-polarion health
# Projects
mcp-polarion projects # list all configured aliases
mcp-polarion project -p myproject # name & description
mcp-polarion project-types -p myproject # configured work item types + fields
mcp-polarion named-queries -p myproject # named queries defined in config
mcp-polarion discover-types -p myproject # sample the project to find types
mcp-polarion discover-types -p myproject --limit 500
# Work items
mcp-polarion get ADC-1234 # project inferred from ID prefix
mcp-polarion get ADC-1234 -p myproject
mcp-polarion search "type:defect AND status:open" -p myproject
mcp-polarion search "query:open_bugs" -p myproject # named query
mcp-polarion search "type:defect" -p myproject --fields "id,title,status"
# Tests & documents
mcp-polarion test-runs -p myproject
mcp-polarion test-run TR-42 -p myproject
mcp-polarion documents -p myproject
mcp-polarion test-specs QA/TestSpecs -p myproject
# Plans (plan projects only)
mcp-polarion plans -p releases
mcp-polarion plan R2024.4 -p releases
mcp-polarion plan-workitems R2024.4 -p releases
mcp-polarion search-plans "templateId:release" -p releases
# Servers
mcp-polarion serve # HTTP works for all clients
mcp-polarion serve --mode stdio # stdio transport for local .mcp.json
mcp-polarion serve --port 9000 --log-level DEBUG
# Utilities. Output goes to generated/
mcp-polarion docgen # generated/agent_instructions*.md
mcp-polarion generate-openapi # generated/openapi.yaml
mcp-polarion import-custom-fields --path local/custom-fields/myproject便利脚本 run_server.sh 处理首次venv设置和 .env 通话前检查 mcp-polarion serve.
配置
可选的本地配置解锁了项目别名、命名查询、自定义字段映射和计划项目支持。被追踪的例子存在于 local/。复制它以开始:
cp local/polarion_config.example.yaml local/polarion_config.yamlprojects:
myproject: # alias (use this everywhere)
id: ACTUAL_PROJECT_ID # real Polarion project ID
work_item_types:
- systemRequirement
- defect
custom_fields:
defect: [severity, foundIn]
systemRequirement: [acceptanceCriteria, riskRelevance]
default_queries:
open_bugs: "type:defect AND status:open"
my_items: "assignee.id:$current_user"
releases:
id: RELEASES_PROJECT
is_plan: true # enables plan-specific tools
display_fields: [id, title, type, status, assignee]编辑配置后,重新生成代理指令和OpenAPI规范:
mcp-polarion docgen # generated/agent_instructions*.md
mcp-polarion generate-openapi # generated/openapi.yaml对于自定义字段导入,请将下载的XML导出保持在本地且不被跟踪:
local/custom-fields/
/
requirement-custom-fields.xml
defect-custom-fields.xml通常,这些custom-fields.yml位于Polarion项目管理内容中。它们可以从那里下载。然后使用以下方式导入它们:
mcp-polarion import-custom-fields --path local/custom-fields/myproject看 docs/XML_PARSER.md 完整的导入工作流程。
可用工具
看 docs/WORKFLOW_EXAMPLES.md 了解工具使用模式。
将军
| 工具 | 说明 |
|---|---|
health_check | 检查Polarion连接 |
get_project_info | 项目名称及说明 |
list_projects | 所有已配置的项目别名 |
get_project_types | 为项目配置的工作项类型 |
get_named_queries | 为项目定义的命名查询 |
discover_work_item_types | 对项目进行采样以查找其工作项类型 |
工作项 *(常规项目)*
| 工具 | 说明 |
|---|---|
get_workitem | 一个或多个工作项的完整详细信息,包括自定义字段和测试步骤 |
search_workitems | Lucene查询搜索;接受命名查询(query:open_bugs),可选 field_list,可选 limit |
测试和文件
| 工具 | 说明 |
|---|---|
get_test_runs | 列出所有测试运行 |
get_test_run | 一次试运行的详细信息 |
get_documents | 列出项目中的文档,可选 limit 和文档路径 |
get_document | 将文档PDF导出到 /tmp 并返回本地路径和工件下载信息 |
get_test_specs_from_document | 从文档中提取测试规范ID |
计划 *(仅计划项目)*
| 工具 | 说明 |
|---|---|
get_plans | 列出所有计划(发布、迭代) |
get_plan | 一个计划的详细信息 |
get_plan_workitems | 计划中的工作项 |
search_plans | Lucene跨计划搜索 |
输入: project_alias 接受两个别名(myproject)和真实ID(ACTUAL_PROJECT_ID).\ 输出:人类可读的字符串。错误以开头 ❌.
MCP服务器集成
一个单一的 mcp-polarion serve 命令为所有HTTP客户端提供服务。服务器使用无状态请求(每个POST一个会话)和JSON响应,从而实现并行工具调用,并同样适用于Cline、Claude Code、Copilot Studio和GPT Actions(通过REST API)。
Cline/Claude代码(HTTP)
mcp-polarion serve # http://0.0.0.0:8000/mcp添加到Cline的MCP设置中:
{
"mcpServers": {
"polarion": { "url": "http://localhost:8000/mcp" }
}
}克劳德代码/ .mcp.json (stdio)
{
"mcpServers": {
"polarion": {
"command": "mcp-polarion",
"args": ["serve", "--mode", "stdio"]
}
}
}微软复制品工作室
mcp-polarion serve通过HTTPS公开(例如Azure Dev Tunnel),然后按照 MCP入职向导: 添加工具→ 新工具→ 模型上下文协议.使用 https:///mcp 作为服务器URL。
REST API/GPT操作(OpenAI)
mcp-polarion serveREST端点可在 /actions/ 在MCP端点旁边。首先生成OpenAPI规范和代理指令:
mcp-polarion generate-openapi # generated/openapi.yaml
mcp-polarion docgen # generated/agent_instructions*.md正在运行的服务器也满足以下规范 /openapi.json 和 /openapi.yaml.
curl http://localhost:8000/actions/projects
curl http://localhost:8000/openapi.json | jq '.paths | keys'使用 generated/agent_instructions.md 作为知识档案和 generated/agent_instructions_simple.md 系统提示您自定义GPT。
项目结构
polarion_mcp/
core/ Polarion domain logic: client, config, settings, formatters
config/ Config discovery and XML import utilities
mcp/ MCP layer: tool definitions, middleware, server, stdio
rest_api/ REST API routes and OpenAPI spec generation
docgen/ Agent instruction doc generator
cli/ CLI entry point (mcp-polarion)
docs/ Supporting guides and workflow references
local/ Workspace-local config and XML exports
generated/ Generated files (openapi.yaml, agent_instructions)
tests/
run_server.sh First-time bootstrapper (venv + deps + serve)壳牌完井
子命令和标志的基本选项卡完成可通过以下方式获得 argcomplete.重新安装软件包后,在shell中启用它:
pip install -e .
eval "$(register-python-argcomplete mcp-polarion)"对于bash,将该行添加到 ~/.bashrc.对于zsh,首先启用bash补全兼容性,然后注册相同的命令。
发展
pytest
black polarion_mcp tests
isort polarion_mcp tests
mypy polarion_mcp许可证
MIT。看 许可证.
