本项目提供了用于与Siemens Polarion Application Lifecycle Management (ALM) 系统集成的模型上下文协议(MCP)服务器实现。它允许大语言模型(LLM)客户端通过MCP协议访问和检索Polarion中的工作项数据。
主要功能点
- 连接Polarion ALM: 服务器能够连接到您的Polarion服务器实例。
- 提供工作项数据: 注册MCP工具,允许LLM根据工作项ID(如 'MD-12345')读取需求、测试用例、测试过程等工作项的内容。
- HTML到Markdown转换: 自动将Polarion工作项中的HTML格式描述转换为Markdown格式,方便LLM处理。
- 支持多种传输协议: 提供基于Stdio(控制台应用)和SSE(远程服务)的服务器实现。
安装步骤 (推荐使用Docker)
-
准备配置: 在您的Linux服务器上创建一个目录存放配置和日志,例如:
mkdir -p /opt/polarion-mcp-server cd /opt/polarion-mcp-server -
创建配置文件: 在 '/opt/polarion-mcp-server' 目录下创建 'appsettings.json' 文件,并填入您的Polarion连接信息:
{ "Logging": { /* 日志配置,通常无需修改 */ }, "AllowedHosts": "*", "PolarionClientConfiguration": { "ServerUrl": "https://your-polarion-server/", // 替换为您的Polarion服务器URL "Username": "your-username", // 替换为具有读取权限的Polarion用户名 "Password": "your-password", // 替换为对应用户的密码 "ProjectId": "your-project-id", // 替换为要访问的Polarion项目ID "TimeoutSeconds": 60 // 连接超时时间(可选,默认60秒) } } -
拉取Docker镜像:
docker pull peakflames/polarion-remote-mcp-server -
运行Docker容器: 启动服务器容器,将本地的 'appsettings.json' 文件挂载到容器内。
docker run -d \ --name polarion-mcp-server \ -p 8080:8080 \ -v /opt/polarion-mcp-server/appsettings.json:/app/appsettings.json \ peakflames/polarion-remote-mcp-server- '-d': 后台运行
- '--name': 为容器指定名称
- '-p 8080:8080': 将容器内部的8080端口映射到宿主机的8080端口 (MCP服务器在此端口监听)
- '-v ...:/app/appsettings.json': 将您创建的配置文件挂载到容器正确的位置
- 'peakflames/polarion-remote-mcp-server': 使用的Docker镜像名称
-
服务器地址: 服务器现在应该正在运行,可以通过 'http://{{your-server-ip}}:8080/sse' 访问。
服务器配置 (供MCP客户端使用)
为了让您的MCP客户端(如Cline, 支持MCP的VS Code插件或Claude Desktop等)连接到这个服务器,您需要在客户端的配置界面中添加一个新的MCP服务器连接。具体的配置项通常包括:
- 服务器名称 (Server name): 您可以给这个连接取一个方便识别的名字,例如 "Polarion"。
- 服务器类型 (Server type): 选择 "sse" (Server-Sent Events)。
- 服务器URL (Server URL): 填写服务器的访问地址,即您运行Docker容器宿主机的IP地址和映射的端口,加上 '/sse' 路径。格式为 'http://{{您的服务器IP}}:8080/sse'。
请参考您的具体MCP客户端的使用说明,找到添加远程MCP服务器的选项,并填入上述信息。
基本使用方法
连接配置成功后,您的LLM客户端应该能够发现并使用该服务器提供的MCP工具。当您需要LLM获取特定的Polarion工作项内容时,可以在与LLM的交互中指示其调用相应的工具,并提供工作项ID作为参数。
例如,如果提供的工具名为 'ReadWorkItems',您可能需要通过某种方式(取决于您的LLM客户端界面)让LLM执行 'ReadWorkItems("MD-123, TR-456")' 来获取ID为 "MD-123" 和 "TR-456" 的工作项内容。服务器会从Polarion获取这些工作项的详细信息,并将其文本内容(HTML描述会转为Markdown)返回给LLM。
信息
分类
开发者工具