Polarion MCP Server
Polarion MCP Server
Открытый, устанавливаемый MCP-сервер (Model Context Protocol) для Polarion с защитой от записи. Он читает LiveDoc, рабочие элементы и связи отслеживания через SOAP Web Services, встроенные в целевую установку Polarion, и выполняет создание, изменение и удаление только после явного подтверждения.
Windows предлагает установку в один клик и шифрование учётных данных через DPAPI. Linux/macOS можно запускать вручную с помощью Node.js и переменных окружения. Репозиторий не содержит никаких учётных записей, паролей, токенов, cookie, частных адресов серверов, ID проектов или текстов требований.
Основные возможности
Инструмент | Назначение | Побочные эффекты |
| Проверяет WSDL, учётные данные и SOAP-аутентификацию | Нет |
| Читает метаданные LiveDoc/Module | Нет |
| Постранично читает рабочие элементы в документе | Нет |
| Читает рабочий элемент, описание и ссылки по ID | Нет |
| Выполняет Lucene-запросы с ограничением по проекту | Нет; требуется право на запросы |
| Создаёт рабочий элемент в проекте или указанном LiveDoc | Создание |
| Выборочно изменяет заголовок, описание, тип или статус | Изменение |
| Удаляет рабочий элемент и распознаёт tombstone Polarion | Разрушительное |
Полные границы проверки см. в матрице функционального покрытия.
Related MCP server: permission-aware-mcp
Как это работает
Процесс MCP не парсит веб-страницы, не читает cookie браузера и не обходит права Polarion. Автоматическая привязка браузера лишь передаёт URL текущей вкладки Polarion в MCP; чтение и запись данных требований по-прежнему выполняются полностью через SOAP MCP.
Установка в один клик на Windows
Предварительные требования
Windows 10/11
Node.js 20 или новее
Git
Codex CLI (доступна команда
codex)Доступный сервер Polarion с открытым
/polarion/ws/services/*?wsdlУчётная запись Polarion или PAT с соответствующими правами на проект
1. Клонирование
git clone https://github.com/suzike/polarion-mcp-server.git
cd polarion-mcp-server2. Установка и регистрация
Интерактивная установка:
.\scripts\install.ps1Установщик:
проверяет Node.js, npm и Codex CLI;
выполняет
npm ci, строгую компиляцию и тесты;запрашивает адрес Polarion и способ аутентификации;
записывает пароль или PAT в защищённое хранилище учётных данных Windows;
создаёт резервную копию существующего
~/.codex/config.toml;регистрирует пользовательский MCP
polarion;проверяет, что Codex может прочитать новую конфигурацию.
Пример неинтерактивной конфигурации (учётные данные по-прежнему вводятся через защищённое приглашение):
.\scripts\install.ps1 `
-BaseUrl "https://polarion.example.com/polarion" `
-DefaultProject "MY_PROJECT" `
-DefaultDocumentLocation "Requirements/Software Requirements" `
-AuthMode password `
-ForceПосле установки перезапустите Codex.
3. Проверка окружения
.\scripts\doctor.ps1
codex mcp get polarionОбработка учётных данных
Учётные данные никогда не попадают в репозиторий или config.toml. Процесс установки Windows по умолчанию записывает:
%LOCALAPPDATA%\PolarionMcp\credentials.jsonСекрет шифруется с помощью Windows DPAPI, привязанной к текущему пользователю Windows; ACL файла отключает наследование и разрешает доступ только текущему пользователю. При запуске MCP лаунчер временно внедряет секрет в окружение дочернего процесса и немедленно очищает его при выходе.
Повторная настройка учётных данных:
.\scripts\setup-credentials.ps1 -AuthMode password
# 或
.\scripts\setup-credentials.ps1 -AuthMode access_tokenРазные серверы Polarion могут отключать SOAP-вход по PAT. В этом случае используйте аутентификацию по паролю или обратитесь к администратору, чтобы включить аутентификацию AccessToken.
Использование
После перезапуска Codex можно просто сказать:
检查 Polarion 连接状态。
读取项目 MY_PROJECT 的需求文档 Requirements/Software Requirements。
读取工作项 REQ-123,并列出它的追踪链接。
查询 MY_PROJECT 中状态为 approved 的 requirement,最多返回 20 条。Автоматическая привязка текущего проекта браузера
В MCP-хосте с поддержкой управления браузером можно сказать:
读取当前浏览器打开的 Polarion 文档前 20 条需求。Хост извлекает #/project/{projectId}/... из URL активной вкладки и передаёт полный URL в параметр polarion_url инструмента. MCP проверяет, что URL совпадает по источнику с настроенным сервисом Polarion, и автоматически определяет проект и расположение wiki-документа.
Если хост не имеет возможностей браузера, одновременно открыто несколько неоднозначных вкладок или текущая вкладка не является Polarion, укажите project_id явно.
Создание, изменение и удаление
Инструменты записи не позволяют молча использовать проект по умолчанию. Необходимо явно передать project_id или polarion_url и указать точное значение подтверждения:
Операция | Значение подтверждения |
Создание |
|
Изменение |
|
Удаление |
|
Пример диалога:
在 MY_PROJECT 创建一条 task,标题为“接口检查”。执行前先给我预览并询问确认。Хост должен сначала показать проект, тип, заголовок и описание; строка подтверждения передаётся только после явного подтверждения пользователем. Polarion по-прежнему выполняет проверки прав учётной записи, конфигурации типов, рабочего процесса и аудита.
Ручной запуск и другие MCP-хосты
Сборка:
npm ci
npm run buildНа Windows рекомендуется использовать безопасный лаунчер:
$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 переменные окружения может предоставлять менеджер паролей или менеджер процессов, затем запустите:
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Не записывайте секрет в отслеживаемый файл .env или в JSON-конфигурацию MCP.
Обновление и удаление
Обновление:
git pull --ff-only
npm ci
npm test
npm run buildУдаление регистрации с сохранением зашифрованных учётных данных:
.\scripts\uninstall.ps1Одновременное удаление зашифрованных учётных данных текущего пользователя Windows:
.\scripts\uninstall.ps1 -RemoveCredentialsПроверка и разработка
npm test # 严格编译 + 单元/契约测试
npm run smoke # MCP 协议和 8 个工具清单
npm audit --omit=dev # 生产依赖漏洞检查Для интеграционных тестов аутентификации необходимо самостоятельно задать несекретные целевые параметры:
$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Реальные тесты записи по умолчанию отклоняются. Устанавливайте только после явного разрешения и выбора одноразового проекта:
$env:POLARION_TEST_PROJECT_ID = "SANDBOX_PROJECT"
$env:POLARION_CONFIRM_LIVE_WRITE_TEST = "CREATE_UPDATE_DELETE:SANDBOX_PROJECT"
npm run integration:write-self-testЭтот тест создаёт временный элемент на уровне проекта, изменяет его и удаляет; он не добавляет элементы в LiveDoc. Не запускайте тесты записи на официальных документах требований.
Известные условия и ограничения
polarion_query_work_itemsтребует соответствующих прав на SOAP-запросы; некоторые учётные записи могут напрямую читать известные ID, но не могут выполнять глобальные Lucene-запросы.Типы рабочих элементов, статусы и рабочие процессы различаются в зависимости от проекта Polarion; инструмент создания не предоставляет универсальный тип по умолчанию.
SOAP-запросы создания в LiveDoc покрыты контрактными тестами, но перед выпуском не выполнялась разрушительная проверка на официальных документах.
Текущая автоматическая привязка браузера оркестрируется MCP-хостом, а не прямым чтением браузера через MCP.
Скрипт установки Windows DPAPI поддерживает только Windows; на других системах используйте переменные окружения или собственную интеграцию с системной связкой ключей.
Документация
License
MIT © 2026 suzike
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only checks for proposed orders against evidence and policy; no trading or payment authority.
Preventive human-approval write-gate for AI agents: writes commit only after a human approves.
Read-only finance and operations controls for AI agents with evidence and safe next actions.
Read-only Frasma MCP: profile, knowledge search, diagnostic handoff. No email.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables safe GitHub automation by queuing write operations for admin approval before execution.6-
- FlicenseAqualityDmaintenanceEnables 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-
- FlicenseNot gradedqualityBmaintenanceEnables creation and updates of Salesforce Product2 records via the REST API with write-only scoped access, requiring confirmation before actual writes.-
- FlicenseNot gradedqualityBmaintenanceEnables 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.-