Skip to main content
Glama

Polarion MCP Server

CI Version License Node

Ein Open-Source-, installierbarer Polarion Model Context Protocol (MCP)-Server mit Schreibschutz. Er liest LiveDocs, Arbeitselemente und Trace-Verknüpfungen über die SOAP-Web-Services der Ziel-Polarion-Installation und führt nach ausdrücklicher Bestätigung Erstellen, Ändern und Löschen aus.

Windows bietet Ein-Klick-Installation und DPAPI-Anmeldedatenverschlüsselung. Linux/macOS können Node.js und Umgebungsvariablen für den manuellen Betrieb verwenden. Das Repository enthält keine Konten, Passwörter, Tokens, Cookies, private Serveradressen, Projekt-IDs oder Anforderungstexte.

Polarion MCP overview

Hauptfunktionen

Tool map

Tool

Funktion

Nebenwirkung

polarion_status

Prüft WSDL, Anmeldedaten und SOAP-Authentifizierung

Keine

polarion_get_document

Liest LiveDoc/Modul-Metadaten

Keine

polarion_list_document_requirements

Liest Arbeitselemente im Dokument seitenweise

Keine

polarion_get_work_item

Liest Arbeitselement, Beschreibung und Verknüpfungen nach ID

Keine

polarion_query_work_items

Führt projekteingeschränkte Lucene-Abfragen aus

Keine; erfordert Abfrageberechtigung

polarion_create_work_item

Erstellt Arbeitselement im Projekt oder in angegebenem LiveDoc

Erstellen

polarion_update_work_item

Ändert selektiv Titel, Beschreibung, Typ oder Status

Ändern

polarion_delete_work_item

Löscht Arbeitselement und erkennt Polarion-Tombstone

Destruktiv

Die vollständigen Validierungsgrenzen finden Sie in der Funktionsabdeckungsmatrix.

Related MCP server: permission-aware-mcp

Funktionsweise

Architecture

Der MCP-Prozess scraped keine Webseiten, liest keine Browser-Cookies und umgeht keine Polarion-Berechtigungen. Die Browser-Autoverknüpfung übergibt lediglich die URL des aktuellen Polarion-Tabs an den MCP; das Lesen und Schreiben von Anforderungsdaten erfolgt weiterhin vollständig über SOAP MCP.

Windows-Ein-Klick-Installation

