Skip to main content
Glama
runitsolutions

mcp-kiwi-tcms

mcp-kiwi-tcms

Complemento de Kiwi TCMS que sirve el Model Context Protocol en /mcp/ dentro del proceso de Kiwi (Apache/WSGI, JSON Streamable HTTP, sin SSE).

La autenticación es solo mediante clave API: Authorization: Bearer kiwi_mcp_… asociada a un usuario de Django. No hay HTTP Basic, ni OAuth, ni IdP.

Instalación en la imagen de Kiwi

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

Kiwi carga el punto de entrada kiwitcms.plugins mcp = mcp_kiwi_tcms, por lo que las URLs se montan en /mcp/. Luego:

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

El comando imprime el token en texto plano una sola vez. Guárdalo fuera de git.

Prueba de humo desde el pod (la petición debe llegar a Django):

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: kiwi-tcms-mcp

Cursor

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

Revoca una clave en la administración de Django (MCP API keys) o establece revoked_at. Eso no cambia la contraseña del usuario.

Si un proxy inverso situado delante de Kiwi intercepta /mcp con una página de inicio de sesión HTML, este complemento nunca llega a ver la petición. Ese enrutamiento queda fuera del alcance de este documento.

Herramientas

Lectura: 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_priorities, kiwi_list_categories, kiwi_list_plan_types.

Escritura: 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.

Vía de escape: kiwi_rpc (método de Kiwi Class.method; *.remove / *.delete bloqueados). Recurso kiwi://status. Prompt summarize_test_run.

La RPC se ejecuta como el usuario de Django que posee la clave.

Desarrollo

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

Licencia: AGPL-3.0-or-later, igual que los complementos de Kiwi TCMS.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that exposes Kiwi TCMS as a set of AI-callable tools, enabling assistants to create and manage test plans, test cases, test runs, and executions directly from a conversation.
    1
    -
  • A
    license
    B
    quality
    A
    maintenance
    MCP server providing full access to Kiwi TCMS via JSON-RPC, with 68 tools for test plans, cases, runs, executions, and reference data. It supports named arguments, default project, and easy integration with MCP clients.
    68
    31 npm
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Enables MCP clients to interact with Kiwi TCMS test-management data, allowing users to browse and create test cases, build plans and runs, and record execution results through natural-language prompts. It exposes 49 read/write tools over the Kiwi JSON-RPC API.
    49
    MIT