mcp-server-polarion

Servidor MCP de Polarion ALM para Claude, Cursor y Copilot: lee y escribe documentos, elementos de trabajo y enlaces de trazabilidad.

Documentación

mcp-server-polarion

mcp-server-polarion

Habla con tu Polarion — la IA lee, escribe y reorganiza documentos, elementos de trabajo, ejecuciones de prueba y enlaces de trazabilidad.

Características · Inicio rápido · Herramientas · Ejemplos de prompts · Configuración

CI Publish PyPI Python 3.13+ License: MIT

Un servidor de Model Context Protocol (MCP) para Polarion ALM, construido para instancias reales: cada escritura admite dry_run, las validaciones comprueban campos y valores de enumeración antes de confirmar cualquier cambio, y las solicitudes se limitan a un tope de velocidad que configuras para tu instancia, de modo que un asistente de IA pueda trabajar con datos de producción sin sorpresas.

mcp-server-polarion demo

Características

  • 46 herramientas que cubren lectura y escritura en documentos, elementos de trabajo, ejecuciones de prueba, enlaces de trazabilidad, comentarios y adjuntos.
  • Lectura — renderiza documentos como Markdown, busca con Lucene o SQL, recorre enlaces entrantes/salientes, resuelve opciones de enumeración.
  • Escritura — crea y actualiza elementos de trabajo, documentos y ejecuciones de prueba, gestiona enlaces, reorganiza la estructura de documentos, publica comentarios.
  • Escrituras seguras — cada herramienta de escritura admite dry_run, y las validaciones previas a la escritura comprueban campos, valores de enumeración y destinos de enlaces antes de tocar Polarion.
  • Se lleva bien con tu servidor — las solicitudes se serializan y se limitan a un tope de velocidad configurable, con reintentos automáticos en respuestas 429/5xx.
  • Diseñado para LLMs — asíncrono estricto, totalmente tipado, paginación en cada herramienta de listado, docstrings escritos como manual del asistente.

Inicio rápido

Requiere Polarion 2506+ y uv — consulta Requisitos previos. La vía más rápida — Claude Code:

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

Otros clientes (VS Code, Claude Desktop, Cursor) — consulta Configuración del cliente.

Herramientas

Lectura

HerramientaDescripción
list_projectsLista los proyectos accesibles
list_documentsLista los documentos de un proyecto
list_work_itemsLista los elementos de trabajo de un proyecto (consulta Lucene/SQL)
list_test_runsLista las ejecuciones de prueba de un proyecto (consulta Lucene, filtro de plantillas)
get_test_runObtén los detalles de una ejecución de prueba, opcionalmente con el cuerpo del informe HTML sin procesar
list_test_recordsLista los registros de ejecución de una ejecución de prueba, uno por iteración de caso de prueba
get_test_recordObtén el comentario de ejecución y la revisión del caso de prueba de un registro de prueba
get_sql_query_recipesObtén recetas SQL listas para copiar y pegar para consultas avanzadas
get_html_recipesObtén plantillas HTML de Polarion listas para copiar y pegar para ediciones de cuerpo HTML sin procesar
get_documentObtén los metadatos de un documento, opcionalmente con el HTML del cuerpo sin procesar
read_documentRenderiza un documento de principio a fin como Markdown
read_document_partsLista las partes estructurales de un documento con metadatos de elementos de trabajo incrustados
get_work_itemObtén los detalles de un elemento de trabajo con el cuerpo como HTML sin procesar
read_work_itemObtén los detalles de un elemento de trabajo con el cuerpo como Markdown
list_work_item_linksLista los enlaces salientes o entrantes de un elemento de trabajo
list_document_attachmentsLista los adjuntos de un documento con nombre de archivo, tamaño y autor
get_document_attachment_contentObtén un adjunto de imagen para visualizarlo (mapa de bits como imagen, SVG como texto)
list_work_item_attachmentsLista los adjuntos de un elemento de trabajo con nombre de archivo, tamaño y autor
get_work_item_attachment_contentObtén un adjunto de imagen de un elemento de trabajo para visualizarlo (mapa de bits como imagen, SVG como texto)
list_test_record_attachmentsLista los adjuntos de un registro de prueba con nombre de archivo, tamaño y autor
get_test_record_attachment_contentObtén un adjunto de imagen de un registro de prueba para visualizarlo (mapa de bits como imagen, SVG como texto)
list_document_commentsLista los comentarios de un documento con relaciones de hilo
list_work_item_commentsLista los comentarios de un elemento de trabajo con relaciones de hilo
list_document_enum_optionsResuelve los IDs de enumeración válidos para un campo de documento
list_work_item_enum_optionsResuelve los IDs de enumeración válidos para un campo de elemento de trabajo

Todas las herramientas de listado admiten paginación mediante los parámetros page_size (1–100) y page_number.

Escritura

