Skip to main content
Glama

testlink-mcp

Un servidor de Model Context Protocol amigable con IA y con prioridad en la seguridad para TestLink 1.9.20. Expone herramientas normalizadas de descubrimiento y análisis, paginación por cursor acotada, salida estructurada y escrituras con vista previa antes de aplicar a través de stdio.

Este repositorio es una implementación limpia basada en la interfaz XML-RPC pública de TestLink y en el SDK público de MCP. No depende de ningún paquete privado de TestLink ni de un árbol de código fuente privado.

Características

  • Se inicia sin credenciales para que los clientes MCP puedan descubrir todas las herramientas, recursos e indicaciones.

  • Modo de demostración determinista explícito para evaluación e incorporación.

  • structuredContent, outputSchema, anotaciones de herramientas, paginación por cursor y códigos de error estables.

  • Solo metadatos de adjuntos; el contenido de los adjuntos y las cargas útiles base64 se eliminan.

  • Escrituras deshabilitadas por defecto. No existe herramienta de eliminación.

  • Cada aplicación requiere confirm: true, una vista previa no caducada de 10 minutos y una instantánea del servidor sin cambios.

  • Las llamadas con efectos secundarios nunca se reintentan automáticamente; los intentos de aplicación se registran en un registro de operaciones redactado.

  • Una protección en tiempo de ejecución bloquea versiones de Node impares no compatibles o al final de su vida útil y niveles de parches de seguridad por debajo del mínimo declarado.

Related MCP server: TestRail MCP Server

Requisitos

  • Node.js ^22.23.2 || ^24.18.1 || ^26.5.1

  • TestLink 1.9.20 con su API XML-RPC habilitada

La base de desarrollo y contenedor es Node 24.19.0 LTS. CI también ejecuta Node 22.23.2 y 26.7.0.

Inicio rápido

nvm use
npm ci
npm run build
TESTLINK_DEMO_MODE=true node dist/cli.js

Invocación futura de npm tras la publicación:

npx -y testlink-mcp@1.0.0

Configuración del cliente MCP:

{
  "mcpServers": {
    "testlink": {
      "command": "npx",
      "args": ["-y", "testlink-mcp@1.0.0"],
      "env": {
        "TESTLINK_URL": "https://testlink.example.com/testlink",
        "TESTLINK_DEV_KEY": "your-testlink-dev-key"
      }
    }
  }
}

No pongas credenciales reales en archivos rastreados. Copia .env.example a un .env ignorado, o inyecta variables de entorno desde tu cliente MCP o gestor de secretos.

Herramientas

Flujo de trabajo

Herramienta

Propósito

Inicio

testlink_get_server_capabilities

Comprobar configuración, compatibilidad, modo demo y política de escritura

Explorar

testlink_list_projects

Listar proyectos

Explorar

testlink_list_test_plans

Listar planes de pruebas en un proyecto

Explorar

testlink_list_builds

Listar builds en un plan

Explorar

testlink_list_test_suites

Recorrer un nivel de suite

Analizar

testlink_search_test_cases

Buscar casos en un ámbito acotado de proyecto/suite

Analizar

testlink_get_test_case

Recuperar un caso normalizado

Analizar

testlink_list_test_case_attachments

Recuperar metadatos seguros de adjuntos

Analizar

testlink_get_traceability

Inspeccionar cobertura de requisitos y planes

Analizar

testlink_get_execution_history

Inspeccionar evidencia reciente de ejecuciones

Validar

testlink_validate_test_case

Encontrar contenido de caso incompleto o ambiguo

Vista previa

testlink_preview_test_case_sync

Vista previa de creación/actualización y pertenencias a planes

Aplicar

testlink_apply_test_case_sync

Aplicar una vista previa de sincronización confirmada y sin cambios

Vista previa

testlink_preview_execution_result

Vista previa de informes aprobado/fallido/bloqueado

Aplicar

testlink_apply_execution_result

Aplicar una vista previa de resultado confirmada y sin cambios

Todas las herramientas devuelven:

{
  "ok": true,
  "data": {},
  "meta": {
    "source": "testlink",
    "requestId": "..."
  }
}

Los fallos usan ok: false con { code, message, retryable, details? }. Los consumidores deben ramificarse según error.code, no según el texto del mensaje.

