mcp-kiwi-tcms
mcp-kiwi-tcms
Плагин Kiwi TCMS, который обслуживает Model Context Protocol по адресу /mcp/ внутри процесса Kiwi (Apache/WSGI, JSON Streamable HTTP, без SSE).
Аутентификация — только по API-ключу: Authorization: Bearer kiwi_mcp_… сопоставляется с пользователем Django. Никакого HTTP Basic, OAuth или IdP.
Установка в образ Kiwi
RUN pip install --no-cache-dir \
"mcp-kiwi-tcms @ git+https://github.com/runitsolutions/mcp-kiwi-tcms@<sha>"Kiwi загружает точку входа kiwitcms.plugins mcp = mcp_kiwi_tcms, поэтому URL-адреса монтируются на /mcp/. Затем:
./manage.py migrate mcp_kiwi_tcms
./manage.py kiwi_mcp_create_key --username <django-user> --name cursorКоманда выводит токен в открытом виде один раз. Храните его вне git.
Проверка из пода (запрос должен достичь 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_…"
}
}
}
}Отзовите ключ в админке Django (MCP API keys) или установите revoked_at. Это не меняет пароль пользователя.
Если обратный прокси перед Kiwi перехватывает /mcp с HTML-страницей входа, этот плагин никогда не увидит запрос. Такая маршрутизация выходит за рамки данного документа.
Инструменты
Чтение: 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.
Запись: 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.
Запасной выход: kiwi_rpc (Kiwi Class.method; *.remove / *.delete заблокированы). Ресурс kiwi://status. Промпт summarize_test_run.
RPC выполняется от имени пользователя Django, которому принадлежит ключ.
Разработка
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest -q
ruff check .Лицензия: AGPL-3.0-or-later, как и у плагинов 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