Skip to main content
Glama
OpenCDR MCP

OpenCDR MCP

Official
by dbnz-io

opencdr_cases_list

Read-onlyIdempotent

Lists operational cases from the configured authority with pagination and optional status or agent filters. Use it to browse case accounts and continue pages via cursor.

Instructions

List operational cases from the configured authority. Scope must include every case account.

Counts apply to this page. Continue even an empty page when next_cursor is set. Fleet requires explicit server-side principal grants; a filter never grants access.

In fleet mode this tool uses the Fleet authority directly; Core mode uses standalone Core.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "opencdr_cases_list"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNo
cursorNo
statusNo
agent_idsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.3.0

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive, open-world behavior, and the description adds real operational detail: counts are per-page, empty pages should still be followed via next_cursor, filters never confer access, and privileges must be granted server-side. It omits what a case record contains, but there is no output schema to defer to, so that remains a minor gap.

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?

Short and front-loaded with the purpose, with permission and mode caveats placed after. A few lines are compressed to the point of ambiguity ('Scope must include every case account'), which costs a bit of clarity.

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

Completeness3/5

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

Covers pagination, authorization, and fleet/core mode selection, which are the nontrivial risks for a list tool. It leaves the four undocumented parameters and the shape of a returned case undescribed, so an agent must guess at filter values and page semantics.

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

Parameters2/5

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

Schema coverage is 0%, so the description must carry all parameter meaning. It only hints at paging via next_cursor and at filtering ('a filter never grants access'), leaving limit, status, and agent_ids semantics plus any accepted status values entirely undocumented.

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 and resource ('List operational cases') plus the source ('from the configured authority'), which separates it from single-case siblings like opencdr_case_read. It stops short of naming a sibling alternative explicitly.

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?

Gives implied usage context: when paging (continue even on an empty page if next_cursor is set), what permissions are needed (server-side principal grants), and which authority is used per mode. It never says when to use this list over opencdr_case_active, opencdr_case_read, or opencdr_detections_query.

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