Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
KIWI_URLYesBase URL only, no path. e.g. https://kiwi.example.com
KIWI_PASSWORDYesKiwi password
KIWI_USERNAMEYesKiwi login (email or username)
MCP_HTTP_HOSTNoSet 0.0.0.0 in a container.127.0.0.1
MCP_HTTP_PORTNoPort for the HTTP server.8787
MCP_AUTH_TOKENNoRequired for the HTTP server (min 32 chars). Callers pass it in the URL path or as a bearer token.
MCP_RATE_PER_MINNoPer-IP request cap.120
KIWI_INSECURE_TLSNoSet to '1' only if the host's TLS cert is not trusted by Node (self-signed / internal CA). Disables cert verification for the whole process.
MCP_ALLOW_NO_AUTHNoSet to '1' to disable the token check entirely. Not recommended.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
kiwi_get_productsB

List Kiwi products (the TestRail 'project' equivalent). Filter dict optional.

kiwi_get_versionsA

List product versions. Typical filter: {"product": }.

kiwi_get_buildsA

List builds. Typical filter: {"version__product": } or {"version": }.

kiwi_get_categoriesA

List test-case categories for a product (closest thing to TestRail sections). Typical filter: {"product": }.

kiwi_get_componentsA

List components. Typical filter: {"product": }.

kiwi_get_tagsA

List tags (the TestRail 'labels' equivalent). Filter e.g. {"name__startswith": "reg"}.

kiwi_get_prioritiesB

List test-case priorities and their ids.

kiwi_get_usersA

List Kiwi users. Filter e.g. {"username": "sqa1"} or {"email__icontains": "acme.com"}. Requires the 'auth.view_user' permission on your Kiwi account; without it Kiwi returns error -32098 ("Authentication failed").

kiwi_get_execution_statusesA

List TestExecution statuses (PASSED / FAILED / BLOCKED / ...) with their ids. Needed before updating an execution result.

kiwi_get_case_statusesA

List TestCase statuses (CONFIRMED / PROPOSED / ...) with their ids.

kiwi_get_plan_typesA

List test-plan types (Unit / Integration / Function / ...) with their ids.

kiwi_get_classificationsA

List product classifications with their ids.

kiwi_get_test_casesA

Search test cases. query is a Kiwi ORM filter dict. Common keys: {"plan": }, {"category__product": }, {"summary__icontains": "data usage"}, {"case_status__name": "CONFIRMED"}.

kiwi_get_test_caseA

Fetch one test case by id, optionally with its comments, custom properties and attachment list.

kiwi_create_test_caseA

Create a test case. values must include at least: summary, category_id (or category), priority_id (or priority), case_status_id (or case_status). Optional: text, notes, is_automated, script, extra_link, requirement, default_tester_id. Returns the created case.

kiwi_update_test_caseA

Update one test case. values is a partial field dict (e.g. {"summary": "...", "text": "...", "case_status_id": 2}).

kiwi_update_test_casesA

Apply the same values patch to many cases (mirrors TestRail update_cases). Runs one TestCase.update per id and reports per-id success/failure.

kiwi_delete_test_caseA

Permanently delete test cases matching an ORM filter dict. DESTRUCTIVE. Pass e.g. {"id": 123} or {"id__in": [1,2,3]}.

kiwi_get_test_case_historyC

Return the change history for a test case.

kiwi_add_test_case_commentC

Add a comment to a test case.

kiwi_add_test_case_tagA

Attach a tag (by name) to a test case. The tag is created if it does not exist.

kiwi_add_test_case_componentB

Attach a component (by name) to a test case.

kiwi_add_test_case_attachmentB

Attach a file to a test case. Provide base64-encoded content.

kiwi_export_test_cases_for_ragA

Bulk-export full text of test cases matching query, flattened for RAG / review (id, summary, category, priority, status, text, notes). Mirrors TestRail export_cases_for_rag.

kiwi_get_test_plansA

Search test plans. query common keys: {"product": }, {"name__icontains": "regression"}, {"is_active": true}.

kiwi_create_test_planA

Create a test plan. values needs: name, text, product_id (or product), product_version_id (or product_version), type_id (or type). Optional: parent_id, is_active, extra_link.

kiwi_update_test_planB

Update a test plan with a partial field dict.

