Skip to main content
Glama

testlink-mcp

Ein KI-freundlicher, sicherheitsorientierter Model-Context-Protocol-Server für TestLink 1.9.20. Er stellt normalisierte Discovery- und Analyse-Tools, begrenzte Cursor-Paginierung, strukturierte Ausgaben und Schreibvorgänge mit Vorschau vor der Übernahme über stdio bereit.

Dieses Repository ist eine saubere Implementierung auf Basis der öffentlichen XML-RPC-Schnittstelle von TestLink und des öffentlichen MCP-SDK. Es besteht keine Abhängigkeit von einem privaten TestLink-Paket oder einem privaten Quellbaum.

Highlights

  • Start ohne Anmeldedaten, sodass MCP-Clients alle Tools, Ressourcen und Prompts entdecken können.

  • Expliziter deterministischer Demo-Modus für Evaluierung und Onboarding.

  • structuredContent, outputSchema, Tool-Anmerkungen, Cursor-Paginierung und stabile Fehlercodes.

  • Nur Metadaten zu Anhängen; Anhangsinhalte und Base64-Payloads werden entfernt.

  • Schreibvorgänge sind standardmäßig deaktiviert. Es gibt kein Lösch-Tool.

  • Jede Übernahme erfordert confirm: true, eine nicht abgelaufene 10-Minuten-Vorschau und einen unveränderten Server-Snapshot.

  • Nebenwirkungsbehaftete Aufrufe werden niemals automatisch wiederholt; Übernahmeversuche werden in einem geschwärzten Vorgangsprotokoll festgehalten.

  • Die Laufzeitumgebung blockiert nicht unterstützte/EOL-ungerade Node-Versionen und Sicherheits-Patch-Level unterhalb der festgelegten Mindestanforderung.

Related MCP server: TestRail MCP Server

Voraussetzungen

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

  • TestLink 1.9.20 mit aktivierter XML-RPC-API

Die Entwicklungs- und Container-Basisversion ist Node 24.19.0 LTS. CI läuft zusätzlich mit Node 22.23.2 und 26.7.0.

Schnellstart

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

Zukünftiger npm-Aufruf nach der Veröffentlichung:

npx -y testlink-mcp@1.0.0

MCP-Client-Konfiguration:

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

Setzen Sie keine echten Anmeldedaten in versionierte Dateien. Kopieren Sie .env.example in eine ignorierte .env-Datei oder injizieren Sie Umgebungsvariablen über Ihren MCP-Client/Secret-Manager.

Tools

Workflow

Tool

Zweck

Start

testlink_get_server_capabilities

Prüft Konfiguration, Kompatibilität, Demo-Modus und Schreibrichtlinie

Entdecken

testlink_list_projects

Listet Projekte auf

Entdecken

testlink_list_test_plans

Listet Pläne in einem Projekt auf

Entdecken

testlink_list_builds

Listet Builds in einem Plan auf

Entdecken

testlink_list_test_suites

Geht eine Suite-Ebene weiter

Analysieren

testlink_search_test_cases

Durchsucht Fälle in einem begrenzten Projekt-/Suite-Bereich

Analysieren

testlink_get_test_case

Ruft einen normalisierten Fall ab

Analysieren

testlink_list_test_case_attachments

Ruft sichere Anhangsmetadaten ab

Analysieren

testlink_get_traceability

Untersucht Anforderungs- und Planabdeckung

Analysieren

testlink_get_execution_history

Untersucht aktuelle Ausführungsnachweise

Validieren

testlink_validate_test_case

Findet unvollständige oder mehrdeutige Fallinhalte

Vorschau

testlink_preview_test_case_sync

Vorschau für Erstellen/Aktualisieren und Planzuordnungen

Übernehmen

testlink_apply_test_case_sync

Übernimmt eine unveränderte bestätigte Synchronisationsvorschau

Vorschau

testlink_preview_execution_result

Vorschau für bestanden/fehlgeschlagen/blockiert-Meldungen

Übernehmen

testlink_apply_execution_result

Übernimmt eine unveränderte bestätigte Ergebnisvorschau

Alle Tools geben Folgendes zurück:

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

