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 cursorEl 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.
This server cannot be deployed
Maintenance
Related MCP Connectors
Manage Timequip projects, tasks, comments, members, and dashboards through MCP.
Read and write Mission Control state via MCP — projects, tasks, subtasks, templates, status updates.
Official MCP server for Qase — manage test cases, runs, suites, defects via AI tools.
Read and write shared BitsWeave context, projects, tasks, and work sessions through MCP.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables test execution and management through MCP clients, allowing retrieval of projects, listing tests, executing tests with browser selection, and monitoring results.610 npmMIT
- FlicenseNot gradedqualityDmaintenanceAn 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-
- AlicenseBqualityAmaintenanceMCP 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.6831 npmMIT
- AlicenseBqualityBmaintenanceEnables 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.49MIT