Flujo de trabajo de escritura segura

  1. Busca un caso existente y recupera su versión actual.

  2. Valida el caso de prueba deseado.

  3. Llama a la herramienta de vista previa correspondiente.

  4. Muestra proposedChanges al usuario y obtén confirmación explícita.

  5. Llama a apply con el ID de vista previa y confirm: true en un plazo de 10 minutos.

  6. Si apply devuelve CONFLICT o PREVIEW_EXPIRED, crea y revisa una nueva vista previa.

Activa las escrituras solo en el proceso del servidor que deba realizarlas:

TESTLINK_WRITE_ENABLED=true npx -y testlink-mcp@1.0.0

La ruta predeterminada del registro es ~/.local/state/testlink-mcp/operations.jsonl. Sobrescríbela con TESTLINK_LEDGER_PATH. El registro contiene hashes y resultados redactados, no claves de desarrollador.

Configuración

Variable

Por defecto

Significado

TESTLINK_URL

sin definir

URL base de TestLink o endpoint XML-RPC completo

TESTLINK_DEV_KEY

sin definir

Clave API personal de TestLink

TESTLINK_DEMO_MODE

false

Usar datos de demostración locales deterministas

TESTLINK_WRITE_ENABLED

false

Permitir herramientas de aplicación confirmadas

TESTLINK_REQUEST_TIMEOUT_MS

30000

Tiempo de espera de solicitud, 100–300000 ms

TESTLINK_MAX_RESPONSE_BYTES

5242880

Tamaño máximo de respuesta XML

TESTLINK_LEDGER_PATH

directorio de estado del usuario

Registro de operaciones JSONL redactado

NODE_EXTRA_CA_CERTS

sin definir

Paquete de CA adicional opcional; la verificación TLS permanece habilitada

El modo demo es explícito y prevalece sobre la configuración remota:

TESTLINK_DEMO_MODE=true TESTLINK_WRITE_ENABLED=true node dist/cli.js

Desarrollo

npm ci
npm run check
npm test
npm run eval
npm run build
npm audit --omit=dev --audit-level=high
npm pack --dry-run

La evaluación offline de selección de herramientas comprueba que las intenciones comunes de usuario seleccionen de manera diferenciada las herramientas de búsqueda, validación, vista previa y aplicación. Es determinista y no envía datos a un modelo externo.

Docker

La imagen se ejecuta como un usuario no root y usa Node 24.19.0. Crea la imagen sin publicar:

docker buildx build --platform linux/amd64,linux/arm64 --tag testlink-mcp:local --output type=oci,dest=testlink-mcp.oci.tar .

Nombre futuro de la imagen tras aprobación y publicación: ghcr.io/easonlin/testlink-mcp:1.0.0.

Política de publicación

La versión 1.0.0 está lista para su lanzamiento, pero la publicación sigue siendo una acción explícita. El flujo de trabajo de publicación protegido requiere una etiqueta de versión firmada, vuelve a ejecutar todas las compuertas de pruebas/evaluación/auditoría/SBOM/paquete, publica npm con procedencia, publica una imagen GHCR multiarquitectura con SBOM y procedencia, crea un GitHub Release y, finalmente, publica la entrada validada del Registro MCP.

Un flujo de trabajo protegido separado de prueba de humo en vivo verifica el paquete instalado contra una instancia real de TestLink 1.9.20 mediante llamadas de solo lectura. Su URL y clave de desarrollador deben almacenarse como secretos de entorno y nunca se escriben en los registros.

El manifiesto del paquete y server.json comparten el nombre MCP io.github.easonlin/testlink-mcp. La validación del Registro se puede ejecutar sin publicar:

mcp-publisher validate server.json

Referencias públicas

Licencia

MIT

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that allows interaction with TestRail's core entities (projects, cases, runs, results, datasets) through a standardized protocol compatible with MCP clients like Claude Desktop.
    23
    20
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    A security-focused Model Context Protocol server that enables controlled local tool execution through strict network firewalls, filesystem protections, and rate-limiting policies. It features a plugin-based architecture for progressive tool discovery and includes reference implementations for web searching and bug tracking.
    15
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    AI-native Model Context Protocol (MCP) server for TestRail. Lets Claude, Cursor, Windsurf, and other AI assistants browse projects, create and update test cases, kick off test runs, and record results through natural-language conversation — with strongly-typed tool schemas and per-project custom field validation that helps LLMs generate valid TestRail requests on the first try.
    26
    817
    30
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • A Model Context Protocol server for Wix AI tools

  • MCP server for AI access to SmartBear tools, including BugSnag, Reflect, Swagger, PactFlow, QTM4J.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Eason0in/testlink-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server