Mcp Server Polarion

io.github.devemberxPublished by GitHub account devemberxv2.1.0Updated Nov 3, 2026

MCP server for Polarion ALM — read and write documents and work items

Overview

AI-generated overview

MCP server for Polarion ALM that lets an assistant read, search, create and update documents, work items, test runs, links, comments and attachments.

What you can do
  • List projects, documents, work items and test runs, and run Lucene or SQL queries with pagination
  • Read documents and work items as Markdown or raw HTML, inspect document structure, links, comments and enum options
  • Create and update work items, documents and test runs, including workflow status and document copying
  • Manage traceability links, attach or detach work items from documents, and reorganize document structure
  • Post and resolve comments, and upload or view attachments on documents, work items and test records
When to use it
Useful when an assistant should work inside a Polarion ALM instance: summarizing requirements, tracing links between requirements and tests, recording test results, or drafting and reorganizing documents and work items.
Requirements
A local Python runtime with uv (run via uvx) and a reachable Polarion 2506 or newer instance. Requires the POLARION_URL and POLARION_TOKEN environment variables; POLARION_MAX_REQUESTS_PER_SECOND is optional and defaults to 1.
Before you install
The server writes to production ALM data: it creates and updates work items, documents and test runs, deletes links, and uploads local files as attachments. Every write supports dry_run, but that must be requested. It needs a Polarion personal access token in POLARION_TOKEN, which grants the token owner's permissions; keep it out of shared config files.

Installation

In SourceWeft

  1. Open Mcp Server Polarion in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[mcp-server-polarion]

mcp-server-polarion

Talk to your Polarion — AI reads, writes, and reorganizes documents, work items, test runs, and traceability links.

Features · Quickstart · Tools · Example Prompts · Setup

[CI] [Publish] [PyPI] [Python 3.13+] [License: MIT]

A Model Context Protocol (MCP) server for Polarion ALM, built for real-world instances: every write supports dry_run, guards validate fields and enum values before anything is committed, and requests are paced to a rate cap you configure for your instance — so an AI assistant can work on production data without surprises.

[mcp-server-polarion demo]

Features

  • 46 tools covering read and write across documents, work items, test runs, traceability links, comments, and attachments.
  • Read — render documents as Markdown, search with Lucene or SQL, walk incoming/outgoing links, resolve enum options.
  • Write — create and update work items, documents, and test runs, manage links, reorganize document structure, post comments.
  • Safe writes — every write tool supports dry_run, and pre-write guards validate fields, enum values, and link targets before hitting Polarion.
  • Plays nice with your server — requests are serialized and paced to a configurable rate cap, with automatic retries on 429/5xx responses.
  • Built for LLMs — strict async, fully typed, pagination on every list tool, docstrings written as the assistant's manual.

Quickstart

Requires Polarion 2506+ and uv — see Prerequisites. Fastest path — Claude Code:

bash
claude mcp add mcp-server-polarion \  -e POLARION_URL=https://polarion.example.com \  -e POLARION_TOKEN=your-personal-access-token \  -- uvx mcp-server-polarion

Other clients (VS Code, Claude Desktop, Cursor) — see Client Configuration.

Tools

Read

ToolDescription
list_projectsList accessible projects
list_documentsList documents in a project
list_work_itemsList work items in a project (Lucene/SQL query)
list_test_runsList test runs in a project (Lucene query, templates filter)
get_test_runGet test run details, optionally with the raw HTML report body
list_test_recordsList a test run's execution records, one per test case iteration
get_test_recordGet one test record's execution comment and test-case revision
get_sql_query_recipesFetch copy-paste SQL recipes for advanced queries
get_html_recipesFetch copy-paste Polarion HTML templates for raw-HTML body edits
get_documentGet document metadata, optionally with the raw body HTML
read_documentRender a document end-to-end as Markdown
read_document_partsList a document's structural parts with embedded work item metadata
get_work_itemGet work item details with the body as raw HTML
read_work_itemGet work item details with the body as Markdown
list_work_item_linksList a work item's outgoing or incoming links
list_document_attachmentsList a document's attachments with file name, size, and author
get_document_attachment_contentFetch an image attachment for viewing (bitmap as image, SVG as text)
list_work_item_attachmentsList a work item's attachments with file name, size, and author
get_work_item_attachment_contentFetch a work item image attachment for viewing (bitmap as image, SVG as text)
list_test_record_attachmentsList a test record's attachments with file name, size, and author
get_test_record_attachment_contentFetch a test record image attachment for viewing (bitmap as image, SVG as text)
list_document_commentsList a document's comments with thread relationships
list_work_item_commentsList a work item's comments with thread relationships
list_document_enum_optionsResolve valid enum ids for a document field
list_work_item_enum_optionsResolve valid enum ids for a work item field

All list tools support pagination via page_size (1–100) and page_number parameters.

Write

