Skip to main content
Glama
runitsolutions

mcp-kiwi-tcms

mcp-kiwi-tcms

Kiwi-TCMS-Plugin, das das Model Context Protocol unter /mcp/ innerhalb des Kiwi-Prozesses bereitstellt (Apache/WSGI, JSON Streamable HTTP, kein SSE).

Die Authentifizierung erfolgt nur über API-Schlüssel: Authorization: Bearer kiwi_mcp_…, die einem Django-Benutzer zugeordnet sind. Kein HTTP Basic, kein OAuth, kein IdP.

Installation im Kiwi-Image

RUN pip install --no-cache-dir \
      "mcp-kiwi-tcms @ git+https://github.com/runitsolutions/mcp-kiwi-tcms@<sha>"

Kiwi lädt den Einstiegspunkt kiwitcms.plugins mcp = mcp_kiwi_tcms, sodass URLs unter /mcp/ bereitgestellt werden. Dann:

./manage.py migrate mcp_kiwi_tcms
./manage.py kiwi_mcp_create_key --username <django-user> --name cursor

Der Befehl gibt das Klartext-Token einmalig aus. Bewahren Sie es außerhalb von git auf.

Smoke-Test aus dem Pod (die Anfrage muss Django erreichen):

curl -sS -X POST https://tms.seacrets.online/mcp/ \
  -H "Authorization: Bearer kiwi_mcp_…" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{}}}'

Related MCP server: tuskr-mcp-server

Cursor

{
  "mcpServers": {
    "kiwi-tcms": {
      "url": "https://tms.seacrets.online/mcp/",
      "headers": {
        "Authorization": "Bearer kiwi_mcp_…"
      }
    }
  }
}

Widerrufen Sie einen Schlüssel im Django-Admin (MCP API keys) oder setzen Sie revoked_at. Das ändert das Passwort des Benutzers nicht.

Wenn ein Reverse-Proxy vor Kiwi /mcp mit einer HTML-Anmeldeseite abfängt, sieht dieses Plugin die Anfrage nie. Dieses Routing ist hier nicht Gegenstand.

Tools

Lesen: kiwi_ping, kiwi_list_products, kiwi_list_test_plans, kiwi_list_test_cases, kiwi_get_test_case, kiwi_list_test_runs, kiwi_get_test_run_summary, kiwi_list_executions, kiwi_list_builds, kiwi_list_versions, kiwi_list_priorities, kiwi_list_categories, kiwi_list_plan_types.

Schreiben: kiwi_create_test_plan, kiwi_add_cases_to_plan, kiwi_create_test_case, kiwi_update_test_case, kiwi_create_test_run, kiwi_add_cases_to_run, kiwi_update_execution, kiwi_add_link_to_execution.

Notausstieg: kiwi_rpc (Kiwi Class.method; *.remove / *.delete blockiert). Ressource kiwi://status. Prompt summarize_test_run.

Der RPC läuft als der Django-Benutzer, dem der Schlüssel gehört.

Entwicklung

python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest -q
ruff check .

Lizenz: AGPL-3.0-or-later, wie bei Kiwi-TCMS-Plugins.

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

Maintenance

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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Official MCP server for Qase — manage test cases, runs, suites, defects via AI tools.

  • Search, document and execute authenticated API calls across 700+ apps via one MCP server

  • An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform

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/runitsolutions/mcp-kiwi-tcms'

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