Skip to main content
Glama
uarlouski

TestRail MCP Server

by uarlouski

get_cases

Read-onlyIdempotent

Retrieve all test cases for a project with filters by section, priority, type, or custom fields. Returns case IDs, titles, and requested fields to streamline test management.

Instructions

Get all test cases for a project. Filter by section, API params (priority, type), or any field including custom fields via 'where'. Returns case IDs, titles, and any additional requested fields.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
whereNoOptional client-side filter for any field including custom fields (filters after fetching all cases). Supports exact value matching. Example: {"custom_automation_status": 1, "priority_id": 2}
fieldsNoAdditional fields to include in response beyond id, title, and suite_id. Use get_case_fields to see available fields. Example: ["priority_id", "type_id", "custom_automation_status"]
filterNoOptional API-side filters (more efficient for large datasets). Supported: priority_id, type_id, created_by, updated_by, milestone_id, refs, created_after, created_before, updated_after, updated_before. Use comma-separated values for IDs. Example: {"priority_id": "1,2", "type_id": "3"}
sectionNoSection filter configuration. Use get_sections to find available sections
suite_idNoThe ID of the test suite (required for multi-suite projects, i.e. suite_mode=3). Use get_suites to find available suites
project_idYesThe ID of the project. Use get_projects to find available projects
output_fileNoAbsolute file path to save the JSON response to. Use this for large datasets to avoid blowing up context limits.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, covering safety. The description adds behavioral context not captured by annotations: client-side filtering occurs after fetching all cases, API-side filtering is more efficient, and output_file can save responses for large datasets. It also discloses that returns include IDs, titles, and requested fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the main action, and every clause adds value. It efficiently conveys scope, filtering options, and return fields without redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having 7 parameters, no output schema, and nested objects, the description covers what is returned, how to filter efficiently, and references companion tools for finding IDs. Together with the schema, it gives the agent sufficient context to select and invoke the tool correctly for typical use cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description provides a useful high-level summary of filtering options (section, API params, where) but does not add syntax details beyond the schema. Given the schema already explains each parameter thoroughly, this is adequate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get all test cases for a project' with a specific verb and resource, and distinguishes from sibling get_case (singular) by implying a bulk-list operation. It also lists key filtering capabilities, making the tool's purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use client-side 'where' vs API-side 'filter' (efficiency) and references get_case_fields, get_sections, and get_suites for prerequisites. However, it does not explicitly contrast with get_case or query_project for single-case or cross-project queries, so it stops short of full exclusionary guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/uarlouski/testrail-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server