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: tuskr-mcp-server

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.

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