Voraussetzungen

  • Windows 10/11

  • Node.js 20 oder höher

  • Git

  • Codex CLI (codex-Befehl verfügbar)

  • Erreichbarer Polarion-Server mit geöffnetem /polarion/ws/services/*?wsdl

  • Polarion-Konto oder PAT mit entsprechenden Projektberechtigungen

1. Klonen

git clone https://github.com/suzike/polarion-mcp-server.git
cd polarion-mcp-server

2. Installation und Registrierung

Interaktive Installation:

.\scripts\install.ps1

Der Installer:

  1. Prüft Node.js, npm und Codex CLI;

  2. Führt npm ci, strikte Kompilierung und Tests aus;

  3. Fragt Polarion-Adresse und Authentifizierungsmethode ab;

  4. Erfasst Passwort oder PAT in der Windows-Sicherheitsanmeldeinformationen-Aufforderung;

  5. Sichert vorhandene ~/.codex/config.toml;

  6. Registriert den benutzerbezogenen polarion-MCP;

  7. Verifiziert, dass Codex die neue Konfiguration lesen kann.

Installation flow

Beispiel für nicht-interaktive Konfiguration (Anmeldedaten werden weiterhin über die Sicherheitsaufforderung eingegeben):

.\scripts\install.ps1 `
  -BaseUrl "https://polarion.example.com/polarion" `
  -DefaultProject "MY_PROJECT" `
  -DefaultDocumentLocation "Requirements/Software Requirements" `
  -AuthMode password `
  -Force

Nach der Installation Codex neu starten.

3. Umgebung prüfen

.\scripts\doctor.ps1
codex mcp get polarion

Behandlung von Anmeldedaten

Credential flow

Anmeldedaten gelangen niemals in das Repository oder in config.toml. Der Windows-Installationsablauf schreibt standardmäßig:

%LOCALAPPDATA%\PolarionMcp\credentials.json

Dabei wird das Secret mit Windows DPAPI an den aktuellen Windows-Benutzer gebunden verschlüsselt, die Datei-ACL deaktiviert die Vererbung und erlaubt nur dem aktuellen Benutzer den Zugriff. Beim MCP-Start injiziert der Launcher das Secret temporär in die Umgebung des Unterprozesses und löscht es beim Beenden sofort.

Anmeldedaten neu setzen:

.\scripts\setup-credentials.ps1 -AuthMode password
# 或
.\scripts\setup-credentials.ps1 -AuthMode access_token

Verschiedene Polarion-Server können die PAT-SOAP-Anmeldung deaktivieren. Verwenden Sie in diesem Fall die Passwort-Authentifizierung oder kontaktieren Sie den Administrator, um die AccessToken-Authentifizierung zu aktivieren.

Verwendung

Nach dem Neustart von Codex können Sie direkt sagen:

检查 Polarion 连接状态。
读取项目 MY_PROJECT 的需求文档 Requirements/Software Requirements。
读取工作项 REQ-123,并列出它的追踪链接。
查询 MY_PROJECT 中状态为 approved 的 requirement,最多返回 20 条。

Automatische Verknüpfung mit dem aktuellen Browserprojekt

Browser context flow

In einem MCP-Host mit Browsersteuerung können Sie sagen:

读取当前浏览器打开的 Polarion 文档前 20 条需求。

Der Host extrahiert #/project/{projectId}/... aus der URL des aktuell aktiven Tabs und übergibt die vollständige URL an den Parameter polarion_url des Tools. Der MCP validiert, dass die URL mit dem konfigurierten Polarion-Dienst gleicher Herkunft ist, und löst automatisch Projekt- und Wiki-Dokumentpositionen auf.

Wenn der Host keine Browserfunktionen hat, mehrere nicht unterscheidbare Tabs vorhanden sind oder der aktuelle Tab nicht Polarion ist, geben Sie explizit project_id an.

Erstellen, Ändern und Löschen

Write safety gate

Schreibtools erlauben keine stille Verwendung des Standardprojekts. Sie müssen explizit project_id oder polarion_url übergeben und einen präzisen Bestätigungswert angeben:

Operation

Bestätigungswert

Erstellen

CREATE:<projectId>

Ändern

UPDATE:<projectId>:<workItemId>

Löschen

DELETE:<projectId>:<workItemId>

Beispieldialog:

在 MY_PROJECT 创建一条 task,标题为“接口检查”。执行前先给我预览并询问确认。

Der Host sollte zuerst Projekt, Typ, Titel und Beschreibung anzeigen; erst nach ausdrücklicher Bestätigung durch den Benutzer wird die Bestätigungszeichenfolge übergeben. Polarion führt weiterhin Kontoberechtigungs-, Typkonfigurations-, Workflow- und Auditprüfungen durch.

Manueller Betrieb und andere MCP-Hosts

Build:

npm ci
npm run build

Windows empfiehlt den sicheren Launcher:

$env:POLARION_BASE_URL = "https://polarion.example.com/polarion"
$env:POLARION_PROJECT_ID = "MY_PROJECT"          # 可选
$env:POLARION_NODE_PATH = (Get-Command node).Source
.\scripts\start-secure.ps1

Linux/macOS können Umgebungsvariablen über einen Passwortmanager oder Prozessmanager bereitstellen und dann ausführen:

export POLARION_BASE_URL="https://polarion.example.com/polarion"
export POLARION_AUTH_MODE="access_token"
export POLARION_ACCESS_TOKEN="$(your-secret-manager read polarion-token)"
node dist/index.js

Schreiben Sie das Secret nicht in eine versionierte .env-Datei oder in die MCP-JSON-Konfiguration.

Aktualisierung und Deinstallation

Aktualisierung:

git pull --ff-only
npm ci
npm test
npm run build

Registrierung entfernen, aber verschlüsselte Anmeldedaten behalten:

.\scripts\uninstall.ps1

Gleichzeitig die verschlüsselten Anmeldedaten des aktuellen Windows-Benutzers löschen:

.\scripts\uninstall.ps1 -RemoveCredentials

Verifikation und Entwicklung

npm test                 # 严格编译 + 单元/契约测试
npm run smoke            # MCP 协议和 8 个工具清单
npm audit --omit=dev     # 生产依赖漏洞检查

Authentifizierungs-Integrationstests erfordern das selbstständige Setzen nicht-geheimer Zielparameter:

$env:POLARION_BASE_URL = "https://polarion.example.com/polarion"
$env:POLARION_TEST_PROJECT_ID = "SANDBOX_PROJECT"
$env:POLARION_TEST_DOCUMENT_LOCATION = "Requirements/Test Document"
$env:POLARION_TEST_WORK_ITEM_ID = "REQ-1"
npm run integration:secure

Echte Schreib-Selbsttests verweigern standardmäßig die Ausführung. Nur nach ausdrücklicher Autorisierung und Auswahl eines verwerfbaren Projekts setzen:

$env:POLARION_TEST_PROJECT_ID = "SANDBOX_PROJECT"
$env:POLARION_CONFIRM_LIVE_WRITE_TEST = "CREATE_UPDATE_DELETE:SANDBOX_PROJECT"
npm run integration:write-self-test

Dieser Test erstellt ein temporäres Element auf Projektebene, ändert es und löscht es; er fügt es nicht aktiv in ein LiveDoc ein. Führen Sie Schreib-Selbsttests nicht gegen offizielle Anforderungsdokumente aus.

Bekannte Bedingungen und Einschränkungen

  • polarion_query_work_items erfordert die entsprechende SOAP-Abfrageberechtigung; einige Konten können bekannte IDs direkt lesen, aber keine globalen Lucene-Abfragen ausführen.

  • Arbeitselementtypen, Status und Workflows variieren je nach Polarion-Projekt; das Erstellungstool bietet keinen allgemeinen Standardtyp.

  • Die SOAP-Anfrage zum Erstellen in einem LiveDoc hat Vertragstests, aber vor der Veröffentlichung wurde keine destruktive Validierung in offiziellen Dokumenten durchgeführt.

  • Die automatische Browserverknüpfung wird vom MCP-Host orchestriert, nicht vom MCP direkt aus dem Browser gelesen.

  • Das Windows-DPAPI-Installationsskript unterstützt nur Windows; andere Systeme verwenden Umgebungsvariablen oder binden den System-Keychain selbst an.

Dokumentation

License

MIT © 2026 suzike

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Enables secure file system operations (read, write, delete) and simulated command execution with server-enforced permission policies, risk assessment, and human-in-the-loop approval.
    5
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables creation and updates of Salesforce Product2 records via the REST API with write-only scoped access, requiring confirmation before actual writes.
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables local or HTTP-based MCP interactions with a mock SAP Cloud ALM environment, enforcing read/write capability separation and fail-closed security policies for future SAP Cloud ALM connectivity.
    -