HerramientaDescripción
create_work_itemsCrea uno o más elementos de trabajo en una sola solicitud
update_work_itemsActualiza campos, cuerpo o estado de flujo de trabajo en uno o más elementos de trabajo
create_documentCrea un nuevo documento
update_documentActualiza metadatos, cuerpo o estado de flujo de trabajo de un documento
copy_documentCopia un documento a un nuevo nombre, espacio o proyecto
create_test_runsCrea una o más ejecuciones de prueba, opcionalmente desde una plantilla
create_test_recordsRegistra los resultados de ejecución de casos de prueba en una ejecución de prueba
update_test_runsActualiza título, estado, grupo o campos personalizados en una o más ejecuciones de prueba
update_test_recordsActualiza resultado, comentario o enlace de defecto en uno o más registros de prueba de una ejecución de prueba
create_work_item_linksCrea uno o más enlaces salientes desde un elemento de trabajo fuente
update_work_item_linkActualiza suspect / revision en un enlace saliente
delete_work_item_linksElimina uno o más enlaces salientes de un elemento de trabajo fuente
move_work_item_to_documentAdjunta un elemento de trabajo a un documento en una posición elegida
move_work_item_from_documentDesvincula un elemento de trabajo de su documento
create_document_attachmentsSube uno o más archivos locales como adjuntos de documento
create_work_item_attachmentsSube uno o más archivos locales como adjuntos de elemento de trabajo
create_test_record_attachmentsSube uno o más archivos locales como adjuntos de registro de prueba
create_document_commentsAñade uno o más comentarios o respuestas a un documento
create_work_item_commentsAñade uno o más comentarios o respuestas a un elemento de trabajo
update_document_commentResuelve o reabre un comentario de documento
update_work_item_commentResuelve o reabre un comentario de elemento de trabajo

Ejemplos de prompts

Descubrimiento y búsqueda

"Lista los proyectos a los que tengo acceso y luego muestra los documentos del proyecto MCPT con sus tipos."

"Lista los documentos del espacio 'Specifications' del proyecto MCPT."

"Encuentra todos los requisitos aprobados en el proyecto MCPT cuyo título comience con 'Auth' y muéstrame su documento propietario."

"Busca en el proyecto MCPT elementos de trabajo donde el campo personalizado 'verification_method' sea 'Test' — obtén primero las recetas SQL si necesitas una unión."

"Encuentra todos los elementos de trabajo en el módulo SRS del proyecto MCPT que se cambiaron en el último sprint."

Lectura y resumen

"Lee el documento SRS del proyecto MCPT y resume cada requisito abierto."

"Muéstrame el esquema estructural del documento SRS — encabezados y los elementos de trabajo debajo de cada uno."

"Lee el elemento de trabajo MCPT-042 como Markdown y explica qué pide."

"Muestra los enlaces salientes y entrantes de MCPT-042 y marca cualquier tarea hija que siga abierta."

"¿Qué requisitos del documento SRS no tienen un enlace inverso 'verifies' desde un caso de prueba?"

"Lista los hilos de comentarios abiertos en el documento SRS y quién inició cada uno."

Creación y edición

"Crea una tarea en el proyecto MCPT titulada 'Refactor authentication module' y enlázala a MCPT-042 como 'relates_to'."

"Crea tres elementos de trabajo de caso de prueba en el proyecto MCPT a partir de esta lista de verificación y enlaza cada uno a MCPT-042 como 'verifies'."

"Añade un nuevo requisito bajo la sección 3.2 del documento SRS con el cuerpo que acabo de redactar."

"Actualiza la descripción de MCPT-042 con el texto revisado que pegaré, manteniendo el formato existente."

"Añade un comentario en el documento SRS pidiendo al propietario que aclare la sección 4, luego responde al hilo T-12 marcándolo como resuelto."

"Crea una ejecución de prueba REG-SPRINT-7 en el proyecto MCPT desde la plantilla 'Regression' con estado 'open'."

Flujo de trabajo y reorganización

"Lista los valores de estado válidos para un defecto en el proyecto MCPT, luego mueve MCPT-077 a 'in_review'."

"Sube la prioridad de MCPT-042 a 90, establece la severidad en 'major' y aprueba el flujo de trabajo."

"Cambia MCPT-201 de tarea a requisito y vuelve a aplicar su estado anterior."

"Mueve MCPT-201 al documento SRS justo después de MCPT-150."

"Desvincula MCPT-077 de su documento para poder rehacerlo como tarea independiente."

"Marca el enlace 'blocks' de MCPT-042 a MCPT-099 como sospechoso, luego elimina el enlace obsoleto 'relates_to' a MCPT-010."

Configuración

Requisitos previos

Se requiere Polarion 2506 o superior. Las versiones anteriores carecen de los endpoints de la API REST de los que depende este servidor.

Este servidor se distribuye como un paquete de Python y requiere uv para ejecutarse.

Instala uv (si aún no está instalado):

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

O mediante pip:

pip install uv

No se necesita ninguna otra instalación: uvx mcp-server-polarion descarga y ejecuta el servidor automáticamente.

Variables de entorno

VariableDescripciónEjemplo
POLARION_URLURL base de tu instancia de Polarionhttps://polarion.example.com
POLARION_TOKENToken de acceso personal para autenticaciónyour-personal-access-token
POLARION_MAX_REQUESTS_PER_SECONDOpcional. Límite de velocidad de solicitudes del lado del cliente: auméntalo para igualar el límite de tu despliegue, o establece 0 para desactivar el ritmo. Las escrituras mantienen una pausa extra fija de todos modos (predeterminado: 1)1

Para generar un token de acceso personal, abre Polarion, haz clic en tu nombre de usuario y ve a Mi cuenta → Tokens de acceso personal.

Configuración del cliente

VS Code (GitHub Copilot)

Añade a .vscode/mcp.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

Añade a claude_desktop_config.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

Añade a la configuración MCP de Cursor:

{
  "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

Regístrate mediante el comando claude mcp add:

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

Contribuciones

Los informes de errores y las solicitudes de extracción son bienvenidos: consulta CONTRIBUTING.md para conocer las convenciones de ramas, commits y revisiones.

Licencia

MIT