Fehler verwenden ok: false mit { code, message, retryable, details? }. Konsumenten sollten auf error.code verzweigen, nicht auf den Nachrichtentext.

Sicherer Schreibworkflow

  1. Suchen Sie einen vorhandenen Fall und rufen Sie dessen aktuelle Version ab.

  2. Validieren Sie den gewünschten Testfall.

  3. Rufen Sie das entsprechende Vorschau-Tool auf.

  4. Zeigen Sie proposedChanges dem Benutzer und holen Sie eine ausdrückliche Bestätigung ein.

  5. Rufen Sie die Übernahme mit der Vorschau-ID und confirm: true innerhalb von 10 Minuten auf.

  6. Wenn die Übernahme CONFLICT oder PREVIEW_EXPIRED zurückgibt, erstellen und prüfen Sie eine neue Vorschau.

Aktivieren Sie Schreibvorgänge nur in dem Serverprozess, der sie ausführen soll:

TESTLINK_WRITE_ENABLED=true npx -y testlink-mcp@1.0.0

Der Standardprotokollpfad ist ~/.local/state/testlink-mcp/operations.jsonl. Sie können ihn mit TESTLINK_LEDGER_PATH überschreiben. Das Protokoll enthält Hashes und geschwärzte Ergebnisse, keine Entwicklerschlüssel.

Konfiguration

Variable

Standard

Bedeutung

TESTLINK_URL

nicht gesetzt

TestLink-Basis-URL oder vollständiger XML-RPC-Endpunkt

TESTLINK_DEV_KEY

nicht gesetzt

Persönlicher TestLink-API-Schlüssel

TESTLINK_DEMO_MODE

false

Deterministische lokale Demodaten verwenden

TESTLINK_WRITE_ENABLED

false

Bestätigte Übernahme-Tools zulassen

TESTLINK_REQUEST_TIMEOUT_MS

30000

Anforderungs-Timeout, 100–300000 ms

TESTLINK_MAX_RESPONSE_BYTES

5242880

Maximale Antwortgröße

TESTLINK_LEDGER_PATH

Benutzerstatusverzeichnis

Geschwärztes Vorgangsprotokoll

NODE_EXTRA_CA_CERTS

nicht gesetzt

Optionales zusätzliches CA-Bundle; TLS-Überprüfung bleibt aktiviert

Der Demo-Modus ist explizit und hat Vorrang vor Remote-Konfiguration:

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

Entwicklung

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

Der Offline-Toolauswahl-Eval prüft, dass häufige Benutzerabsichten eindeutig Such-, Validierungs-, Vorschau- und Übernahme-Tools auswählen. Er ist deterministisch und sendet keine Daten an ein externes Modell.

Docker

Das Image läuft als Nicht-Root-Benutzer und verwendet Node 24.19.0. Build ohne Pushen:

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

Zukünftiger Imagename nach Freigabe: ghcr.io/easonlin/testlink-mcp:1.0.0.

Veröffentlichungsrichtlinie

Version 1.0.0 ist veröffentlichungsbereit, aber die Veröffentlichung bleibt eine ausdrückliche Aktion. Der geschützte Veröffentlichungsworkflow erfordert ein signiertes Versions-Tag, führt die vollständigen Test-/Eval-/Audit-/SBOM-/Paketprüfungen erneut aus, veröffentlicht das npm-Paket mit Herkunftsnachweis, veröffentlicht ein Multi-Architektur-GHCR-Image mit SBOM und Herkunftsnachweis, erstellt ein GitHub-Release und veröffentlicht anschließend den validierten MCP-Registry-Eintrag.

Ein separater geschützter Live-Smoke-Workflow prüft das installierte Paket gegen eine echte TestLink-1.9.20-Instanz mit reinen Leseaufrufen. Deren URL und Entwicklerschlüssel müssen als Umgebungsgeheimnisse gespeichert werden und werden niemals in Protokolle geschrieben.

Das Paketmanifest und server.json teilen sich den MCP-Namen io.github.easonlin/testlink-mcp. Die Registry-Validierung kann ohne Veröffentlichung ausgeführt werden:

mcp-publisher validate server.json

Öffentliche Referenzen

Lizenz

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