kiwi_add_case_to_planB

Link an existing test case to a test plan.

kiwi_remove_case_from_planB

Unlink a test case from a test plan.

kiwi_add_plan_tagB

Attach a tag (by name) to a test plan.

kiwi_get_test_runsA

Search test runs. query common keys: {"plan": }, {"build__version__product": }, {"summary__icontains": "trip"}, {"stop_date__isnull": true} (still open).

kiwi_create_test_runA

Create a test run. values needs: summary, plan_id (or plan), build_id (or build), manager_id (or manager). Optional: notes, default_tester_id, planned_start, planned_stop.

kiwi_update_test_runA

Update a test run with a partial field dict (e.g. {"stop_date": "2026-09-08 17:00:00"}).

kiwi_delete_test_runA

Permanently delete test runs matching an ORM filter dict. DESTRUCTIVE. Pass e.g. {"id": 42}.

kiwi_add_case_to_runA

Add a test case to a run. This creates the TestExecution rows for that case.

kiwi_remove_case_from_runB

Remove a test case (and its executions) from a run.

kiwi_get_run_casesA

List the test cases currently in a run.

kiwi_add_run_tagB

Attach a tag (by name) to a test run.

kiwi_add_run_attachmentA

Attach a file to a test run. Provide base64-encoded content.

kiwi_get_test_executionsA

Search test executions (results). query common keys: {"run": }, {"run": , "case": }, {"status__name": "FAILED"}, {"tested_by__username": "sqa1"}.

kiwi_update_test_executionA

Update one execution. values e.g. {"status_id": 2} (see kiwi_get_execution_statuses), or {"tested_by_id": 5, "stop_date": "2026-09-08 16:30:00"}.

kiwi_update_executions_bulkA

Record results for many cases in one run (mirrors TestRail add_results_for_cases). For each item, finds the execution for {run_id, case_id}, sets its status, and optionally adds a comment. status may be a status id (number) or name (string).

kiwi_add_execution_commentB

Add a comment to a test execution.

kiwi_get_execution_commentsB

Get the comments on a test execution.

kiwi_add_execution_linkB

Attach an external URL (bug link, evidence) to a test execution.

kiwi_get_execution_linksA

List external links attached to a test execution.

kiwi_get_execution_historyA

Return the change history for a test execution.

kiwi_rpcA

Call ANY Kiwi JSON-RPC method directly. method e.g. "TestCase.filter", "TestPlan.tree", "Bug.report". params is the POSITIONAL argument array Kiwi expects (usually a single dict for *.filter, or [id, {patch}] for *.update). Unguarded — you are responsible for correct method + params. Full method list: https://kiwitcms.readthedocs.io/en/latest/modules/tcms.rpc.api.html

kiwi_delete_entityA

Generic delete: calls .remove with the given ORM filter dict. DESTRUCTIVE. model e.g. "TestCase", "TestRun", "TestExecution", "Tag". query e.g. {"id": 5} or {"id__in": [1,2,3]}.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 49 tools

Disambiguation4/5

Most tools map to a distinct resource and action, and the descriptions make the case/plan/run/execution domains fairly clear. The main ambiguities are kiwi_delete_entity and kiwi_rpc, which intentionally overlap with specific tools, plus kiwi_get_run_cases vs kiwi_get_test_executions for retrieving run-level case data.

Naming Consistency4/5

The vast majority follow a consistent kiwi_ + verb_noun pattern: get_, create_, update_, delete_, add_, remove_. Minor deviations include the generic kiwi_delete_entity, the raw kiwi_rpc, and the slightly inconsistent kiwi_update_executions_bulk versus kiwi_update_test_execution.

Tool Count2/5

49 tools is well into the over-scoped range and creates a heavy tool-selection burden for agents. Even though Kiwi TCMS is a broad test-management domain, the count is inflated by many reference-list tools and singular/bulk/comment/link variants that could be consolidated.

Completeness4/5

Core workflows are well covered: test cases, plans, runs, executions, comments, attachments, links, history, and bulk updates. Gaps exist around removing comments/tags/links and creating reference entities like builds, versions, or products through dedicated wrappers, but kiwi_rpc and kiwi_delete_entity provide fallbacks for those edge cases.

Maintenance

ActivityMaintained
ResponsivenessNo issues