Skip to main content
Glama

CiviCRM MCP by usefulapi

List cases

civicrm_list_cases
Read-only

Cases (CiviCase) with subject, case type, status and dates. With contact_id: the cases that contact is a client of. Needs the CiviCase component to be enabled. APIv4 CaseContact.get / Case.get.

Input Schema

NameRequiredDescriptionDefault
limitNoRecords per call, 1-100 (default 25).
offsetNoHow many records to skip (default 0). Pass the previous reply's next_offset.
statusNoOnly this case status by name, e.g. Open, Resolved. Applied when no contact_id is given.
contact_idNoOnly cases of this client contact.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so safety is covered. The description adds a genuinely useful prerequisite (CiviCase component must be enabled) and notes the underlying APIv4 entities, but says nothing about pagination behavior or result volume.

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

Conciseness4/5

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

Three compact sentences, resource first, then scoping, then prerequisite. The trailing 'APIv4 CaseContact.get / Case.get.' is terse but adds implementation context rather than noise.

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

Completeness4/5

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

With no output schema, the description does name the returned fields, and it covers the key precondition and the contact scoping. For a simple read-only list tool with fully documented parameters, only pagination/ordering details are missing.

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 limit/offset/status/contact_id are already documented in detail, including the status-applies-only-without-contact_id rule. The description adds only the 'client of' framing for contact_id, which is marginal beyond the schema; baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource (list CiviCase cases) and names the fields returned (subject, case type, status, dates), plus the contact_id scoping behavior. It is distinguishable from generic siblings like civicrm_query, though it does not explicitly contrast with them.

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

Usage Guidelines3/5

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

Usage is implied: list cases, optionally scoped to a contact's client cases. It never states when to prefer this over civicrm_query or civicrm_list_entities, nor any exclusion, so routing between siblings is left to inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.