ToolDescription
create_work_itemsCreate one or more work items in a single request
update_work_itemsUpdate fields, body, or workflow status on one or more work items
create_documentCreate a new document
update_documentUpdate document metadata, body, or workflow status
copy_documentCopy a document to a new name, space, or project
create_test_runsCreate one or more test runs, optionally from a template
create_test_recordsRecord test-case execution results on a test run
update_test_runsUpdate title, status, group, or custom fields on one or more test runs
update_test_recordsUpdate result, comment, or defect link on one or more test records of a test run
create_work_item_linksCreate one or more outgoing links from a source work item
update_work_item_linkUpdate suspect / revision on one outgoing link
delete_work_item_linksDelete one or more outgoing links from a source work item
move_work_item_to_documentAttach a work item to a document at a chosen position
move_work_item_from_documentDetach a work item from its document
create_document_attachmentsUpload one or more local files as document attachments
create_work_item_attachmentsUpload one or more local files as work item attachments
create_test_record_attachmentsUpload one or more local files as test record attachments
create_document_commentsAdd one or more comments or replies to a document
create_work_item_commentsAdd one or more comments or replies to a work item
update_document_commentResolve or re-open a document comment
update_work_item_commentResolve or re-open a work item comment

Example Prompts

Discovery & search

"List the projects I can access, then show the documents in project MCPT with their types."

"List the documents in space 'Specifications' of project MCPT."

"Find every approved requirement in project MCPT whose title starts with 'Auth' and show me their owning document."

"Search project MCPT for work items where the custom field 'verification_method' is 'Test' — grab the SQL recipes first if you need a join."

"Find all work items in the SRS module of project MCPT that were changed in the last sprint."

Reading & summarizing

"Read the SRS document of project MCPT and summarize each open requirement."

"Show me the structural outline of the SRS document — headings and the work items under each."

"Read work item MCPT-042 as Markdown and explain what it asks for."

"Show the outgoing and incoming links for MCPT-042 and flag any child task that is still open."

"Which requirements in the SRS document have no 'verifies' back link from a test case?"

"List the open comment threads on the SRS document and who started each."

Creating & editing

"Create a task in project MCPT titled 'Refactor authentication module' and link it to MCPT-042 as 'relates_to'."

"Create three test-case work items in project MCPT from this checklist and link each one to MCPT-042 as 'verifies'."

"Add a new requirement under section 3.2 of the SRS document with the body I just drafted."

"Update the description of MCPT-042 with the revised text I'll paste, keeping the existing formatting."

"Add a comment on the SRS document asking the owner to clarify section 4, then reply to thread T-12 marking it resolved."

"Create a test run REG-SPRINT-7 in project MCPT from the 'Regression' template with status 'open'."

Workflow & reorganization

"List the valid status values for a defect in project MCPT, then move MCPT-077 to 'in_review'."

"Bump MCPT-042's priority to 90, set severity to 'major', and approve the workflow."

"Change MCPT-201 from a task to a requirement and re-apply its previous status."

"Move MCPT-201 into the SRS document right after MCPT-150."

"Detach MCPT-077 from its document so I can rework it as a standalone task."

"Mark the 'blocks' link from MCPT-042 to MCPT-099 as suspect, then delete the stale 'relates_to' link to MCPT-010."

Setup

Prerequisites

Polarion 2506 or higher is required. Earlier versions lack REST API endpoints this server depends on.

This server is distributed as a Python package and requires uv to run.

Install uv (if not already installed):

bash
# macOS / Linuxcurl -LsSf https://astral.sh/uv/install.sh | sh
# Windowspowershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Or via pip:

bash
pip install uv

No other installation is needed — uvx mcp-server-polarion downloads and runs the server automatically.

Environment Variables

VariableDescriptionExample
POLARION_URLBase URL of your Polarion instancehttps://polarion.example.com
POLARION_TOKENPersonal Access Token for authenticationyour-personal-access-token
POLARION_MAX_REQUESTS_PER_SECONDOptional. Client-side request rate cap — raise it to match your deployment's throttle, or set 0 to disable pacing. Writes keep a fixed extra pause regardless (default: 1)1

To generate a Personal Access Token, open Polarion, click your user name, and go to My Account → Personal Access Tokens.

Client Configuration

VS Code (GitHub Copilot)

Add to .vscode/mcp.json:

json
{  "servers": {    "mcp-server-polarion": {      "type": "stdio",      "command": "uvx",      "args": ["mcp-server-polarion"],      "env": {        "POLARION_URL": "https://polarion.example.com",        "POLARION_TOKEN": "your-personal-access-token"      }    }  }}
Claude Desktop

Add to claude_desktop_config.json:

json
{  "mcpServers": {    "mcp-server-polarion": {      "command": "uvx",      "args": ["mcp-server-polarion"],      "env": {        "POLARION_URL": "https://polarion.example.com",        "POLARION_TOKEN": "your-personal-access-token"      }    }  }}
Cursor

Add to Cursor MCP settings:

json
{  "mcpServers": {    "mcp-server-polarion": {      "command": "uvx",      "args": ["mcp-server-polarion"],      "env": {        "POLARION_URL": "https://polarion.example.com",        "POLARION_TOKEN": "your-personal-access-token"      }    }  }}
Claude Code

Register via the claude mcp add command:

bash
claude mcp add mcp-server-polarion \  -e POLARION_URL=https://polarion.example.com \  -e POLARION_TOKEN=your-personal-access-token \  -- uvx mcp-server-polarion

Contributing

Bug reports and pull requests are welcome — see CONTRIBUTING.md for branch, commit, and review conventions.

License

MIT

Source: README.md at commit 09d056e

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v2.1.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts