Skip to main content
Glama

Polarion MCP Server

CI Version License Node

Открытый, устанавливаемый MCP-сервер (Model Context Protocol) для Polarion с защитой от записи. Он читает LiveDoc, рабочие элементы и связи отслеживания через SOAP Web Services, встроенные в целевую установку Polarion, и выполняет создание, изменение и удаление только после явного подтверждения.

Windows предлагает установку в один клик и шифрование учётных данных через DPAPI. Linux/macOS можно запускать вручную с помощью Node.js и переменных окружения. Репозиторий не содержит никаких учётных записей, паролей, токенов, cookie, частных адресов серверов, ID проектов или текстов требований.

Polarion MCP overview

Основные возможности

Tool map

Инструмент

Назначение

Побочные эффекты

polarion_status

Проверяет WSDL, учётные данные и SOAP-аутентификацию

Нет

polarion_get_document

Читает метаданные LiveDoc/Module

Нет

polarion_list_document_requirements

Постранично читает рабочие элементы в документе

Нет

polarion_get_work_item

Читает рабочий элемент, описание и ссылки по ID

Нет

polarion_query_work_items

Выполняет Lucene-запросы с ограничением по проекту

Нет; требуется право на запросы

polarion_create_work_item

Создаёт рабочий элемент в проекте или указанном LiveDoc

Создание

polarion_update_work_item

Выборочно изменяет заголовок, описание, тип или статус

Изменение

polarion_delete_work_item

Удаляет рабочий элемент и распознаёт tombstone Polarion

Разрушительное

Полные границы проверки см. в матрице функционального покрытия.

Related MCP server: permission-aware-mcp

Как это работает

Architecture

Процесс 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-server

2. Установка и регистрация

Интерактивная установка:

.\scripts\install.ps1

Установщик:

  1. проверяет Node.js, npm и Codex CLI;

  2. выполняет npm ci, строгую компиляцию и тесты;

  3. запрашивает адрес Polarion и способ аутентификации;

  4. записывает пароль или PAT в защищённое хранилище учётных данных Windows;

  5. создаёт резервную копию существующего ~/.codex/config.toml;

  6. регистрирует пользовательский MCP polarion;

  7. проверяет, что Codex может прочитать новую конфигурацию.

Installation flow

Пример неинтерактивной конфигурации (учётные данные по-прежнему вводятся через защищённое приглашение):

.\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

Обработка учётных данных

Credential flow

Учётные данные никогда не попадают в репозиторий или 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 条。

Автоматическая привязка текущего проекта браузера

Browser context flow

В MCP-хосте с поддержкой управления браузером можно сказать:

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

Хост извлекает #/project/{projectId}/... из URL активной вкладки и передаёт полный URL в параметр polarion_url инструмента. MCP проверяет, что URL совпадает по источнику с настроенным сервисом Polarion, и автоматически определяет проект и расположение wiki-документа.

Если хост не имеет возможностей браузера, одновременно открыто несколько неоднозначных вкладок или текущая вкладка не является Polarion, укажите project_id явно.

Создание, изменение и удаление

Write safety gate

Инструменты записи не позволяют молча использовать проект по умолчанию. Необходимо явно передать project_id или polarion_url и указать точное значение подтверждения:

Операция

Значение подтверждения

Создание

CREATE:<projectId>

Изменение

UPDATE:<projectId>:<workItemId>

Удаление

DELETE:<projectId>:<workItemId>

Пример диалога:

在 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

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.
    -