casemgr-mcp
casemgr-mcp
A shared workspace your AI agent actually writes to — 184 MCP tools.
It creates notes when it finds things, plans tasks when work appears, and marks them done. You review and edit. Persistent memory + semantic search across a graph of notes, tasks, and files.
This package is the stdio-to-HTTP bridge for the CaseMgr MCP server — use it with any MCP client that supports stdio transport (Claude Desktop, Cursor, etc.). For Claude Code, see below — it supports HTTP natively and does not need this bridge.
Quick Start
npm install -g casemgr-mcpGet an API token at casemgr.systems/tokens.
Related MCP server: stablebaseline-mcp
MCP Client Config
Claude Desktop / Cursor
Add to your MCP settings:
{
"mcpServers": {
"casemgr": {
"command": "casemgr-mcp",
"env": {
"CASEMGR_API_TOKEN": "your_token_here"
}
}
}
}Claude Code (CLI)
Claude Code authenticates via OAuth automatically — no token needed. Just add the server URL:
{
"mcpServers": {
"casemgr": {
"url": "https://casemgr.systems/mcp"
}
}
}If you prefer token auth, add "headers": { "Authorization": "Bearer your_token_here" }.
Smithery
Install directly via Smithery — one-click setup for Claude Code, Cursor, Codex, and more.
What is CaseMgr?
A shared, persistent workspace for you and your AI agent — 184 MCP tools across a graph of notes, tasks, files, calendar, and agent presence.
Your agent creates notes when it finds things. Plans tasks when there's work to do. Marks them done as it finishes. You review, edit, and add your own. Nothing is ephemeral — every session resumes exactly where the last one left off, and semantic search spans everything either of you ever wrote.
What's in the workspace:
Persistent memory — every session resumes where the last one left off; nothing is ephemeral
Bidirectional graph — agent and user both read and write notes, tasks, bookmarks, files, todos
Semantic search — natural-language search across everything either of you ever wrote
Multi-agent task queue — dispatch, claim, and complete work items across multiple agents
Event-driven workflows — CMMN stages with sentry-gated execution and auto-lifecycle management
Reusable templates — case plan models with publish, version, and instantiate
File management — upload, download, versioning, content-aware embeddings
Workspaces & worktrees — organize cases, link git worktrees across machines
Time tracking & billing — durations, expenses, invoices with LaTeX/PDF generation
Environment Variables
Variable | Required | Default | Description |
| Yes (stdio) | — | API token from casemgr.systems/tokens. Required for stdio clients (Claude Desktop, Cursor). Not needed for Claude Code, which uses OAuth. |
| No |
| MCP endpoint URL (for self-hosted instances) |
License
MIT
Available Tools
205 toolsagents-deregisteragents-deregisterA
Marks an agent session offline. The vertex is preserved so the next register call can refresh it; the live presence record is removed.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_session_id | Yes | Agent session RID returned from agents-register |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the vertex is preserved and the live presence record is removed, and hints at re-registration capability. This provides useful behavioral context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences. The first sentence is front-loaded with the core action, and the second adds necessary nuance. No superfluous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description is largely complete. It explains the action, preservation behavior, and re-registration relationship. Could mention return value but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the parameter description in the schema clearly explains it. The tool description adds no extra meaning beyond the parameter's purpose, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: marks an agent session offline, preserves vertex for re-registration, removes live presence. It distinguishes itself from siblings like agents-register and agents-heartbeat.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context for when to use (to take a session offline) but does not explicitly mention alternatives or when not to use. It implies the lifecycle relation with agents-register but lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agents-getagents-getB
Fetches a single agent session by RID, with live_present indicating live MCP connection state.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_session_id | Yes | Agent session RID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It mentions a returned field (`live_present`) but does not indicate whether the operation is read-only, idempotent, or has any side effects. It also does not describe error behavior or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the core purpose and a key output field. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is a simple get with one parameter and no output schema, the description is mostly complete: it states what it does and highlights an important field. However, it lacks details about error handling (e.g., if session not found) and assumes the agent understands 'MCP connection state' context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of the parameter (agent_session_id) with a description. The description adds 'by RID' but this essentially repeats the schema's 'Agent session RID'. No additional meaning or format details are provided beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Fetches a single agent session'), the resource ('agent session by RID'), and adds the distinctive detail about `live_present` field. This distinguishes it from sibling tools like agents-list (which lists multiple) and agents-register (which creates).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus its siblings (e.g., agents-list, agents-heartbeat). It does not specify prerequisites, alternatives, or scenarios where this tool is the appropriate choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agents-heartbeatagents-heartbeatA
Refreshes an agent session's heartbeat. Bumps last_heartbeat_at to keep the agent marked online. Call periodically (~30s) to avoid being swept offline.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_session_id | Yes | Agent session RID returned from agents-register | |
| current_case_id | No | Optional new current case if the agent switched focus |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that the tool updates last_heartbeat_at (mutation) and mentions consequences of not calling it. No annotations provided, but the description covers key behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no wasted words. All information is directly relevant and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 params, no output schema), the description provides sufficient context for correct usage. Could potentially mention error scenarios, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with descriptions for both parameters. The tool description adds no additional parameter semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it 'refreshes an agent session's heartbeat' and explains the effect of bumping last_heartbeat_at to keep online. This distinguishes it from sibling tools like agents-register and agents-deregister.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states to 'call periodically (~30s) to avoid being swept offline', providing clear usage guidance and interval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agents-listagents-listA
Lists agent sessions owned by the current user. Each entry includes a live_present flag indicating whether the agent has a live ETS frame (i.e., currently connected via MCP).
| Name | Required | Description | Default |
|---|---|---|---|
| machine_id | No | Filter by machine identifier | |
| status | No | Filter by status: "online" or "offline" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. Only mentions the live_present flag, but does not disclose that it's read-only, any auth needs, rate limits, or response structure beyond that one field.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, no filler. Front-loaded with core action and adds one key output detail. Very concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description should explain return fields. It mentions live_present but does not list other likely fields (e.g., agent ID, status, timestamps). Also lacks info on pagination, ordering, or defaults. Adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are fully described in the input schema (machine_id, status). Description adds no extra context or examples for parameters, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it lists agent sessions owned by the current user, with specific verb 'lists' and resource. Also mentions the live_present flag, distinguishing it from siblings like agents-get or agents-register.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies context (owned by current user) but does not explicitly state when to use this tool versus other agent tools. No alternatives or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agents-registeragents-registerA
Registers an MCP agent session. Upserts on (user_id, machine_id, alias) — reconnects update the existing row. Returns the agent_session_id used by other tools.
| Name | Required | Description | Default |
|---|---|---|---|
| alias | Yes | Human-readable agent name (e.g., "home-desktop", "work-laptop") | |
| capabilities | No | Optional freeform list of capability strings (e.g., ["code", "casemgr", "billing"]) | |
| current_case_id | No | Optional RID of the case this agent is currently focused on | |
| machine_id | Yes | Machine identifier (hostname); pairs with alias to dedupe reconnects | |
| webhook_url | No | Optional HTTP(S) URL. When a notification targets this agent (messages, AI work items), CaseMgr POSTs a JSON payload to this URL before attempting MCP sampling. Use to wake up dormant workers — the webhook handler spawns claude -p to process the event. | |
| worktree_path | No | Optional filesystem path of the git worktree the agent is running in. If a Worktree exists at (machine_id, worktree_path), a RunsIn edge is created and the worktree's last_seen is bumped. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses upsert behavior and side effects on webhook and worktree parameters, but fails to clarify the unexplained 'user_id' in the upsert key, reducing transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concisely structured in two sentences with a front-loaded verb and key details. However, the inclusion of 'user_id' without schema support introduces potential confusion, slightly reducing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters and no output schema, the description covers purpose, upsert behavior, return value, and specific parameter behaviors. It lacks explicit error conditions and clarification on user_id, but is fairly complete for a registration tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value beyond schema by explaining upsert keys (though user_id is absent), webhook URL purpose, and worktree edge creation, enhancing understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Registers' and the resource 'MCP agent session', specifies upsert behavior on reconnection, and mentions the return value 'agent_session_id', distinguishing it from siblings like 'agents-deregister' and 'agents-get'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use (register a session, upsert on reconnect) but omits explicit guidance on when not to use or how it relates to sibling tools like 'agents-heartbeat' or 'agents-list'. The mention of 'user_id' in the upsert key is confusing as it is not in the input schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ai-cancel_work_itemai-cancel_work_itemA
Cancels a pending work item (pending → cancelled). Cannot cancel items that are already processing.
| Name | Required | Description | Default |
|---|---|---|---|
| work_item_id | Yes | Work item ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It states the state change and a limitation, but does not disclose side effects, irreversibility, or required permissions. It offers basic transparency but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences, front-loading the main action and adding a key constraint in the second. No unnecessary words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple cancel operation with one parameter and no output schema, the description covers the essential state transition and a critical precondition. It could mention whether the operation is synchronous or if there are any side effects, but it is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with a single parameter described as 'Work item ID (@rid format)'. The description adds no additional meaning beyond what the schema already provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Cancels' and resource 'pending work item', along with the state transition 'pending → cancelled'. It distinguishes from items that are already processing, but does not explicitly differentiate from sibling tools like ai-fail_work_item.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates when to use (cancel a pending work item) and when not to use (cannot cancel items already processing). It lacks explicit mention of alternatives for processing items, but the guidance is clear and specific.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ai-claim_and_complete_work_itemai-claim_and_complete_work_itemA
Atomically claims a pending work item and completes it. Use this when the agent already knows the result and doesn't need a separate processing step — collapses the (claim → complete) two-call sequence into one. Idempotent: if the item is already in 'processing', skips the claim and just completes. Items in terminal states (completed/failed/cancelled) return an error.
| Name | Required | Description | Default |
|---|---|---|---|
| output_content | No | Content for output item (if output_item_type was configured) | |
| output_name | No | Name for output item (overrides configured name) | |
| result | No | Processing result (string, object, or any structured data) | |
| work_item_id | Yes | Work item ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and covers atomicity, idempotency, handling of 'processing' state (skipping claim), and error for terminal states. This is thorough, though it could mention authentication or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, each adding distinct value: purpose, usage, idempotency, and error condition. No redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is fairly complete given no output schema: it explains behavior (idempotent, terminal error), but does not describe the return value or any confirmation. Still, the main actions are well-covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does not add extra meaning beyond the schema's own descriptions for each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool atomically claims and completes a work item, distinguishing it as a combined operation. The description explicitly contrasts with the two-step sequence (claim → complete), making its unique purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises using this tool 'when the agent already knows the result and doesn't need a separate processing step', providing clear guidance on when to choose this over the separate claim and complete tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ai-claim_work_itemai-claim_work_itemA
Claims a pending work item for processing (pending → processing). Call this before starting to process a work item.
| Name | Required | Description | Default |
|---|---|---|---|
| work_item_id | Yes | Work item ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only discloses the state transition but omits details like error handling (e.g., if item is already claimed), idempotency, required permissions, or success/failure output. This leaves agents uncertain about edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences convey the essential purpose and usage without any unnecessary words. It is perfectly concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the primary function and state change, but lacks details on error behavior, success indicators, and prerequisites (e.g., item must be pending). Given the tool's simplicity, it is minimally adequate but not fully comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for the single parameter 'work_item_id'. The description adds no extra information about the parameter beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the action ('Claims'), the resource ('work item'), and the state transition ('pending → processing'). It distinguishes from siblings like 'ai-complete_work_item' and 'ai-cancel_work_item' by focusing on the claiming step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says 'Call this before starting to process a work item,' providing temporal guidance. However, it does not explicitly mention when not to use it (e.g., if claiming is already done) or differentiate from the combined 'ai-claim_and_complete_work_item' sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ai-complete_work_itemai-complete_work_itemA
Marks a work item as completed with optional result and output. If output_item_type was configured, creates the output item. Triggers connected sentry if configured. Item must be in 'processing' status — call ai-claim_work_item first, or use ai-claim_and_complete_work_item to do both atomically.
| Name | Required | Description | Default |
|---|---|---|---|
| output_content | No | Content for output item (if output_item_type was configured) | |
| output_name | No | Name for output item (overrides configured name) | |
| result | No | Processing result (string, object, or any structured data) | |
| work_item_id | Yes | Work item ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It mentions marking complete, optional output creation, and sentry triggering, but does not discuss irreversibility, permission requirements, or what happens to the item post-completion.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no redundancy: first states main action, second details optional effects, third provides prerequisite and alternatives. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations or output schema, the description covers the main behavior, prerequisites, and alternatives. It lacks explicit mention of return values, but is otherwise complete for understanding tool usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds context linking output_content and output_name to the output creation behavior and mentions overriding configured name, but does not significantly enhance meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'marks' and resource 'work item as completed', and distinguishes from siblings by explicitly mentioning ai-claim_work_item and ai-claim_and_complete_work_item as alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit context: item must be in 'processing' status, suggests using ai-claim_work_item first or the atomic alternative. It lacks explicit 'when not to use' guidance but covers when and how to use effectively.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ai-count_pendingai-count_pendingA
Gets the count of pending AI work items. Useful for checking if there's work available.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_type | No | Filter by agent_type |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only operation (getting a count) but does not explicitly state it is non-destructive. Without annotations, more explicit behavioral context would be beneficial, but the description is not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, highly concise, and front-loads the purpose. Every word contributes to understanding the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple count tool with one optional parameter and no output schema, the description is adequate. It explains the purpose and a typical use case. No further details are necessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of the parameter (agent_type) with a description. The tool description does not add any extra meaning beyond the schema, so baseline score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it 'Gets the count of pending AI work items', using a specific verb and resource. This distinguishes it from sibling tools like ai-claim_work_item or ai-complete_work_item.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Useful for checking if there's work available' provides clear guidance on when to use this tool. While it doesn't explicitly exclude other contexts, it conveys a primary use case effectively.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ai-fail_work_itemai-fail_work_itemB
Marks a work item as failed with an error message.
| Name | Required | Description | Default |
|---|---|---|---|
| error | Yes | Error message describing what went wrong | |
| work_item_id | Yes | Work item ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states the action without disclosing side effects, reversibility, required states, or response behavior. For a mutation tool, more detail is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no extraneous words. It is front-loaded with the action and efficiently conveys the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (2 required parameters, no output schema) and no annotations, the description is minimal but covers the basic purpose. However, it lacks edge-case context and post-action behavior, which would be helpful for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described. The description does not add additional semantics beyond the schema (e.g., format constraints or usage tips). Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Marks a work item as failed with an error message' uses a specific verb 'marks' and resource 'work item', clearly distinguishing it from siblings like ai-complete_work_item or ai-cancel_work_item. It adds context by specifying 'with an error message', which goes beyond the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as ai-cancel_work_item or ai-claim_work_item. The description does not mention prerequisites, state constraints, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ai-get_work_itemai-get_work_itemA
Gets a specific AI work item with full details including prompt, input_items, and configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| work_item_id | Yes | Work item ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description indicates a read operation and lists included fields (prompt, input_items, configuration), but lacks details on side effects, permissions, or output format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words, directly states the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple single-parameter tool with no output schema, the description adequately explains what the tool does and what fields are returned. Could mention that it is a read-only operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description does not add any additional meaning for the single parameter work_item_id beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a specific AI work item with full details, distinguishing it from sibling tools like ai-list_work_items.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like ai-list_work_items or ai-complete_work_item. The description does not mention prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ai-list_work_itemsai-list_work_itemsA
Lists AI work items. By default returns pending items sorted by priority. Use this to find work for AI agents to process.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_type | No | Filter by agent_type field | |
| case_id | No | Filter by case ID (@rid format) | |
| limit | No | Maximum number of items to return | |
| status | No | Filter by status: pending, processing, completed, failed, cancelled (default: pending) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It states default behavior (returns pending, sorted by priority), which is helpful. However, it doesn't clarify whether the operation is read-only, mention rate limits, or indicate any side effects beyond listing. Since listing is inherently safe, this is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, immediately front-loading the core purpose. Every sentence adds value: first defines the tool, second explains default behavior and use case. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with 4 optional parameters and no output schema, the description is fairly complete. It explains the default state and purpose. It could be improved by briefly noting what the returned items contain (e.g., fields like id, status, priority), but given the lack of output schema, the current text is nearly sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 4 parameters have descriptions in the input schema (100% coverage). The tool description adds no additional meaning beyond the schema, which already explains each parameter sufficiently. Thus, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists AI work items, with default behavior (pending, sorted by priority). It explicitly says 'Use this to find work for AI agents to process,' which sets context and distinguishes from other AI work item tools like ai-get_work_item or ai-claim_work_item. However, it doesn't explicitly name alternatives or state what it does not do.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear usage context ('find work for AI agents to process'), but lacks explicit when-to-use or when-not-to-use guidance. It doesn't mention alternatives or conditions where another tool would be more appropriate, leaving the agent to infer from the tool name and siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
billing-generate_invoice_pdfbilling-generate_invoice_pdfA
Generates a PDF invoice and stores it as a file item in the specified case.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID to store the generated file in (@rid format) | |
| invoice_id | Yes | Invoice ID (@rid format, e.g. #4:123) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description covers the basic action (generate and store) but no annotations exist. No details on whether the operation is destructive, permissions needed, file naming, or storage behavior beyond 'in the specified case'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, 11 words, front-loaded with key action. Every part is necessary; no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple generate-and-store tool with 2 parameters, the description covers the core purpose but leaves out details about output format acceptance, potential conflicts with existing files, and how the file item relates to other case operations. No output schema exists, so completeness is moderate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. Description does not add extra meaning beyond the schema; it simply mentions 'specified case' without elaborating on parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'generates' and resource 'PDF invoice', and specifies it stores the result as a file item in a case. Differentiates from sibling tool billing-generate_invoice_tex by output format (PDF vs TeX).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for generating PDF invoices, but lacks explicit when-to-use guidance or alternatives. Sibling billing-generate_invoice_tex suggests an alternative, but no direct comparison or usage context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
billing-generate_invoice_texbilling-generate_invoice_texB
Generates a LaTeX invoice document and stores it as a file item in the specified case.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID to store the generated file in (@rid format) | |
| invoice_id | Yes | Invoice ID (@rid format, e.g. #4:123) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description should disclose behavioral traits. It indicates a mutation (creates a file) but omits side effects (e.g., whether the invoice status changes, permissions required, or if an existing file is overwritten).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, no wasted words. It could include more detail, but it is efficient for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides the core purpose and parameters but lacks context on file naming, output format, and interaction with other tools. Without an output schema, more detail on the generated file item would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description covers both parameters with format details. The description adds no new information beyond 'specified case', which mirrors the schema. Baseline 3 is appropriate given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (generates), the resource (LaTeX invoice document), and the destination (stores as file item in specified case). It distinguishes from the sibling billing-generate_invoice_pdf by specifying 'LaTeX'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus billing-generate_invoice_pdf or any prerequisites. The sibling name implies PDF alternative, but the description does not clarify selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calendar-get_or_createcalendar-get_or_createC
Gets or creates the main calendar
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Calendar name (default: Main Calendar) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It mentions 'gets or creates' implying idempotency, but does not clarify what happens if the calendar already exists (return vs update), any side effects, authentication needs, or error conditions. The description is too minimal for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise. However, it is too short to provide adequate context. There is no wasted text, but the brevity impacts completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one optional parameter and no output schema, the description still falls short. It does not explain what the tool returns, how it handles existing vs. new calendars, or any constraints. Contextual completeness is low.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage for the single optional parameter 'name' with a description. The tool's description adds no extra meaning; in fact, it says 'the main calendar' which conflicts with the schema allowing a custom name. This could mislead the agent into thinking the tool only works with a fixed calendar.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets or creates a calendar resource, with a specific verb and resource. However, it refers to 'the main calendar' without defining what 'main' means, and there is a sibling tool 'calendar-get_or_create_day' but the distinction is clear as this one deals with the calendar itself, not days. It could be more specific about which calendar is considered main.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives or when not to use it. It only states the basic action without context on prerequisites, fallback behaviors, or related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calendar-get_or_create_daycalendar-get_or_create_dayA
Gets or creates a calendar day (also creates month if needed)
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date in ISO8601 format (YYYY-MM-DD) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears responsibility for behavioral disclosure. It correctly states the tool may create a month if needed, but lacks details about side effects (e.g., whether existing days are overwritten) or return values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-structured sentence conveys the core functionality without extraneous words. Every detail earns its place, making it highly efficient for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 parameter, no output schema), the description sufficiently covers the essential behavior: getting or creating a day and creating a month if needed. It could mention return type but is complete enough for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter. The description adds no additional meaning beyond the schema's declaration of ISO8601 format. Baseline 3 is appropriate as the description does not compensate for any missing schema detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs 'gets or creates' and clearly identifies the resource as 'calendar day'. It also distinguishes from sibling 'calendar-get_or_create' by noting automatic month creation, making the tool's scope clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions automatic month creation but provides no explicit guidance on when to use this tool versus alternatives like 'calendar-get_or_create'. Without usage context or exclusions, the agent must infer intent from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cases-add_documentationcases-add_documentationA
Adds a documentation entry to a case following the CMMN tCmmnElement pattern. Returns the updated case with all documentation entries.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) | |
| text | Yes | Documentation content | |
| text_format | No | Format of the documentation text. Options: 'text/plain' (default), 'text/markdown' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry full burden. It implies mutation and specifies return value, but lacks details on permissions, side effects, or error conditions. Minimum viable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence efficiently states action, pattern, and return value. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Basic purpose clear, but missing details like appending vs replacing behavior, error handling, and differentiation from items-add_documentation. Adequate but not complete for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already fully describes parameters with clean descriptions. Tool description adds no extra parameter context, so score is baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it adds documentation entry to a case, distinguishing from listing, removing, and item-level counterparts. The CMMN pattern reference adds specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear context for when to use (add documentation to a case) but no explicit exclusion or comparison with sibling items-add_documentation. Adequate for basic selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cases-add_tagcases-add_tagB
Adds a tag to a case for categorization
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) | |
| tag | Yes | Tag to add |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only states the basic action without mentioning effects like duplicate handling, permissions, or errors. This is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at 8 words, efficiently communicating the core function. However, it sacrifices behavioral detail for brevity, though it remains well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two parameters and no output schema, the description covers the basic use case but is incomplete regarding behavioral nuances like duplicate tag behavior. It is minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters adequately described in the schema. The description adds no additional meaning beyond what is already in the input schema, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Adds', the resource 'tag to a case', and the purpose 'for categorization'. It effectively distinguishes itself from the sibling tool 'cases-remove_tag'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used when adding a categorization tag, but it provides no explicit guidance on when not to use it or alternatives like 'cases-update'. Usage context is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cases-createcases-createC
Creates a new CMMN case
| Name | Required | Description | Default |
|---|---|---|---|
| description | No | Optional description to provide context about the case | |
| name | Yes | Name of the case to create | |
| parent_case_id | No | Parent case ID for sub-cases (CaseTask pattern) | |
| status | No | Initial CMMN lifecycle status (default: active). Options: active, completed, terminated, suspended, closed, failed | |
| tags | No | Tags for categorization | |
| workspace_id | No | Workspace to add the case to (@rid format). If omitted, adds to user's default workspace. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. However, it merely states the creation action without describing side effects, permissions, safety profile, or any potential restrictions. This is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short (one sentence, four words), but it lacks essential information about usage and behavior. Being concise is not an excuse for under-specification; it should provide more context for a tool with six parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has six parameters and no output schema or annotations, the description is insufficiently complete. It fails to explain return values, side effects, or the purpose of key parameters like parent_case_id or workspace_id. The agent would lack crucial context for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with parameter descriptions. The tool description does not add any additional meaning beyond what the schema already provides, so it meets the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Creates a new CMMN case' clearly states the verb and resource, and distinguishes it from sibling tools like cases-delete or cases-update. However, it does not contrast with other create tools, but given the naming convention, it is sufficiently clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives. It does not mention prerequisites, when not to use it, or how it differs from similar tools like items-create.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cases-deletecases-deleteC
Deletes a case
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description is the sole source for behavioral disclosure. It only states the action without indicating irreversibility, required permissions, or side effects, which are critical for a delete operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (3 words) and front-loaded, but it sacrifices informational value. While brevity is good, a single sentence with slightly more detail would improve without compromising conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 required parameter, no output schema), the description fails to cover important context such as whether the deletion is permanent, what happens to associated data, or any confirmation steps. This gap leaves agents uninformed about consequences.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes case_id as 'Case ID (@rid format)' with 100% coverage. The description adds no extra meaning beyond what the schema provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Deletes a case' clearly states the action and resource, distinguishing it from sibling tools like cases-create and cases-get. However, it lacks specifics about the scope or nature of deletion (e.g., permanent, cascading), which could enhance clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as cases-update_status or cases-remove_tag. There is no mention of prerequisites, conditions, or exclusions, leaving the agent without context for appropriate invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cases-getcases-getB
Gets a specific case by ID
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and a minimal description, there is no disclosure of behavioral traits (e.g., auth requirements, rate limits, or caveats). The description adds no value beyond the obvious read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words. Efficient but could benefit from slightly more context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Simple tool with one required parameter, no output schema. Description covers the core purpose but lacks detail on return values or potential errors. Adequate for a simple read operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning the schema already documents the parameter. The description adds no further meaning, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Gets a specific case by ID' uses a specific verb ('Gets') and resource ('case by ID'), clearly differentiating from sibling tools like 'cases-list' and 'cases-create'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., cases-list or cases-get_parent). The description does not mention when-not or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cases-get_parentcases-get_parentA
Gets the parent case of a sub-case (if any)
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description provides useful context like 'if any', indicating a possible null return. However, it does not specify error handling or authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no unnecessary words, efficiently conveying the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with one parameter and no output schema, the description is largely complete, though it could mention the return type explicitly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description adds no new semantic information beyond what the schema already provides for 'case_id'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('gets') and resource ('parent case of a sub-case'), distinguishing it from siblings like 'cases-get' and 'items-get_parent'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when dealing with sub-cases, but does not explicitly state when not to use or mention alternative tools for similar tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cases-listcases-listC
Lists all cases
| Name | Required | Description | Default |
|---|---|---|---|
| client_id | No | Filter by client ID (@rid format) | |
| name_contains | No | Filter by partial name match (case-insensitive) | |
| parent_case_id | No | Filter by parent case ID (for sub-cases) | |
| root_only | No | If true, only return top-level cases (no sub-cases) | |
| status | No | Filter by CMMN lifecycle status (active, completed, terminated, suspended, closed, failed) | |
| tags | No | Filter by tags (cases must have ALL specified tags). Accepts a list (preferred) or a JSON-encoded string. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, pagination, or performance implications. The filter parameters are documented in the schema, but the description adds nothing about what the tool returns or how it behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is too brief for a tool with 6 parameters and many siblings. One sentence under-specifies the tool's functionality. It lacks structure and front-loading of key details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool complexity (6 parameters, no output schema) and the presence of many sibling tools, the description is incomplete. It does not explain the scope of 'all cases', the effect of filters, or what the response contains. An output schema is absent, placing more burden on the description to explain return values, which it doesn't.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does not add extra meaning beyond what the schema already provides for parameters. No parameter details in the description are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Lists all cases' clearly states the verb and resource, but 'all' is misleading because the tool supports filtering via parameters. It does not differentiate from sibling tools like cases-list_subcases or cases-list_in_workspace.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. With many case-listing siblings (e.g., cases-list_subcases, cases-list_in_workspace, cases-list_documentation), the description should indicate that this is for general case listing with optional filters, but it does not.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cases-list_documentationcases-list_documentationA
Lists all documentation entries for a case. Returns array of {id, text, textFormat, created_at, created_by}.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It states the return format but does not disclose potential behaviors like pagination, ordering, or side effects. For a read-only list tool, this is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-loading the purpose and then the return format. No extraneous information; every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one parameter, no output schema), the description is complete. It could optionally mention that the case must exist or that entries are returned in a default order, but it is sufficient for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides full coverage (100%) with a clear description for case_id. The tool description adds no additional parameter information beyond the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Lists all documentation entries for a case') and specifies the return structure ('Returns array of {id, text, textFormat, created_at, created_by}'). It distinguishes from sibling tools like cases-add_documentation and cases-remove_documentation by being the read counterpart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving documentation entries, but does not explicitly state when to use this tool versus alternatives (e.g., cases-add_documentation for creating). No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cases-list_in_workspacecases-list_in_workspaceB
Lists all cases in a workspace
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | Yes | Workspace ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must fully disclose behavior. It only states the action without mentioning read-only nature, authentication requirements, or edge cases like non-existent workspace. Minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, 7 words, front-loaded with the action. No wasted words; appropriate for a simple list operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple one-parameter list tool with no output schema. Lacks details on return format or pagination, but sufficient for basic selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear parameter description. The tool description adds no extra meaning beyond the schema, keeping it at baseline 3 per instructions for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists all cases within a workspace, using a specific verb and resource. It distinguishes from sibling tools like cases-list (which likely operates across workspaces) and cases-list_subcases.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives such as cases-list. The description implies workspace-scoped filtering but does not provide contextual cues or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cases-list_subcasescases-list_subcasesA
Lists all sub-cases of a parent case (CaseTask pattern)
| Name | Required | Description | Default |
|---|---|---|---|
| parent_case_id | Yes | Parent case ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. The description does not disclose behavioral traits (e.g., read-only, pagination, or ordering). The tool likely is read-only but this is not confirmed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single focused sentence with no superfluous content, ideal for quick scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter, but lacks details on return format, pagination, or exclusion of the parent case itself. Given absence of output schema and annotations, more context would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage for parameter description, so baseline is 3. The description adds no extra detail beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Lists') and resource ('sub-cases of a parent case'), and distinguishes from sibling tools like `cases-list` and `cases-get_parent` by specifying hierarchical relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly suggests use for retrieving sub-cases, but lacks explicit guidance on when to prefer this over alternatives like `cases-list` or `cases-list_in_workspace`, and no exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cases-load_contextcases-load_contextA
Loads a case's full context in ONE call: case metadata, all items with content, and sub-cases recursively. Use this instead of multiple cases-get + items-list + items-get calls when the user says 'load this case into context' or similar.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) | |
| depth | No | Max recursion depth for sub-cases (default: 1, 0 = no sub-cases). Use 2+ to load grandchildren. | |
| exclude_types | No | Item types to exclude from the response (default: ["file"]). Examples: ["file", "ai_work_item"] | |
| max_content_bytes | No | Truncate individual item content above this byte count (default: 10000). Keeps response manageable. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but the description discloses key behaviors: it loads data recursively (includes sub-cases), fetches items with content, and does it in a single call (efficiency). It does not explicitly state it's read-only or idempotent, but 'loads' implies no side effects. The lack of annotations is partially compensated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no unnecessary words. First sentence states purpose, second provides usage guidance. Every part earns its place; it's highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but the description specifies what is returned (case metadata, items with content, sub-cases). It explains parameters well and gives usage context. It does not cover error cases or permissions, but given the complexity (recursive load), it is sufficiently complete for a read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (all parameters well-described). The description adds value beyond the schema: it suggests using depth 2+ for grandchildren, explains exclude_types default ['file'], and clarifies max_content_bytes 'keeps response manageable.' This provides actionable guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it 'loads a case's full context in ONE call' including metadata, items, and sub-cases. It uses a specific verb ('loads') and resource ('case's full context'). It distinguishes from sibling tools by contrasting with multiple individual calls (cases-get + items-list + items-get).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use: 'instead of multiple cases-get + items-list + items-get calls when the user says "load this case into context" or similar.' This gives clear usage context and names alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cases-remove_documentationcases-remove_documentationB
Removes a documentation entry from a case by its ID.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) | |
| doc_id | Yes | Documentation entry ID to remove |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It only states 'removes a documentation entry' without elaborating on side effects (e.g., permanent deletion, impact on related data, idempotency, or error behavior). A deletion tool should clarify whether the operation is reversible or has cascading effects. This omission limits transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 10 words, conveying the essential action without any fluff. It is front-loaded and efficient. Every word contributes to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and the tool's nature (deletion), the description is incomplete. It does not explain what happens upon success (e.g., return value) or failure (e.g., case not found). For a simple delete operation, additional context like confirmation or idempotency would make the tool more usable. The current description leaves the agent guessing about the response and error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters clearly: case_id as 'Case ID (@rid format)' and doc_id as 'Documentation entry ID to remove'. The description adds no additional meaning beyond what's in the schema. Per guidelines, baseline is 3 for high coverage, and no improvement is made.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (removes), the resource (documentation entry from a case), and the method (by ID). It distinguishes from sibling tools like cases-add_documentation and cases-list_documentation, and from items-remove_documentation which operates on items, not cases. The purpose is unambiguous and specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, conditions, or when not to use it. For example, it doesn't clarify that this tool is for removing documentation by ID, while cases-remove_tag is for tags, or that items-remove_documentation exists for items. The lack of usage context makes it harder for an agent to decide correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cases-remove_tagcases-remove_tagB
Removes a tag from a case
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) | |
| tag | Yes | Tag to remove |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description only states the basic action without disclosing side effects, permissions, error handling, or idempotency. The agent learns nothing beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no redundant information. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple removal tool with two required parameters and no output schema, the description is minimally adequate but lacks detail on expected outcomes, errors, or whether the tag must exist.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents both parameters (case_id and tag). The description adds no extra context beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Removes a tag from a case' uses a specific verb ('removes') and resource ('tag from a case'), clearly distinguishing it from sibling tools like 'cases-add_tag' which adds a tag.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., when to remove vs. add a tag), nor does it mention any prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cases-updatecases-updateB
Updates a case name, description, and/or parent case
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) | |
| description | No | New description for the case (use empty string to clear) | |
| name | No | New name for the case | |
| parent_case_id | No | Set or change the parent case (@rid format). Creates/updates HasSubCase edge. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears the full burden of behavioral disclosure. It only states the action without revealing side effects (e.g., parent case changes affecting hierarchy), authorization needs, or constraints (e.g., immutability of certain fields). The verb 'updates' implies mutation but adds no further transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and to the point. It covers the essential information without fluff, though it could be expanded slightly without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and output schema, and the moderate complexity (especially the parent case field), the description is incomplete. It omits prerequisites (e.g., valid case_id), behavior when fields are omitted, response format, and potential constraints like read-only cases. A more complete description would address these gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with descriptions for all four parameters, including details like maxLength for name, special handling for description (empty string to clear), and the effect of parent_case_id. The description adds little beyond listing the fields, so it meets the baseline but doesn't enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates a case and lists the specific fields that can be updated (name, description, parent case). It uses a specific verb and resource, distinguishing it from sibling tools like cases-update_status or cases-create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as cases-create (for new cases) or cases-update_status (for status changes). No prerequisites or context are given for when an update is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cases-update_statuscases-update_statusA
Updates a case's lifecycle status with CMMN transition validation. Automatically sets timestamps. Valid transitions: active → completed|terminated|suspended|failed, suspended → active|terminated, completed → active|closed, terminated → closed, failed → closed, closed → active.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) | |
| status | Yes | New CMMN lifecycle status: active, completed, terminated, suspended, closed, failed |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description adds context like automatic timestamping and transition validation, but does not disclose permissions, side effects (e.g., triggering workflows), or error cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences are concise and efficient, though a bullet list for transitions might improve readability. No superfluous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks output details and side effects, but given the tool's straightforward nature and absence of output schema, it is minimally adequate. Validation and timestamp info help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%. The description explains the 'status' parameter's valid values and role (CMMN lifecycle status) but adds little beyond the schema for 'case_id'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'updates' and the resource 'case's lifecycle status', includes specific transition validation rules, and distinguishes from sibling tools like cmmn-update_task_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The explicit transition list implies when to use, but no explicit when-not-to-use or alternative guidance is provided. However, the transition rules serve as clear usage constraints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clients-createclients-createC
Creates a new client (billing entity)
| Name | Required | Description | Default |
|---|---|---|---|
| contact_info | No | Contact/billing info as JSON object with name, phone, line1, line2, line3 fields. Phone is used for SMS routing. | |
| currency | No | Currency code (default: USD) | |
| default_rate | No | Default hourly billing rate | |
| name | Yes | Client name (e.g., NASTF, AASRA) | |
| phone | No | Phone number in E.164 format (e.g., +15551234567) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It only states 'Creates a new client' without mentioning side effects, permissions, or response behavior. Minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one phrase) and front-loaded, but it is too minimal. It could include more context without becoming verbose. Acceptable but not exemplary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters including a nested object and no output schema, the description should provide more context (e.g., what happens on success, required fields). It is insufficient for an agent to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters are documented in the schema. The description adds no additional meaning beyond the schema, which is the baseline expectation. No improvement or degradation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'creates' and the resource 'client', with additional context 'billing entity' to distinguish client from other entities. It is specific enough to differentiate from sibling tools like clients-update or clients-delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no prerequisites, and no instructions on when not to use it. The description lacks any usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clients-deleteclients-deleteC
Deletes a client
| Name | Required | Description | Default |
|---|---|---|---|
| client_id | Yes | Client ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only says 'Deletes a client', lacking details on permanence, side effects, or required permissions. This is insufficient for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (3 words) with no wasted language. It is front-loaded and to the point, though it may sacrifice completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (1 required param, no output schema), the description is minimally adequate. However, it omits important context such as error conditions or post-deletion effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a clear description of client_id. The tool description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (deletes) and the resource (client). It is specific and not a tautology. However, it does not differentiate from other delete tools among siblings, such as cases-delete or invoices-delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus other delete tools or any prerequisites. The description simply states the action without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clients-getclients-getB
Gets a client by ID
| Name | Required | Description | Default |
|---|---|---|---|
| client_id | Yes | Client ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It fails to state that the tool is read-only, what happens if the client is not found, or any authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (5 words) with no waste. However, it could be slightly more informative without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get-by-ID operation with one parameter and no output schema, the description is minimally adequate but fails to mention return behavior (e.g., 404 if not found) or response format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter description is already clear ('Client ID (@rid format)'). The description adds no additional meaning, so it is adequate but not enhanced.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Gets), resource (client), and method (by ID). It effectively distinguishes from sibling tools like clients-get_by_name and clients-list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool over alternatives. The description does not mention prerequisites, typical scenarios, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clients-get_by_nameclients-get_by_nameB
Gets a client by name
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Client name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description must convey behavioral traits. It implies a read operation and identifies the lookup key, but does not disclose return format, error conditions, or permission requirements. For a simple get, this is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It is appropriately sized for a simple tool, though a slightly expanded explanation would not detract from conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a straightforward lookup tool with a well-documented schema, the description is complete enough to convey the core functionality. However, it lacks explicit details about the output or behavior, which would be beneficial for an agent invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with a description for the single parameter. The description adds no additional meaning beyond what the schema already provides, so it meets the baseline without adding value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (Gets), resource (a client), and criteria (by name). It effectively distinguishes from sibling tools like clients-get and clients-list, which likely use different identifiers or return multiple results.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool instead of alternatives. The description does not mention prerequisites, context, or exclusions, leaving the agent without direction for selection among similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clients-listclients-listA
Lists all clients
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as pagination, ordering, or return format. The description carries the full burden but is too brief.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two words, no wasted information, and front-loaded content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no parameters and no output schema, the description is minimally adequate but lacks details like return format, ordering, or filtering.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the description does not need to add parameter semantics. Baseline 4 is appropriate as the description clearly states the tool's action.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Lists all clients' uses a specific verb and resource, clearly distinguishing it from siblings like clients-get (single) and clients-get_by_name (by name).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. The name implies listing all clients, but no when-not or alternative suggestions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clients-updateclients-updateC
Updates a client
| Name | Required | Description | Default |
|---|---|---|---|
| client_id | Yes | Client ID (@rid format) | |
| contact_info | No | Contact/billing info as JSON object with name, phone, line1, line2, line3 fields. Phone is used for SMS routing. | |
| currency | No | Currency code | |
| default_rate | No | Default hourly billing rate | |
| name | No | New client name | |
| phone | No | Phone number in E.164 format (e.g., +15551234567) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states the action (update) but does not mention idempotency, partial vs full replacement, required permissions, side effects, or return value. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise and front-loaded. While it could be slightly more informative, it efficiently states the purpose without wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of output schema and annotations, the description is incomplete. It does not explain what happens upon update, the response format, or error conditions, leaving the agent with insufficient context for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with detailed descriptions for all parameters (e.g., contact_info structure, phone format). The tool description adds nothing beyond the schema, so it meets the baseline for strong schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Updates a client' clearly indicates the verb and resource, which is sufficient to distinguish from create/delete siblings. However, it lacks specificity about which fields can be updated, but it's not a tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like clients-create or clients-update (if there were multiple update variants). There is no mention of prerequisites, scope, or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-achieve_milestonecmmn-achieve_milestoneA
Achieves a milestone (transitions from available to completed). Sets achieved_at timestamp.
| Name | Required | Description | Default |
|---|---|---|---|
| milestone_id | Yes | Milestone ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the state transition and timestamp side effect, which is adequate for a simple action. However, it does not mention permissions, reversibility, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: one sentence with no redundant information. Front-loaded with the primary action, then state transition and side effect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description covers the core behavior and side effect. It could mention the return value or success indication, but overall it is fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear parameter description. The tool description adds no further meaning to the parameter beyond what the schema provides. According to rules, with high coverage baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'Achieves' and resource 'milestone', specifies the state transition from available to completed, and mentions the side effect of setting achieved_at timestamp. This distinguishes it from sibling tools like create_milestone or complete_task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives, no prerequisites or exclusions stated. Implicitly it is for milestones in 'available' state, but without explicit context, the agent has to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-activate_event_listenercmmn-activate_event_listenerA
Activates an event listener (available -> active). For timers, calculates and schedules the next trigger time.
| Name | Required | Description | Default |
|---|---|---|---|
| listener_id | Yes | Event listener ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full behavioral context. It discloses that for timers, it calculates and schedules the next trigger time, which is a side effect. However, it does not mention idempotency, error conditions, or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One concise sentence that efficiently conveys the core action and special behavior for timers. No redundancy or unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and only one parameter, the description covers the main function but omits details like return value, error scenarios, and preconditions. It is adequate for a simple tool but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a description for listener_id. The tool description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly specifies the verb 'activates', the resource 'event listener', and the state transition from 'available' to 'active'. It distinguishes from siblings like cmmn-terminate_event_listener and cmmn-create_event_listener by focusing on activation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for activating event listeners that are in 'available' state, but does not explicitly state when to use it versus alternatives, nor does it mention prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-add_discretionary_itemcmmn-add_discretionary_itemB
Adds a discretionary item to a running case by instantiating from a PlanItemDefinition. The definition must be marked as discretionary.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID to add the item to (@rid format) | |
| definition_id | Yes | PlanItemDefinition ID to instantiate (@rid format) | |
| name | No | Override the name from the model | |
| parent_id | No | Optional stage ID to add the item to (@rid format) | |
| status | No | Initial status (default: 'available') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as side effects, permissions required, idempotency, or triggers. For a mutation tool, more context is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words. It is front-loaded with the core action and condition, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description lacks important context about return values, error conditions, prerequisites, or post-conditions. A mutation tool should provide more completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the parameters are documented in the schema. The description does not add additional meaning beyond what's already in the schema, meeting the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (adds), the resource (discretionary item), the context (running case), and the source (PlanItemDefinition). It also includes a condition (must be marked as discretionary), which distinguishes it from siblings like cmmn-create_task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs alternatives. The description does not mention scenarios where this tool should be avoided or contrasts with siblings like cmmn-create_task or cmmn-add_model_to_case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-add_model_to_casecmmn-add_model_to_caseA
Adds items from a Case Plan Model to an existing case. Creates a 'model' container item that holds all model items as children, allowing the entire workflow to be managed as a unit. Returns model_item_id for the container.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) | |
| model_id | Yes | Model ID (@rid format) | |
| prefix | No | Optional prefix for item names to avoid conflicts (e.g., 'Invoice: ') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It discloses that a container is created and an ID is returned, but it does not mention side effects like overwriting existing items, permissions required, or what happens on failure. The description is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the action, and contains no extraneous information. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no output schema, and no annotations, the description covers the main functionality and return value adequately. It could mention error handling or prerequisites, but is sufficient for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage with descriptions for case_id, model_id, and prefix. The description adds minimal extra meaning, only rephrasing the prefix purpose. Since schema does the heavy lifting, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool adds items from a Case Plan Model to an existing case, creates a container, and returns a model_item_id. This distinguishes it from other cmmn tools like cmmn-create_task or cmmn-execute_stage, which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly indicate when to use this tool versus alternatives, such as cmmn-create_task or cmmn-instantiate. It implies usage for incorporating a pre-existing model into a case but lacks explicit guidance or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-check_sentry_conditioncmmn-check_sentry_conditionA
Checks if a single condition is satisfied without updating any sentry. Useful for AI to preview conditions.
| Name | Required | Description | Default |
|---|---|---|---|
| condition | No | Condition expression to evaluate | |
| event | No | Expected event: complete, terminate, create, etc. | |
| source_ref | No | Item ID to check state |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It explicitly states no updates occur, a key behavioral trait. However, it omits error behavior, permissions, or return format, leaving some transparency gaps for a simple read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The first sentence delivers core action and side-effect; the second adds usage context. Perfectly front-loaded and concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists; the description does not specify return value (e.g., boolean or result object). It also doesn't clarify parameter requiredness (schema has 0 required params). For a simple check tool, lacking return info reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover all three parameters (condition, event, source_ref) with clear names and descriptions. The tool description adds minimal value beyond schema, only confirming 'single condition'. Baseline at 3 due to high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'checks if a single condition is satisfied without updating any sentry', specifying verb, resource, and side-effect. It also distinguishes from siblings like `cmmn-evaluate_sentry` by highlighting the non-updating behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes it's 'useful for AI to preview conditions', implying read-only preview usage. While it doesn't explicitly mention alternatives or when not to use, the context of sibling tools (e.g., evaluate_sentry) provides implicit contrast.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-claim_complete_with_evidencecmmn-claim_complete_with_evidenceA
Judge-layer task completion (case #1:4264 phase 3). Evaluates the task's acceptance_criteria against the supplied evidence. On satisfied: completes the task. On not_satisfied: returns a judge_rejected halt with per-criterion verdicts. On uncertain (manual criteria present): returns user_review_required (phase 4 will introduce LLM judging). Tasks with no acceptance_criteria fall through to cmmn-complete_task semantics.
| Name | Required | Description | Default |
|---|---|---|---|
| evidence | Yes | Map of evidence keys → values the judge will inspect (e.g. {pr_url: '...', migration_file_path: '...'}). Keys must match required_evidence on the task and the per-verifier args.key (see cmmn-get_acceptance_criteria). | |
| output_summary | No | One-paragraph human summary of what the agent did. Stored on the task as data.result.summary for audit. Phase 4's LLM judge uses this when evaluating manual criteria. | |
| result | No | Optional structured result, passed through to the underlying complete_task as task.data.result.extra. | |
| task_id | Yes | Task ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully covers the behavioral outcomes (satisfied completes task, not_satisfied returns judge_rejected halt with per-criterion verdicts, uncertain returns user_review_required). It also notes the fallback semantics. Missing detail on any side effects beyond task status changes, but otherwise comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences, each adding distinct information: purpose, outcomes, fallback. No wasted words, front-loaded with key purpose and behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and 4 parameters, the description covers all necessary context: evaluation logic, three outcomes, fallback, and parameter semantics. It even references future functionality and sibling tools, making it self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds value by explaining semantics: evidence keys must match required_evidence and per-verifier args.key (referencing another tool), output_summary is for audit and future LLM use, result is optional pass-through. This goes beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a Judge-layer task completion tool, specifying the resource (task with acceptance criteria) and the verb (complete with evidence). It distinguishes itself from the sibling cmmn-complete_task by describing the fallback behavior when no acceptance criteria exist.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool (when evidence is available to evaluate acceptance criteria) and provides context for when not to use it (tasks with no acceptance criteria fall through to cmmn-complete_task). It also mentions future plans for LLM judging, giving an implicit alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-claim_stage_complete_with_evidencecmmn-claim_stage_complete_with_evidenceA
Phase 7 — stage analogue of cmmn-claim_complete_with_evidence. Evaluates the stage's acceptance_criteria against evidence; on satisfied, transitions the stage to completed. Otherwise returns a judge_rejected or judge_uncertain halt.
| Name | Required | Description | Default |
|---|---|---|---|
| evidence | Yes | Map of evidence keys → values the judge will inspect. Same shape as cmmn-claim_complete_with_evidence. | |
| output_summary | No | One-paragraph human summary of stage outcome. Used by the LLM judge for manual criteria. | |
| result | No | Optional structured result. | |
| stage_id | Yes | Stage ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description reveals key behavioral traits: it uses a judge to evaluate evidence, can return judge_rejected or judge_uncertain halts, and mutates stage status. This adds value beyond a basic description, though it omits auth or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the analogue reference and then succinctly describe behavior. Every sentence adds value with no extraneous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers core behavior but lacks details on return values (e.g., what does the tool return besides halts?) and prerequisites (e.g., stage must be in a runnable state). With no output schema, more completeness would benefit the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents parameters. The description adds cross-reference to cmmn-claim_complete_with_evidence for the evidence shape, but does not provide additional semantic depth beyond the schema's descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is the stage analogue of cmmn-claim_complete_with_evidence, evaluates acceptance criteria against evidence, and transitions the stage to completed or returns a halt. This distinguishes it from sibling tools like cmmn-update_stage_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'Phase 7' implying a context of use, but does not explicitly state when to use this tool versus alternatives such as cmmn-update_stage_status or cmmn-complete_task. No exclusions or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-complete_taskcmmn-complete_taskA
Completes a task. Stores result in task.data.result, sets status to completed, and evaluates sentries. Pre-flight gates: human tasks require confirm_human=true; tasks in 'available' state with unsatisfied entry sentries return 'blocked_by'; tasks with acceptance_criteria require the judge-layer evidence path — call cmmn-claim_complete_with_evidence instead, OR use force=true here to bypass. Use force=true to bypass any gate when the user has explicitly confirmed.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm_human | No | Required to complete a task with task_type='human'. Default false: human tasks halt with action_required='user_confirmation' and the agent must surface the task to the user. Set to true ONLY after the user has explicitly confirmed. | |
| force | No | Bypass all completion gates (human-task confirmation AND entry-sentry check). Use when the user has explicitly asked to skip workflow gating. Default false. | |
| result | No | Optional result data to store as a map or JSON string (e.g., {client_id: '#16:0', notes: 'Selected NASTF'}) | |
| task_id | Yes | Task ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses major behaviors: stores result, sets status, evaluates sentries, pre-flight gates for human tasks, sentry satisfaction, and acceptance criteria. Mentions return condition 'blocked_by'. Could be more explicit about side effects or permissions, but sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense single paragraph that front-loads the main action and then details gates. Slightly long but every sentence adds value. Could be split into bullet points for clarity, but concise overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers main purpose, gates, and alternatives. No output schema, but mentions return of 'blocked_by'. Doesn't describe successful response format, but the description is fairly complete for a task completion tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage with good descriptions. The description adds context for when to set confirm_human and force, explaining the gating logic. This goes beyond the schema definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'completes' and resource 'task'. It explains the effect: stores result, sets status, evaluates sentries. It distinguishes from sibling cmmn-claim_complete_with_evidence for tasks with acceptance criteria.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use an alternative: 'tasks with acceptance_criteria require the judge-layer evidence path — call cmmn-claim_complete_with_evidence instead, OR use force=true here to bypass.' Also explains when to use force=true and the conditions for human tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-create_event_listenercmmn-create_event_listenerB
Creates a CMMN Event Listener - timer, user, or generic event that can trigger sentries.
| Name | Required | Description | Default |
|---|---|---|---|
| authorized_roles | No | Roles allowed to trigger this user event | |
| case_id | Yes | Case ID (@rid format) | |
| description | No | What this event listener does | |
| event_filter | No | Conditions that must match for event to trigger listener | |
| event_name | No | Event identifier (e.g., 'twilio.sms.received', 'webhook.github.push') | |
| listener_type | Yes | Type: timer, user, or generic | |
| name | Yes | Event listener name | |
| parent_id | No | Parent item ID (for hierarchical nesting) | |
| status | No | Initial status (default: available) | |
| timer_expression | No | Timer expression: ISO8601 duration (PT24H), date (2026-01-15T10:00:00Z), or cron (0 0 * * *) | |
| timer_repeat_count | No | Number of times to repeat (0 = infinite for cron) | |
| timer_type | No | How to interpret timer_expression: duration, date, or cron | |
| triggers_sentry | No | Sentry ID that this listener triggers when fired |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It does not disclose important behaviors: that creation requires a case to exist, that it adds a plan item, that the sentry must already exist, or what the initial state is (e.g., available vs. active). No side effects or authorization needs are mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no extraneous words. However, it is so brief that it sacrifices important context that could fit without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 13 parameters, no output schema, and no annotations, the description is insufficient. It does not explain the return value (e.g., ID of created listener), dependency on sentry existence, or that it operates within a case. More context is needed for an agent to use this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. The description adds no additional meaning beyond the schema. For example, 'timer_expression' already has detailed schema description; the tool description does not further clarify usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Creates'), the resource ('CMMN Event Listener'), and specifies the types (timer, user, or generic) and their role (trigger sentries). This distinguishes it from sibling tools like cmmn-create_task or cmmn-create_milestone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives (e.g., cmmn-activate_event_listener, cmmn-trigger_event). The description implies it's for initial creation but does not state prerequisites or scenarios where other tools would be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-create_milestonecmmn-create_milestoneB
Creates a CMMN Milestone - an achievable target that marks important progress (no work, just achievement).
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) | |
| description | No | What this milestone represents | |
| name | Yes | Milestone name | |
| parent_id | No | Parent item ID (for hierarchical nesting) | |
| required | No | Must be achieved for parent stage/case to complete | |
| status | Yes | CMMN lifecycle state: available, completed, terminated |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only mentions creation and achievement nature, omitting behavioral details like idempotency, permissions, or side effects. For a creation tool, more transparency needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single concise sentence front-loads core action and key differentiating trait. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema or annotations. Description lacks return value details, error conditions, and relational context (e.g., how milestone fits in CMMN lifecycle). Incomplete for a 6-param creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers all 6 parameters with descriptions (100% coverage). The main description adds no extra parameter info beyond what schema already provides. Baseline score due to high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Creates a CMMN Milestone' and distinguishes it from tasks/stages with '(no work, just achievement)'. Purpose is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies use for marking progress without work via 'no work, just achievement', but no explicit when-to-use or alternatives among 100+ sibling tools. No prerequisites or context given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-create_planning_tablecmmn-create_planning_tableB
Creates a Planning Table that defines which discretionary items can be added at runtime to a stage or case.
| Name | Required | Description | Default |
|---|---|---|---|
| applies_to | No | Stage or Case ID this table applies to | |
| applies_to_type | No | Type: 'stage' or 'case' | |
| authorized_roles | No | Roles allowed to add items from this table | |
| available_items | No | List of PlanItemDefinition IDs that can be added | |
| case_id | Yes | Case ID (@rid format) | |
| description | No | What discretionary items are available | |
| name | Yes | Planning table name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states 'creates' but does not mention side effects, permissions, or constraints (e.g., whether updates are allowed). This is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and directly to the point. However, it could include more detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (7 parameters, no output schema, no annotations), the description is insufficient. It does not explain success behavior, errors, or required dependencies like the case_id parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds no additional meaning beyond what is already in the schema. The description does not clarify parameter relationships or usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a Planning Table and specifies its purpose: defining discretionary items for stages or cases. It differentiates from siblings like cmmn-create_task or cmmn-create_stage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives such as cmmn-add_model_to_case or cmmn-create_stage. The description lacks context on prerequisites or scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-create_sentrycmmn-create_sentryB
Creates a CMMN Sentry with optional CMMN 1.1 enhancements (multiple conditions, evaluation modes).
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) | |
| condition | No | Condition expression or description for AI to evaluate | |
| condition_logic | No | How to combine conditions: 'and' (all) or 'or' (any) | |
| condition_type | No | How to interpret condition: expression or description | |
| conditions | No | Array of conditions: [{source_ref, event, condition, logic}] for complex sentries | |
| description | No | Detailed explanation of the criterion | |
| evaluation_mode | No | onPart (remember satisfied parts - default) or onEvent (re-evaluate each time) | |
| exit_type | No | For exit sentries: 'exit' (abort), 'complete' (success), 'forceComplete' (force) | |
| guards_item | No | Item ID this sentry guards (task, stage, milestone) | |
| name | Yes | Sentry name/description | |
| parent_id | No | Parent item ID (for hierarchical nesting) | |
| required | No | Is this sentry required for parent stage auto-complete? Default: true | |
| sentry_type | Yes | Type: entry (guards activation) or exit (guards completion) | |
| source_ref | No | Item ID to watch for events (e.g., task that must complete) | |
| standard_event | No | Event that triggers evaluation: complete, terminate, create, update, delete, occur |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It only mentions 'enhancements' without disclosing behavioral traits like idempotency, permissions, error handling, or side effects such as overwriting existing sentries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that conveys the core purpose without redundancy. It could be slightly expanded for clarity, but it is appropriately front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 15 parameters, no output schema, and no annotations, the description is too brief. It omits essential context about sentry types, condition logic, and how the tool integrates into CMMN workflows, leaving significant gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter is documented in the schema. The description adds minimal extra meaning (only references 'multiple conditions, evaluation modes'), but the schema already defines them adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Creates', the resource 'CMMN Sentry', and specifies 'optional CMMN 1.1 enhancements'. It distinguishes itself from sibling tools like update, evaluate, reset sentries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With many sentry-related siblings (evaluate, update, reset, etc.), the agent lacks direction on appropriate usage contexts or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-create_stagecmmn-create_stageC
Creates a CMMN Stage for grouping related plan items (tasks, milestones, other stages).
| Name | Required | Description | Default |
|---|---|---|---|
| auto_complete | No | Automatically complete when all required items are done | |
| case_id | Yes | Case ID (@rid format) | |
| description | No | Stage description | |
| manual_activation | No | Require manual activation even when entry criteria are met | |
| name | Yes | Stage name | |
| parent_id | No | Parent item ID (for hierarchical nesting) | |
| required | No | Must complete for parent stage/case to complete | |
| status | Yes | CMMN lifecycle state: available, enabled, disabled, active, suspended, completed, terminated, failed |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only states creation and purpose, lacking details on side effects, required permissions, lifecycle impact, or return value. Minimal disclosure for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with verb and resource. No superfluous words, but could benefit from slightly more context on usage or output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter creation tool with no output schema and no annotations, the description lacks explanations of return value, error conditions, or prerequisites (e.g., case_id must exist). Incomplete for the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage 100% with descriptive parameter descriptions (e.g., auto_complete, status). Tool description adds no additional meaning beyond grouping purpose, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states verb 'creates' and resource 'CMMN Stage' with purpose 'grouping related plan items'. Clearly identifies the tool's function but does not differentiate from sibling tools like cmmn-create_task or cmmn-create_milestone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool over alternatives (e.g., create_task, create_milestone). No context on prerequisites or conditions for grouping.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-create_taskcmmn-create_taskC
Creates a CMMN-aligned task with lifecycle state management
| Name | Required | Description | Default |
|---|---|---|---|
| auto_complete_on_sub_case | No | Automatically complete this task when sub-case completes (default: true) | |
| assigned_to | No | Who/what is responsible (user, agent, system) | |
| title | Yes | Task title/summary | |
| required_evidence | No | Evidence-key names the agent must supply on completion (e.g. ['migration_file_path', 'test_file_path']). Optional. | |
| estimated_hours | No | Estimated effort in hours | |
| context | No | Working notes, reasoning, approach for AI resumption | |
| decision_type | No | How to evaluate: expression, table, ai, external | |
| required | No | Is this task required for parent stage auto-complete? Default: true | |
| process_definition_id | No | Process definition ID to execute (for task_type='process') | |
| output_mapping | No | Map sub-case results back to parent task (keys are parent field names) | |
| case_model_id | No | CasePlanModel ID to instantiate when task becomes active (only for task_type='case') | |
| triggers_sentry_on_outcome | No | Map of outcome values to sentry IDs. When decision produces an outcome, triggers corresponding sentry. | |
| decision_expression | No | Expression to evaluate (for decision_type='expression'). Supports: 'amount > 1000', 'status == approved', 'count in [1, 2, 3]' | |
| exit_criteria | No | Conditions that must be met to complete (legacy free-form list — use acceptance_criteria for judge-layer verification) | |
| entry_criteria | No | Conditions that must be met to start | |
| input_mapping | No | Map parent case data to sub-case (keys are sub-case field names) | |
| input_data | No | Input variables for the process (for task_type='process') | |
| sub_case_name | No | Name for the sub-case (defaults to task title if not specified) | |
| task_type | No | CMMN task type: human, process, case, decision | |
| case_id | Yes | Case ID (@rid format) | |
| due_date | No | Target completion date (ISO8601) | |
| description | No | Detailed task description | |
| priority | No | Priority: critical, high, medium, low | |
| status | Yes | CMMN lifecycle state: available, enabled, disabled, active, suspended, completed, terminated, failed | |
| decision_description | No | Natural language description (for decision_type='ai'). AI will evaluate and return outcome. | |
| created_by | No | Who created this task | |
| parent_id | No | Parent item ID (for hierarchical nesting) | |
| next_steps | No | Planned next actions | |
| blocked_by | No | What is currently blocking this task | |
| decision_table | No | Decision table rules (for decision_type='table'). Array of {conditions: {var: val}, outcome: 'result'} | |
| acceptance_criteria | No | Judge-layer acceptance criteria. Each item is {id, text, verifier}. verifier is a registered check name (schema_check, file_exists, command_runs_clean, ...) or 'manual'. Workflow author attaches these so the runtime judge can evaluate task completion claims. | |
| decision_inputs | No | Input variables for decision evaluation. Keys are variable names, values are the data. | |
| depends_on | No | Task IDs this task depends on | |
| auto_complete_on_decision | No | Automatically complete this task when decision is made (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states 'creates', implying mutation, but lacks details on side effects, permissions, or lifecycle implications beyond the status parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single-sentence description is efficient and front-loaded. However, for a tool with 34 parameters, slightly more detail would improve usability without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (34 parameters, no output schema), the description is insufficient. It omits return values, examples, and relationships to other cmmn tools, leaving the agent with limited guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 34 parameters have schema descriptions, achieving 100% coverage. The description adds no additional parameter information, meeting the baseline but not exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool creates a CMMN-aligned task and references lifecycle state management, distinguishing it from siblings like cmmn-complete_task. However, 'CMMN-aligned' could be further clarified for agents unfamiliar with CMMN.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., cmmn-create_stage, cmmn-complete_task). The description does not specify context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-evaluate_sentrycmmn-evaluate_sentryB
Evaluates a sentry's conditions and updates its satisfied status. Returns detailed results for each condition.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | Optional evaluation context (triggered_event, source_item, etc.) | |
| sentry_id | Yes | Sentry ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reveals that the tool updates the satisfied status (a side effect) and returns detailed results. However, with no annotations, it lacks depth on permissions, reversibility, or consequences. It is minimally transparent but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences that are front-loaded with the core action. No wasted words, though slightly more structure (e.g., listing what the tool does and what it returns) could help. Still, it's concise and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description does enough to explain inputs and general behavior, but it leaves out details about the return format or error conditions. It is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description adds useful context beyond field names: e.g., 'Optional evaluation context (triggered_event, source_item, etc.)' clarifies the purpose of the 'context' parameter. This adds meaningful value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool evaluates sentry conditions and updates status, with a specific verb and resource. However, it does not explicitly differentiate from sibling tools like cmmn-check_sentry_condition or cmmn-mark_sentry_satisfied, which could lead to confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It lacks context about prerequisites, when not to use it, or references to related tools. An agent has no way to decide if this is the appropriate tool for a given scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-execute_stagecmmn-execute_stageA
Executes a stage by traversing its task tree depth-first. Human tasks pause execution. IMPORTANT: When the result contains next_actions with action_required='llm_execute', YOU (the calling LLM) MUST process each prompt immediately. Read the 'prompt' field, execute the work it describes, then call cmmn-complete_task with the task_id and your result. Do NOT just report these back to the user — you are the executor. The stage is not complete until all llm_execute actions have been processed and their tasks completed.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | Additional context for process tasks | |
| human_task_mode | No | How to handle human tasks: 'pause' (default), 'skip', 'queue' | |
| max_depth | No | Max nesting depth for nested stages (default: 5) | |
| max_items | No | Max items to execute before returning (default: 10) | |
| stage_id | Yes | Stage ID to execute (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses key behaviors: depth-first traversal, human task pausing, and the requirement for the LLM to process llm_execute actions immediately. It also clarifies that the stage is not complete until all such actions are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear core action and an IMPORTANT section for critical instructions. It is slightly verbose but all sentences add value. Could be more concise but remains effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers main behaviors but lacks details about the return structure (no output schema), error conditions, and behavior for different human_task_mode values. The description implies a result structure but doesn't fully explain it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds minimal parameter context beyond what the schema provides (e.g., implying default for human_task_mode). No additional details for max_depth, max_items, or context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it executes a stage via depth-first traversal, which is specific. It differentiates from siblings like cmmn-execute_task through the mention of stage versus task, but does not explicitly contrast with other related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit instructions for handling llm_execute actions and when to call cmmn-complete_task. However, it does not specify when not to use this tool (e.g., for individual task execution) or mention alternative tools like cmmn-execute_task.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-execute_taskcmmn-execute_taskA
Executes a single task directly. Process/decision/case tasks execute automatically. Human tasks return an error (use update_task_status instead). IMPORTANT: When the result contains action_required='llm_execute' or a 'prompt' field, YOU (the calling LLM) MUST execute the prompt immediately, then call cmmn-complete_task with the task_id and your result. You are the executor — do the work, don't just report it.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm_human | No | Required to execute a task with task_type='human'. Default false: human tasks halt with action_required='user_confirmation'. Set to true ONLY after the user has explicitly confirmed. | |
| context | No | Additional context for execution | |
| force | No | Bypass completion gates: skip the human-task confirmation AND the entry-sentry check. Use when the user has explicitly asked to skip workflow gating. (default: false) | |
| inline | No | For ai_agent tasks: return prompt to calling LLM instead of queuing work item. The LLM executes inline and calls cmmn-complete_task with result. (default: false) | |
| task_id | Yes | Task ID to execute (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose all behavioral traits. It explains that process/decision/case tasks execute automatically and human tasks return an error. It also reveals the important behavior that the LLM may need to execute prompts inline and call cmmn-complete_task. However, it lacks details about synchronous/asynchronous behavior, error handling, or side effects, which would be valuable for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences plus a bold IMPORTANT note. It is front-loaded with the core purpose, followed by an exception and critical usage guidance. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool that executes tasks and may require LLM action, the description is incomplete. It does not describe the return value structure beyond mentioning action_required and prompt fields. There is no output schema, so the description should explain what the result looks like, error cases, or status information. This gap could lead to incorrect usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add extra meaning beyond what is already in the input schema. The parameter descriptions in the schema already explain confirm_human, force, inline, etc., so the tool description offers no additional semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool executes a single task directly, distinguishes between automatic and human tasks, and explicitly names the alternative tool (update_task_status) for human tasks. It provides specific guidance on handling results with action_required or prompt fields, which differentiates it from siblings like cmmn-complete_task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use this tool (for executing tasks) and when not to (human tasks should use update_task_status). It also provides detailed instructions on what to do after execution if the result contains action_required='llm_execute' or a prompt field, giving clear context for the LLM's subsequent actions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-get_acceptance_criteriacmmn-get_acceptance_criteriaA
Returns the judge-layer acceptance criteria + required_evidence for a task. Each criterion has id, text, verifier. verifier is a registered automated check name (e.g. schema_check, file_exists) or 'manual' (deferred to LLM judge). Backwards-compatible: if only legacy data.exit_criteria strings exist, they're normalized to manual criteria with auto-generated ids. Phase 1 of case #1:4264.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | Task ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility. It explains the return structure and backward compatibility but does not disclose behavioral traits such as read-only nature (implied by 'returns'), authentication requirements, or potential side effects. The mention of 'Phase 1 of case #1:4264' is irrelevant to behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences of useful content plus an irrelevant internal reference ('Phase 1 of case #1:4264'). The first two sentences are concise and informative; the third is unnecessary for an AI agent, reducing efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with no output schema, the description adequately explains the return structure (id, text, verifier) and the verifier field's meaning. It covers backward compatibility but lacks details on error handling or conditions, which slightly reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes the single parameter 'task_id' as 'Task ID (@rid format)' with 100% coverage. The description adds no additional meaning beyond stating 'for a task,' which does not improve understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Returns the judge-layer acceptance criteria + required_evidence for a task.' This specifies a verb (returns) and a resource (acceptance criteria for a task), and distinguishes it from the sibling tool 'cmmn-set_acceptance_criteria' which would set criteria.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for retrieving criteria but provides no explicit guidance on when to use it versus alternatives, such as 'cmmn-get_execution_flow' or 'cmmn-set_acceptance_criteria'. It lacks explicit when/when-not advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-get_execution_flowcmmn-get_execution_flowA
Gets the execution flow for a case by traversing OnPart and Guards edges. Returns workflow connections showing which items trigger sentries (OnPart) and which items are guarded by sentries (Guards). Useful for visualizing CMMN workflow dependencies.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID to analyze (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read-only operation ('Gets the execution flow') and describes the return data. However, it does not disclose any behavioral details such as side effects, permissions needed, or performance characteristics. The description is adequate but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, directly stating the action and output. It is front-loaded with the main purpose and provides additional detail. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one simple parameter and no output schema, the description covers the essential purpose. It explains the edges traversed and what the connections represent. However, it does not describe the return structure or format, which could be useful. Given the tool's simplicity, it is fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with a single parameter described. The description does not add any extra meaning beyond the schema's 'Case ID to analyze (@rid format)'. It mentions traversing edges, but that is not parameter-specific. Baseline 3 is appropriate since the schema already documents the parameter well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets execution flow by traversing OnPart and Guards edges, and returns workflow connections. It distinguishes itself from siblings like cmmn-get_execution_plan and cmmn-verify_sentry_edges by specifying the traversal logic and focus on triggers and guards.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives. It mentions 'useful for visualizing CMMN workflow dependencies' but provides no when-not-to-use or comparison with siblings. Given many related CMMN tools, this is a gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-get_execution_plancmmn-get_execution_planA
Preview execution order for a stage without executing. Shows which items are blocked by sentries and execution dependencies.
| Name | Required | Description | Default |
|---|---|---|---|
| include_blocked | No | Include blocked items in plan (default: true) | |
| stage_id | Yes | Stage to analyze (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Clearly states it is a readonly preview ('without executing'), which is transparent. Does not detail output format or error cases, but sufficient for a safe read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with front-loaded key information. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a preview tool with two simple parameters and no output schema, the description covers purpose and behavior fully. No missing context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. Description does not add extra meaning beyond the schema's parameter descriptions (include_blocked and stage_id are already clear in schema).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it previews execution order for a stage without executing, and shows blocked items and dependencies. This distinguishes it from sibling tools like cmmn-execute_stage and cmmn-get_execution_flow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for previewing before execution ('without executing'), but does not explicitly provide when-not-to-use or name alternatives among the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-get_nextcmmn-get_nextA
Gets the next task to execute in a case workflow. Returns the task with gathered context (from context_sources), prompt, and result_schema. For human tasks, this is what to present to the user. For process tasks, includes execution instructions.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, description reveals return content (context, prompt, result_schema) and task type distinction. However, no mention of side effects, error handling if no next task, or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, no fluff. First sentence states purpose, second details return fields, third clarifies behavior for human vs process tasks.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, description adequately explains return structure. Lacks error conditions or prerequisites, but sufficient for a low-complexity tool with one parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Description adds no additional meaning beyond input schema's case_id description. Schema coverage is 100%, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'Gets' and resource 'next task to execute in a case workflow'. Clearly distinguishes from sibling task management tools by specifying 'next' and detailing return content for human vs process tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance. Implies usage in case workflow progression but does not compare to alternatives like cmmn-get_execution_plan or cmmn-list_items.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-get_resume_contextcmmn-get_resume_contextA
Gets context for AI to resume work on a case. Returns active/suspended/enabled tasks, recent completions, and summary.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool returns context data and lists the types of tasks included. It does not mention side effects, suggesting a read-only operation. This is sufficient for transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the primary action and immediately followed by return details. No extraneous information. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (one parameter) and no output schema, the description adequately covers what the tool does and what it returns. No missing information critical for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter 'case_id' is fully described in the schema (100% coverage). The description does not add additional semantic meaning beyond what the schema provides. Baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Gets context for AI to resume work on a case.' It specifies the returned content: active/suspended/enabled tasks, recent completions, and summary. This distinguishes it from sibling tools like cmmn-get_next or cmmn-get_execution_plan.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing to resume a case, but does not explicitly state when to use versus alternatives. No when-not usage or exclusions are provided. Context is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-list_added_modelscmmn-list_added_modelsA
Lists all models that have been added to a case (via add_model_to_case or instantiate).
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits; it only states it lists models but omits whether it's read-only or has side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no unnecessary words, effectively communicating purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one parameter, no output schema), the description is largely complete, but could hint at the return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter with a description; the tool description does not add additional meaning beyond the schema, so baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists models added to a case via specific functions (add_model_to_case or instantiate), distinguishing it from siblings like cmmn-list_items or models-list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It specifies the context (models added to a case) and the methods of addition, providing clear usage context without explicitly stating alternatives or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-list_discretionary_itemscmmn-list_discretionary_itemsB
Lists all discretionary items available for a stage or case. Returns planning tables and their available PlanItemDefinitions.
| Name | Required | Description | Default |
|---|---|---|---|
| target_id | Yes | Stage or Case ID to get available discretionary items for (@rid format) | |
| target_type | Yes | Type: 'stage' or 'case' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must convey behavioral traits. It states the return type but does not disclose side effects (e.g., read-only), auth requirements, or any constraints. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, concise and focused. No extraneous information. Front-loaded with purpose and return value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description must cover return details. It does mention 'planning tables and their available PlanItemDefinitions', but lacks information on pagination, filtering, or structure. Adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters have schema descriptions (100% coverage), and the description adds no additional meaning beyond the schema. Baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Lists', resource 'discretionary items', and scope 'for a stage or case'. It also mentions return value 'planning tables and their available PlanItemDefinitions', providing good specificity. However, it does not explicitly differentiate from sibling tools like 'cmmn-list_items'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. No mention of prerequisites, context, or exclusion criteria. Usage is only implied by the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-list_itemscmmn-list_itemsA
Lists CMMN plan items for a case. Filter by type (task/stage/milestone/event_listener/sentry) and/or status.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) | |
| status | No | Filter by status (optional) | |
| type | No | Filter by type: task, stage, milestone, event_listener, sentry. Omit for all CMMN items. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read-only list operation, but does not disclose potential behaviors such as pagination, limits, or ordering, which are typical for list tools.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two succinct sentences: first states the primary purpose, second describes filtering options. No redundant information, every word contributes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the purpose and filtering, but lacks details about the output format (e.g., list of object properties, any pagination). For a simple list tool, this is adequate but not fully comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters completely, so baseline is 3. The description adds value by enumerating possible type values (task/stage/milestone/event_listener/sentry), providing meaning beyond the schema's generic string descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool lists CMMN plan items for a case, specifying the verb and resource. It differentiates from sibling tools like cmmn-list_discretionary_items by focusing on plan items with filtering options.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Indicates filtering by type and status, which provides a clear context for use. However, it does not explicitly state when not to use or mention alternative tools like cmmn-list_discretionary_items.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-list_sentries_for_itemcmmn-list_sentries_for_itemB
Lists all sentries (entry and exit criteria) that guard an item.
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Item ID (@rid format) to get sentries for | |
| sentry_type | No | Filter by type: 'entry' or 'exit' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It only states it lists sentries, but provides no detail on read-only behavior, potential side effects, or performance implications. It is safe to assume it is a read operation, but the description does not confirm this.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary words, efficiently conveying the tool's purpose. It is well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation without an output schema, the description is adequate but omits what the response contains (e.g., list of sentry objects). It covers the essential meaning but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with descriptions for both parameters. The tool description adds no extra meaning beyond what the schema offers, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool lists all sentries (entry and exit criteria) guarding an item, using a specific verb and resource. It distinguishes itself from sibling tools like cmmn-create_sentry or cmmn-update_sentry.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites, nor does it explain when to use sentry creation or update tools instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-mark_sentry_part_satisfiedcmmn-mark_sentry_part_satisfiedB
Marks a specific condition/part of a sentry as satisfied (for onPart evaluation mode).
| Name | Required | Description | Default |
|---|---|---|---|
| part_index | Yes | Index of the condition to mark as satisfied (0-based) | |
| sentry_id | Yes | Sentry ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must cover behavioral traits. It only states the action 'marks as satisfied,' omitting side effects, state requirements, or what happens if the part is already satisfied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no fluff. Every word adds value. Front-loaded with the core action and context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple mutation tool with no output schema, the description is minimally adequate but lacks details on error cases, state prerequisites, and return behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema descriptions fully cover both parameters (part_index and sentry_id). The tool description adds no extra meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action (marks), the resource (specific condition/part of a sentry), and the mode (onPart evaluation), distinguishing it from the sibling tool cmmn-mark_sentry_satisfied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no guidance on when to use this tool versus alternatives like cmmn-mark_sentry_satisfied or cmmn-evaluate_sentry. No context about prerequisites or typical scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-mark_sentry_satisfiedcmmn-mark_sentry_satisfiedB
Marks a sentry as satisfied. Sets satisfied=true and records timestamp.
| Name | Required | Description | Default |
|---|---|---|---|
| sentry_id | Yes | Sentry ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Provides basic transparency: sets satisfied=true and timestamp. However, with no annotations, it lacks details on side effects, reversibility, or triggers. Adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with action. No unnecessary words; highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one param, no output schema, no annotations), the description is minimally complete. But for a CMMN mutation tool, more context (e.g., effect on sentry evaluation) would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description does not add extra meaning beyond the schema's 'Sentry ID (@rid format)'. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('marks sentry satisfied') and the effect (sets flag and timestamp). It distinguishes from sibling 'cmmn-mark_sentry_part_satisfied' by connotation, but does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'cmmn-reset_sentry' or 'cmmn-evaluate_sentry'. The agent must infer context from name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-reset_sentrycmmn-reset_sentryA
Resets a sentry to unsatisfied state, clearing all satisfied_parts. Used when re-evaluation is needed.
| Name | Required | Description | Default |
|---|---|---|---|
| sentry_id | Yes | Sentry ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the tool clears satisfied_parts and resets state, but does not mention side effects (e.g., whether re-evaluation is triggered automatically), permissions, or return format. Basic disclosure is present but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no extraneous information. It front-loads the action and purpose efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple reset tool with no output schema, the description explains the state change and use case. However, it lacks details on the response (e.g., confirmation, any automatic re-evaluation) which a single-parameter tool might need for full agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers 100% of parameter description ('Sentry ID (@rid format)'), and the description adds no additional meaning. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool resets a sentry to unsatisfied state and clears satisfied_parts, which is a specific action distinct from siblings like cmmn-mark_sentry_satisfied or cmmn-evaluate_sentry. The verb 'reset' and resource 'sentry' are well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes 'Used when re-evaluation is needed' which gives a context of use, but does not explicitly mention when not to use or compare with alternatives like cmmn-mark_sentry_satisfied. The guidance is minimal but adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-reset_stagecmmn-reset_stageA
Resets a completed stage to active state for re-execution. The stage executor can then re-process its child tasks. Use cascade=true to also reset all downstream items.
| Name | Required | Description | Default |
|---|---|---|---|
| cascade | No | If true, also resets all downstream items that depend on this stage via sentries. Defaults to false. | |
| stage_id | Yes | Stage ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states reset to active state and cascade behavior, but omits side effects, permissions, or impact on existing work items. Adequate for a simple operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, no redundant information. Front-loaded with the action and key options.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Sufficient for a simple tool with two parameters and no output schema. Provides core usage and cascade behavior. Minor gaps in behavioral details are acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage with descriptions for both parameters. Description adds value by clarifying that cascade resets downstream items, which is not fully detailed in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool resets a completed stage to active state for re-execution, and mentions cascade option for downstream items. It distinguishes from sibling tools like cmmn-reset_task or cmmn-reset_sentry.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Describes when to use (reset completed stage for re-execution) and explains the cascade parameter. Lacks explicit when-not-to-use or alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-reset_taskcmmn-reset_taskA
Resets a task to allow re-execution. Returns reset_items audit listing every item touched (id, name, type, from_status, to_status). With cascade=true, walks the sentry graph forward and resets all downstream items so cmmn-execute_stage will re-run them rather than skipping completed work. With dry_run=true, returns the same audit without applying. Existing result data and child items are kept.
| Name | Required | Description | Default |
|---|---|---|---|
| cascade | No | If true, also resets all downstream items that transitively depend on this task via sentries. Walks the sentry source_ref chain forward. Defaults to false. | |
| dry_run | No | When true, returns the planned reset audit (which items would be reset and from what status) without applying any changes. Use to preview a cascade before committing. Default: false. | |
| task_id | Yes | Task ID (@rid format) | |
| to_status | No | Target status after reset: 'available' (wait for sentry gate, no auto-execute), 'enabled' (default, auto-execute for process tasks). Default: 'enabled' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the audit return, cascade behavior (walks sentry graph), dry_run preview, and retention of existing data. It could mention auth needs or rate limits but is otherwise thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences with no wasted words. Front-loaded with the main purpose. Each sentence adds essential detail: audit return, cascade, dry_run, and preservation of data.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters, no output schema, and no annotations, the description covers purpose, return value, and parameter behaviors. It explains cascade and dry_run thoroughly. Minor gaps like edge cases (e.g., invalid task_id) are not addressed, but overall sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining cascade's effect on downstream items and dry_run's preview purpose, beyond the schema descriptions. It provides context for 'to_status' options.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Resets a task to allow re-execution.' Verb and resource are explicit. The description also details the audit return and cascade/dry_run options, distinguishing it from siblings like 'cmmn-reset_stage'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage for re-execution and explains cascade and dry_run, but does not explicitly contrast with alternatives like 'cmmn-execute_task' or provide when-not scenarios. Context is clear but lacks exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-set_acceptance_criteriacmmn-set_acceptance_criteriaA
Sets the judge-layer acceptance criteria on a task. The runtime judge (case #1:4264 phase 3) will evaluate these when the agent claims completion via cmmn-claim_complete_with_evidence. Workflow authors call this to attach verification recipes — schema_check for SQL migrations, command_runs_clean for build steps, manual for natural-language assertions.
| Name | Required | Description | Default |
|---|---|---|---|
| criteria | Yes | List of criterion maps {id, text, verifier} OR list of strings (each becomes a manual criterion). Replaces existing criteria. | |
| required_evidence | No | Evidence-key names the agent must supply when claiming completion (e.g. ['migration_file_path']). Omit to leave existing value unchanged; pass [] to clear. | |
| task_id | Yes | Task ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that criteria are set and judged later, but does not explicitly state that existing criteria are replaced (though the schema does). It also does not mention permissions or side effects. The description is adequate but not comprehensive for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences and a list of examples. It is front-loaded with the main action. However, it could be more structured by including bullet points for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters, no annotations, and no output schema, the description provides sufficient context: purpose, when to use, and examples. It does not cover return values or error states, but those are not required given the lack of output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 main description adds examples of verification recipes but does not significantly enhance understanding beyond the schema descriptions. The parameter descriptions in the schema already explain criteria replacement and evidence keys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool sets acceptance criteria on a task, using a specific verb-resource pair. It distinguishes from siblings like cmmn-get_acceptance_criteria by explaining the context (judge-layer evaluation before claiming completion). Examples of verification recipes further solidify purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly indicates when to use the tool ('Workflow authors call this to attach verification recipes') and connects it to cmmn-claim_complete_with_evidence. It does not explicitly state when not to use it, but the context is clear. Sibling tools like cmmn-get_acceptance_criteria are implicitly differentiated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-terminate_event_listenercmmn-terminate_event_listenerA
Terminates an event listener (cancels any scheduled timer jobs).
| Name | Required | Description | Default |
|---|---|---|---|
| listener_id | Yes | Event listener ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It adds behavioral context by stating that terminating cancels scheduled timer jobs. However, it does not disclose whether the operation is reversible, what happens to related items, or any permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately communicates the tool's function and effect, with no wasted words. It is appropriately brief for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one parameter, no output schema, and no annotations, the description is minimal but viable. It covers the core purpose and effect but does not describe return values, error conditions, or related concepts, leaving some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with a description for the only parameter ('listener_id' in '@rid format'). The tool description does not add any additional meaning beyond what the schema already provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('terminates') and resource ('event listener'), and explains the effect ('cancels any scheduled timer jobs'). This clearly distinguishes it from sibling tools like 'cmmn-create_event_listener' or 'cmmn-activate_event_listener'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention prerequisites or context. However, the single-purpose nature implies usage when an event listener needs to be terminated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-trigger_eventcmmn-trigger_eventB
Manually triggers an event listener (marks as completed). Use for user events or testing.
| Name | Required | Description | Default |
|---|---|---|---|
| event_data | No | Optional event data to include with the trigger | |
| listener_id | Yes | Event listener ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It states 'marks as completed' but does not mention side effects, permissions, reversibility, or error conditions. For a mutation tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded and contains no redundant information. Every word is meaningful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no output schema), the description covers the basic purpose. However, it lacks details on return behavior, error states, or the exact implications of 'marks as completed', leaving room for ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100% with clear descriptions for both parameters. The tool description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool triggers an event listener manually, marking it as completed. It uses specific verbs and resource references. However, it does not explicitly differentiate from sibling tools like cmmn-activate_event_listener, which might start listening vs. triggering.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides vague usage context ('Use for user events or testing') but lacks explicit when-to-use versus alternatives. No exclusions or sibling comparisons are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-update_sentrycmmn-update_sentryA
Updates a sentry's fields after creation. If guards_item or source_ref change, the corresponding graph edges (Guards/OnPart) are automatically deleted and recreated.
| Name | Required | Description | Default |
|---|---|---|---|
| condition | No | New condition expression or description | |
| condition_type | No | How to interpret condition: expression or description | |
| evaluation_mode | No | New evaluation mode: onPart (remember satisfied parts) or onEvent (re-evaluate each time) | |
| guards_item | No | New item ID this sentry guards. Updates Guards edge in graph. | |
| sentry_id | Yes | Sentry ID (@rid format) | |
| source_ref | No | New source item ID to watch for events. Updates OnPart edge in graph. | |
| standard_event | No | New event that triggers evaluation: complete, terminate, create, update, delete, occur |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears the full burden. It discloses that changing guards_item or source_ref causes automatic deletion and recreation of graph edges, which is a key behavioral trait. However, it does not mention other potential side effects, permissions, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the main purpose. No redundant information; every phrase adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the core function and important side effects, but it does not cover return values (no output schema), possible errors, or value constraints for parameters like standard_event (though schema implies freeform). Given moderate complexity, it is mostly complete but has gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema documents each parameter. The description adds meaning for guards_item and source_ref by explaining the graph edge deletion/recreation, which goes beyond the schema. For other parameters, no additional context is provided, but baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates a sentry's fields after creation, specifying the verb 'updates' and resource 'sentry'. It distinguishes from sibling tools like create_sentry by noting it operates on existing sentries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'after creation' implying the sentry must exist, but it does not explicitly state when to use this tool versus alternatives such as evaluate_sentry or reset_sentry. No guidance on prerequisites or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-update_stage_statuscmmn-update_stage_statusA
Updates a stage's status with CMMN transition validation. Automatically sets timestamps. Valid transitions: available → enabled|disabled, enabled → active|disabled, disabled → enabled, active → completed|terminated|failed|suspended, suspended → active|terminated. Note: Stages with acceptance_criteria require cmmn-claim_stage_complete_with_evidence when transitioning to 'completed' (or pass force=true).
| Name | Required | Description | Default |
|---|---|---|---|
| force | No | Bypass the judge-layer gate. When transitioning to 'completed', a stage with acceptance_criteria normally requires cmmn-claim_stage_complete_with_evidence. Set force=true to skip the judge (admin override). | |
| stage_id | Yes | Stage ID (@rid format) | |
| status | Yes | New status: available, enabled, disabled, active, suspended, completed, terminated, failed |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It discloses validation, automatic timestamp setting, and special behavior for completed status. However, it does not detail potential side effects (e.g., impact on other stage data) or confirm the return value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: two sentences followed by a list and a note. It is front-loaded with the primary action and efficient, with no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description covers the essential behavioral aspects and transition rules. It could be slightly improved by mentioning the return value or success confirmation, but overall it is complete given the context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, and the description adds extra context: the list of valid transitions and the explanation of the 'force' parameter (bypass judge for completed status). This goes beyond the schema definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates a stage's status with CMMN transition validation and automatic timestamp setting. It distinguishes itself from sibling tools like cmmn-update_task_status by specifying the resource (stage) and the validation context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists valid transitions and provides a critical note about when to use an alternative tool (cmmn-claim_stage_complete_with_evidence) for 'completed' status with acceptance criteria, or to use force=true. This gives clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-update_task_statuscmmn-update_task_statusA
Updates a task's status with CMMN transition validation. Automatically sets timestamps. Valid transitions: available → enabled|disabled, enabled → active|disabled, disabled → enabled, active → completed|terminated|failed|suspended, suspended → active|terminated. Tip: To complete a task from any startable state (available/enabled/active), use cmmn-complete_task instead — it auto-transitions through intermediate states.
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | New status: available, enabled, disabled, active, suspended, completed, terminated, failed | |
| task_id | Yes | Task ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that it validates transitions and auto-sets timestamps. However, it does not mention error handling for invalid transitions or what the output response is. Given no annotations, the description carries the full burden and does a good job but is not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise: three sentences covering purpose, transitions, and tip. No filler. Information is front-loaded with the main purpose, making it easy for an agent to quickly grasp.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of CMMN transitions and no output schema, the description provides the essential transition rules and a helpful tip. It could mention the return value or error behavior, but it is largely complete for a mutation tool with this detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, providing baseline 3. The description adds value by listing the valid status transitions, clarifying the permissible values for the 'status' parameter beyond the schema's description. The tip also adds context about complete_task, which indirectly informs parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it updates a task's status with CMMN transition validation. The verb 'updates' combined with 'task status' is specific. It distinguishes from sibling cmmn-complete_task by mentioning it in the tip, providing an alternative for completing tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly lists valid transitions and provides a tip indicating when to use cmmn-complete_task instead. This gives clear when-to-use and when-not-to-use guidance, and names an alternative tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-validate_timer_expressioncmmn-validate_timer_expressionA
Validates a timer expression without creating anything. Returns parsed details (seconds for duration, datetime for date, next_trigger for cron) or an error message. Use before creating timer event listeners to catch expression errors early.
| Name | Required | Description | Default |
|---|---|---|---|
| expression | Yes | Timer expression to validate: ISO8601 duration (PT24H), datetime (2026-01-15T10:00:00Z), or cron (0 0 * * *) | |
| timer_type | Yes | Type of timer expression: duration, date, or cron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description bears full responsibility. It explicitly states the tool does not create anything, implying a read-only behavior, and describes the return format for different timer types. This is transparent given the tool's simplicity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first defines the action and output, the second provides usage guidance. It is front-loaded, with no unnecessary words, and every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and lack of output schema, the description adequately covers purpose, usage, return format, and safety. It positions the tool within the CMMN domain, and the return details are sufficient for an agent to understand the outcome.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with descriptions. The description adds context by detailing what each timer type returns (seconds, datetime, next_trigger), but does not add significant meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool validates a timer expression without creating anything, which distinguishes it from sibling tools that create or modify entities. It specifies the verb 'validates' and resource 'timer expression', and the return of parsed details or error message.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises using the tool 'before creating timer event listeners to catch expression errors early', providing clear context for when to use it. It does not explicitly mention when not to use it, but the guidance is sufficient for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cmmn-verify_sentry_edgescmmn-verify_sentry_edgesA
Verifies sentry JSON data matches graph edges. Returns count of matching sentries and any mismatches where source_ref or guards_item JSON fields don't match OnPart/Guards edges. Useful for data integrity checks.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID to verify (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It clearly indicates a read-only verification operation (no side effects), returns a count and mismatches. There are no contradictions, and the behavior is well disclosed for a verification tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two succinct sentences: the first states the purpose and output, the second adds a usage note. Every sentence is valuable, with no redundancy or fluff, and the key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple verification tool with one parameter and no output schema, the description covers the return value (count and mismatches) but lacks detail on the mismatch format. It is adequate but could be more complete by describing the output structure or any prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with a single parameter (case_id) described as 'Case ID to verify (@rid format)'. The description adds context by mentioning the fields checked (source_ref, guards_item) but does not significantly enhance parameter understanding beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it verifies sentry JSON data matches graph edges, checking specific fields (source_ref, guards_item) against OnPart/Guards edges. It also describes the return value (count and mismatches), clearly distinguishing it from sibling tools like cmmn-create_sentry or cmmn-evaluate_sentry.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says 'Useful for data integrity checks,' which implies a use case but does not explicitly state when to use this tool versus alternatives such as cmmn-check_sentry_condition or cmmn-evaluate_sentry. No when-not or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
files-find_by_namefiles-find_by_nameA
Finds a file by name within a case. Returns the file item if found, null if not.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) | |
| filename | Yes | Filename to search for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses the return behavior (file item or null) but lacks details on side effects, permissions, or scope. Adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no fluff, front-loads the core action and return value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple lookup tool with two parameters and no output schema, the description adequately covers functionality and return. Could mention file item structure but not necessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds no additional meaning beyond what the schema provides, so baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it finds a file by name within a case, with a specific verb and resource. It distinguishes from siblings like files-list_versions and items-find_by_url by focusing on name lookup within a case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like items-find_by_url or general search. No mention of prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
files-list_versionsfiles-list_versionsA
Lists all versions of a file, including current version info and version history
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | File item ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description does not disclose behavioral traits such as read-only nature or any side effects. For a listing tool, it is reasonable to assume it's read-only, but the lack of explicit disclosure lowers the score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, 13 words, no repetition or fluff. Clearly front-loaded with the action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low complexity (one param, no output schema, no annotations), the description is mostly complete. It hints at output content ('current version info and version history'), though it could be more explicit about return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage for the single parameter (item_id). The description does not add additional semantic meaning beyond what the schema offers, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list), the resource (versions of a file), and scope (all versions, includes current and history). It distinguishes from sibling file tools by focusing on versioning.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The purpose implies it should be used when version history is needed, but no exclusions or comparisons are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
files-readfiles-readA
Reads file content from storage. Images (PNG, JPEG, GIF, WebP, SVG) are returned as native MCP image content blocks that LLMs can view directly. Non-image files return base64-encoded content by default, or plain text if encoding='text'.
| Name | Required | Description | Default |
|---|---|---|---|
| encoding | No | Output encoding: 'base64' (default, for binary files) or 'text' (for text files). Ignored for images. | |
| item_id | Yes | File item ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description reveals important behavior: images become native MCP image blocks, non-images use base64 or text. But it omits details on error handling, permissions, size limits, or truncation, leaving gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action, no unnecessary words. Every sentence contributes meaningful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description explains return types for images and non-images. It covers key behavior but misses potential edge cases like large files or invalid IDs, though for a simple tool this is mostly sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds value by noting that the encoding parameter is ignored for images, which is not in the schema. This clarifies semantics beyond the structured fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool reads file content from storage and distinguishes between image and non-image handling. However, it does not differentiate from sibling tools like files-find_by_name or files-list_versions, though their purposes are distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives, nor prerequisites or exclusions. The description lacks context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
graph-get_linkedgraph-get_linkedA
Gets all items linked from a vertex. Optionally filter by link_type (e.g., 'context').
| Name | Required | Description | Default |
|---|---|---|---|
| from_id | Yes | Source vertex ID (@rid format) | |
| link_type | No | Optional edge type filter (e.g., 'context'). When provided, returns only items linked with that edge type. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states it 'gets' items, implying a read-only operation, but does not explicitly confirm no side effects, required permissions, or performance considerations. The description lacks detail on behavior beyond the basic retrieval.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, 15 words, straightforward. No superfluous information. Key action and optional filter are front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple query tool with two parameters and no output schema, the description covers the essential purpose. It does not detail return format or error handling, but given the tool's simplicity, it is largely adequate for an AI agent to understand its function.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds minimal value by providing an example for link_type ('e.g., 'context''), which reinforces the parameter's purpose but does not significantly enhance understanding beyond the schema descriptions themselves.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Gets', the resource 'all items linked from a vertex', and mentions optional filtering by link_type. This distinguishes it from sibling tools like graph-link and graph-unlink which perform different actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description does not explicitly state when to use this tool versus alternatives. It implies its use for retrieving linked items but provides no exclusions or guidance on choosing between this and other retrieval tools (e.g., items-get, items-list).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
graph-linkgraph-linkA
Creates a LinkedTo edge between any two vertices. Use link_type='context' to link a case as a context source.
| Name | Required | Description | Default |
|---|---|---|---|
| from_id | Yes | Source vertex ID (@rid format) | |
| link_type | No | Optional edge type (e.g., 'context' to mark a linked case as context for post-compaction reload) | |
| to_id | Yes | Target vertex ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states that the tool creates an edge, without disclosing error behavior (e.g., what happens if vertices don't exist or edge already exists), side effects, or whether the operation is idempotent. For a mutation tool, this lack of transparency is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two succinct sentences. The first sentence states the core purpose, and the second provides a specific usage hint. There is no unnecessary information, and key details are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description should cover more behavioral context. It omits return value, error conditions, and idempotency. For a tool with three parameters and no structured metadata, this is insufficient for a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all three parameters, so baseline is 3. The description adds value by explaining the 'context' link_type usage, but doesn't significantly enhance semantics beyond what the schema already provides for the other parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Creates a LinkedTo edge') and the resource ('between any two vertices'). It also provides a specific usage hint for the link_type parameter, distinguishing it from sibling tools like graph-unlink (which removes edges) and graph-get_linked (which reads them).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the tool's purpose ('create a LinkedTo edge') and when to use the link_type parameter. It implies usage when linking vertices, but does not explicitly contrast with sibling tools like graph-unlink for removal or graph-get_linked for reading. The guideline is clear enough for an AI agent to decide to use it, albeit with minor room for improvement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
graph-unlinkgraph-unlinkB
Removes a LinkedTo edge between two vertices
| Name | Required | Description | Default |
|---|---|---|---|
| from_id | Yes | Source vertex ID (@rid format) | |
| to_id | Yes | Target vertex ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description only states the basic operation. It does not disclose what happens if the edge does not exist, whether it is destructive (implied but not stated), or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no extraneous words. Efficiently conveys the essential action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no explanation of return values or error handling. Given the lack of annotations, the description should provide more behavioral context but does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers both parameters with descriptions. The tool description adds no additional meaning beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (removes), the resource (LinkedTo edge), and the betweenness (two vertices). It effectively distinguishes from sibling tools like graph-link which adds edges.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use or not use this tool versus alternatives like graph-link. The description lacks any context about prerequisites or scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoices-createinvoices-createB
Creates a standalone Invoice vertex with a BillTo edge to the specified client.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | No | Invoice amount | |
| client_id | Yes | Client ID to bill to (@rid format) - REQUIRED: all invoices must have a client | |
| currency | No | Currency code (default: USD) | |
| invoice_date | No | Invoice date (YYYY-MM-DD) | |
| invoice_number | Yes | Unique invoice number (e.g., INV-2025-001) | |
| month_of | No | Billing period (e.g., 'January 2025') | |
| notes | No | Optional notes | |
| status | No | Status: draft, sent, paid, overdue, cancelled (default: draft) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It mentions the BillTo edge relationship but does not disclose side effects, permissions, idempotency, or return behavior, which is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys the tool's core purpose without any redundant or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters and no output schema, the description lacks crucial context such as return values, error conditions, or relationship to other billing tools (e.g., invoices-list_unbilled_durations). It is too minimal to fully guide the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already documented. The description adds minimal value by rephrasing the client_id parameter's role ('with a BillTo edge to the specified client'), but does not provide additional semantic or syntactic details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (creates), the resource (standalone Invoice vertex), and the relationship (BillTo edge to specified client), which effectively distinguishes it from sibling tools like invoices-update or invoices-delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly provide when-to-use or when-not-to-use guidance. Since there is only one create invoice tool, the context implies usage for creating invoices, but no alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoices-deleteinvoices-deleteC
Deletes an invoice
| Name | Required | Description | Default |
|---|---|---|---|
| invoice_id | Yes | Invoice ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only states that it deletes, which is obvious. It does not disclose potential side effects, such as cascading deletions, permission requirements, or whether the action is reversible. With no annotations, the description falls short of informing an AI agent about important behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise and front-loaded. However, it is so minimal that it borders on under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a delete operation, the description should mention prerequisites, irreversibility, and effects on linked data. It lacks these details. Despite low parameter complexity, the description is insufficient for safe and informed tool usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers the single parameter with a description. The tool description adds no additional meaning beyond what the schema already provides. Given 100% schema coverage, a score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'Deletes' and resource 'an invoice', making the action clear. It distinguishes from siblings like invoices-create, invoices-get, invoices-update, which are the only related tools. However, it is somewhat redundant with the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites (e.g., unlinking items before deletion) or when deletion is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoices-getinvoices-getB
Gets an invoice by ID
| Name | Required | Description | Default |
|---|---|---|---|
| invoice_id | Yes | Invoice ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits (e.g., read-only, no side effects). For a 'get' operation, stating it is read-only would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence (5 words) with no wasted words. However, it could be slightly expanded to include behavioral context without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (1 param, no output schema), the description should at least hint at the return value (e.g., 'returns the full invoice object'). The current description is incomplete for an agent to fully understand tool behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with descriptions, including 'Invoice ID (@rid format)'. The description adds no additional meaning beyond what the schema provides, earning baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Gets') and the resource ('an invoice by ID'), distinguishing it from sibling tools like 'invoices-list' which retrieves multiple invoices without an ID.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., invoices-list for listing, invoices-create for creating). The agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoices-get_clientinvoices-get_clientB
Gets the client for an invoice via BillTo edge. Returns the Client details.
| Name | Required | Description | Default |
|---|---|---|---|
| invoice_id | Yes | Invoice ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose side effects, error conditions, permissions, or rate limits. It adds only minor context about the BillTo edge beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no redundant information. Every phrase adds value, efficiently conveying the tool's purpose and output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 1-parameter tool with no output schema and no annotations, the description sufficiently explains what the tool returns (Client details) and the retrieval path. It lacks error handling or edge cases but is adequate for basic use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for invoice_id. The description adds minimal extra meaning by mentioning the BillTo edge, but does not elaborate on parameter format or constraints beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Gets', the resource 'client for an invoice', and the method 'via BillTo edge'. It explicitly differentiates from sibling tools like invoices-get and clients-get by specifying the retrieval mechanism.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as clients-get or invoices-get. The description lacks context about prerequisites or scenarios where this tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoices-get_durationsinvoices-get_durationsC
Gets all durations linked to an invoice
| Name | Required | Description | Default |
|---|---|---|---|
| invoice_id | Yes | Invoice ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It only states 'Gets', implying a read operation, but lacks details on error behavior (e.g., missing invoice), pagination, or any potential side effects. The absence of output schema further limits transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence—no wasted words. However, under-specification may harm completeness, but for conciseness alone it scores highly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of sibling tools like invoices-list_unbilled_durations and the lack of output schema, the description fails to clarify what 'durations' are (e.g., time entries, billing items) or how this tool differs from alternatives. It lacks essential context for correct selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage for the single parameter invoice_id is 100%, and the schema already describes it as 'Invoice ID (@rid format)'. The description adds no further meaning beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Gets') and the resource ('all durations linked to an invoice'). However, it does not differentiate from sibling tools like invoices-list_unbilled_durations, which also deals with durations. The verb 'get' implies retrieval, but the scope versus alternatives is unclear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as invoices-list_unbilled_durations or invoices-get_expenses. There is no explanation of prerequisites, context, or when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoices-get_expensesinvoices-get_expensesA
Gets all expenses linked to an invoice
| Name | Required | Description | Default |
|---|---|---|---|
| invoice_id | Yes | Invoice ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden of behavioral disclosure. It states a read operation ('Gets'), but does not mention side effects, error conditions (e.g., missing invoice), or pagination. For a simple get tool, this is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no extraneous information. It is front-loaded and directly states the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 1-parameter read tool with no output schema, the description partially explains the return value ('all expenses'), but does not specify the format or structure of the output. It is adequate but could be more explicit (e.g., 'Returns a list of expense objects').
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (one parameter described), so baseline is 3. The description does not add any additional meaning beyond the schema's definition of invoice_id as 'Invoice ID (@rid format)'. No extra context is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Gets' and resource 'all expenses linked to an invoice', clearly stating the tool's function. It distinguishes itself from siblings like invoices-get (invoice details) and invoices-list_unbilled_expenses (unbilled expenses).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: when you need all expenses for a given invoice. However, it provides no explicit when-not or alternative tools, such as when to use list_unbilled_expenses instead. The context is clear but lacks exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoices-link_iteminvoices-link_itemB
Links a duration or expense to an invoice
| Name | Required | Description | Default |
|---|---|---|---|
| invoice_id | Yes | Invoice ID (@rid format) | |
| item_id | Yes | Duration or Expense CaseFileItem ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description says only 'links' without disclosing side effects, idempotency, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple link operation, but lacks details on return value, success/failure indicators, or behavioral constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers both parameters with descriptions (e.g., @rid format). Description adds no additional meaning beyond what schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action (links) and the resource types (duration or expense, invoice). Differentiates from sibling tool invoices-unlink_item.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like invoices-unlink_item, nor any prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoices-listinvoices-listA
Lists invoices, optionally filtered by client, billing period, or status
| Name | Required | Description | Default |
|---|---|---|---|
| client_id | No | Filter by client name or ID (@rid format) | |
| month_of | No | Filter by billing period (e.g., '2025-12', 'December 2025') | |
| status | No | Filter by status: draft, sent, paid, overdue, cancelled |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description bears full burden. It indicates a read-only operation but omits details on pagination, ordering, result limits, or side effects. This leaves agents uncertain about behavior for large datasets.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no redundant words. The purpose is front-loaded and efficiently communicated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain return format. It fails to mention whether results are paginated, sorted, or include totals. For a low-complexity tool with 3 optional params, it's adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% description coverage for all 3 parameters, each with clear explanations. The description adds context by grouping filters but doesn't provide additional semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (lists), resource (invoices), and optional filters (client, billing period, status). It distinguishes from sibling tools like 'invoices-get' by implying multiple results vs single.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for listing invoices with optional filters but provides no explicit guidance on when to use this tool over alternatives (e.g., other list tools for unbilled items). No exclusions or prerequisites stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoices-list_unbilled_durationsinvoices-list_unbilled_durationsB
Lists all durations not yet linked to any invoice
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | No | Filter by case ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It correctly implies a read-only operation ('lists') but provides no details on side effects, permissions, or return format. Adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no waste, front-loaded with key action. Slightly sparse but effective for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema provided, and description fails to mention return format, pagination, or error handling. For a list tool, this is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already documents the only parameter (case_id) with clear description. Description adds no extra meaning, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool lists durations not linked to any invoice, using specific verb 'lists' and resource, distinguishing it from siblings like invoices-list and invoices-get_durations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like invoices-get_durations or invoices-list_unbilled_expenses. Lacks any context or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoices-list_unbilled_expensesinvoices-list_unbilled_expensesA
Lists all expenses not yet linked to any invoice
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | No | Filter by case ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states the basic function without disclosing behavioral traits such as read-only nature, pagination, or scope of 'all' expenses.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 8 words, front-loading the action and resource with no unnecessary filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one optional parameter, the description is adequate but lacks details about the output format (no output schema), which would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single optional parameter (case_id), which already includes a description. The description adds no additional meaning beyond the tool's purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Lists' and the specific resource 'expenses not yet linked to any invoice', which distinguishes it from sibling tools like invoices-list_unbilled_durations (durations) and invoices-list (all invoices).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like invoices-list_unbilled_durations or invoices-list; usage context is implied but not directly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoices-unlink_iteminvoices-unlink_itemB
Unlinks a duration or expense from an invoice
| Name | Required | Description | Default |
|---|---|---|---|
| invoice_id | Yes | Invoice ID (@rid format) | |
| item_id | Yes | Duration or Expense CaseFileItem ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose any side effects, prerequisites, or constraints of unlinking (e.g., impact on billing or whether invoice must be in a specific state).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence of 8 words. Every word is necessary; no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks information about return values (no output schema) and does not explain what happens after unlinking or potential error conditions. For a mutation tool, this is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with descriptions for both parameters. The description adds no extra meaning beyond the schema, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Unlinks' and clearly identifies the resource ('a duration or expense') and context ('from an invoice'). This distinguishes it from sibling tools like invoices-link_item and invoices-get_durations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., when to unlink vs. delete an item). No prerequisites or scenarios are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoices-updateinvoices-updateC
Updates an invoice
| Name | Required | Description | Default |
|---|---|---|---|
| amount | No | Invoice amount | |
| currency | No | Currency code | |
| invoice_date | No | Invoice date (YYYY-MM-DD) | |
| invoice_id | Yes | Invoice ID (@rid format) | |
| invoice_number | No | Invoice number | |
| month_of | No | Billing period | |
| notes | No | Notes | |
| status | No | Status: draft, sent, paid, overdue, cancelled |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as whether this is a partial update, what permissions are needed, or side effects. The description adds minimal value beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and to the point. However, it lacks structured formatting or additional helpful details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description should provide more context about the update behavior (e.g., partial vs full update, return value). The current description is inadequate for a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all 8 parameters, so the description does not need to add much. The description adds no additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Updates an invoice' clearly indicates the action and resource, but lacks differentiation from sibling tools like invoices-create or invoices-get, which could cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, such as when to use invoices-update instead of invoices-create or invoices-delete. No context provided for usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
items-add_childitems-add_childB
Adds an existing item as a child of another item
| Name | Required | Description | Default |
|---|---|---|---|
| child_id | Yes | Child item ID (@rid format) | |
| parent_id | Yes | Parent item ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full weight. It only states the action without disclosing side effects, permissions, or behavior beyond the basic operation. The agent has no information about potential cycles, ownership changes, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence with no wasted words. It is appropriately concise for a simple operation, though it could marginally benefit from additional details about the operation's effect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and no output schema, the description provides minimum viable information. However, it lacks any context about side effects or relationship behavior, which an agent might need for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes both parameters with format hints. The tool description adds no extra meaning beyond repeating the purpose. With 100% schema coverage, the description's contribution is neutral, meeting the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Adds' and the resource 'existing item as a child of another item', making the tool's purpose unambiguous. It effectively distinguishes from sibling tools like 'items-list_children' or 'items-move'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as 'items-move', 'items-link', or 'items-move_to_case'. The lack of context or exclusions leaves the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
items-add_documentationitems-add_documentationB
Adds a documentation entry to a CaseFileItem following the CMMN tCmmnElement pattern. Documentation is stored in data.documentation array.
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | CaseFileItem ID (@rid format) | |
| text | Yes | Documentation content | |
| text_format | No | Format of the documentation text. Options: 'text/plain' (default), 'text/markdown' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It states the action and storage location but omits critical details such as idempotency, error conditions (e.g., invalid item_id), side effects, permissions, or what happens to existing documentation. This lack of behavioral context could lead to misuse.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of two sentences that front-load the primary purpose and add relevant context about the CMMN pattern and storage location. Every word contributes value, and there is no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description should cover return values, confirmation of success, or potential errors. It does not mention what the tool returns or whether the addition is immediately persisted. For a mutation tool with three parameters, this omission leaves agents without critical context for interpreting results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, meaning each parameter already has a clear description in the schema. The description adds minimal extra meaning beyond 'text' and 'text_format' being part of a documentation entry. While it mentions storage in an array, it does not elaborate on parameter constraints or formats beyond the schema's baseline, so a score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool adds a documentation entry to a CaseFileItem, specifies the storage location (data.documentation array), and references the CMMN tCmmnElement pattern. It distinguishes itself from siblings like cases-add_documentation (which targets cases) and items-remove/list_documentation by focusing on addition to a specific item.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when needing to add documentation to a Case File Item but provides no explicit guidance on when to use this tool versus alternatives such as cases-add_documentation. It does not mention when not to use it or any prerequisites, leaving the agent to infer context from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
items-convert_typeitems-convert_typeA
Converts a CaseFileItem from one type to another. Supported conversions among todo, note, task, and checkbox (todo<->note, todo<->task, note<->task, todo<->checkbox, note<->checkbox). Previous data is preserved for recovery.
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Item ID (@rid format) | |
| new_type | Yes | New type for the item. Supported conversions among: todo, note, task, checkbox |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description partially discloses behavior by stating that previous data is preserved for recovery. However, it lacks details on side effects, authentication needs, or results of invalid conversions, providing only moderate transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long with no redundant information. Each sentence serves a purpose: stating the action and listing supported conversions, with a note on data preservation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks information about the output (e.g., return value or status) and error handling. Given no output schema or annotations, the agent is left uncertain about what to expect after invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters have schema descriptions, achieving 100% coverage. The description adds value beyond the schema by enumerating specific pairwise conversions and noting data recovery, enhancing the agent's understanding of valid inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts a CaseFileItem between types, lists supported conversions, and mentions data preservation. This specifies the verb and resource, differentiating it from siblings like items-update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., items-update). There is no mention of when not to use it or prerequisites, leaving the agent without context for appropriate selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
items-createitems-createA
Creates a case file item. Set 'type' to choose the item type. Common params: case_id, name/title, parent_id, tags, description. Type-specific: note(content), bookmark(url,title), todo(title,status,priority,due_date), duration(start_time,end_time,billable), expense(description,amount,date), invoice(invoice_number,amount,client_id), file(filename), folder(name), checkbox(label,checked), journal_entry(content,mood), sms(body,to), directory(path), desktop(name).
| Name | Required | Description | Default |
|---|---|---|---|
| filename | No | Filename (file) | |
| notes | No | Additional notes | |
| assigned_to | No | Who is responsible (todo) | |
| title | No | Title (alias for name, used by note/bookmark/todo/journal) | |
| amount | No | Amount (invoice, expense) | |
| date | No | Date YYYY-MM-DD (expense) | |
| icon | No | Icon identifier (folder) | |
| end_time | No | End timestamp ISO8601 (duration) | |
| body | No | SMS message body (sms) | |
| mime_type | No | MIME type (file) | |
| mood | No | Mood tag (journal_entry) | |
| invoice_number | No | Invoice number (invoice) | |
| vendor | No | Vendor name (expense) | |
| start_time | No | Start timestamp ISO8601 (duration) | |
| size | No | File size bytes (file) | |
| url | No | URL (bookmark) | |
| tags | No | Tags for categorization | |
| checked | No | Checked state (checkbox) | |
| client_id | No | Client ID @rid (invoice — creates BillTo edge) | |
| currency | No | Currency code USD/EUR (invoice, expense) | |
| label | No | Label text (checkbox) | |
| data | No | Additional data as JSON (advanced) | |
| case_id | Yes | Case ID (@rid format) | |
| due_date | No | Due date ISO8601 (todo) | |
| name | No | Item name (or use title) | |
| description | No | Description (bookmark, todo, expense, desktop, directory) | |
| format | No | Format: text, markdown, html (note, journal_entry) | |
| priority | No | Priority: critical, high, medium, low (todo) | |
| to | No | Recipient phone E.164 (sms) | |
| status | No | Status (todo: pending/in_progress/completed, invoice: draft/sent/paid) | |
| content | No | Content text (note, journal_entry) | |
| invoice_date | No | Invoice date YYYY-MM-DD (invoice) | |
| billable | No | Is billable? (duration, expense) | |
| parent_id | No | Parent item ID (for hierarchical nesting) | |
| color | No | Display color (folder) | |
| path | No | Filesystem path (directory) | |
| type | Yes | Item type: note, bookmark, folder, file, todo, checkbox, journal_entry, duration, expense, invoice, sms, desktop, directory | |
| category | No | Category. For expenses: software_subscription, one_time_purchase, passthrough, project, service, travel, meals, equipment, hosting, consulting, labor, other. Also used by journal_entry and todo (freeform). | |
| host | No | Machine hostname (directory) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states it creates an item without discussing side effects, authentication, rate limits, or return behavior. Minimal behavioral context for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single paragraph, front-loaded with primary action, and efficiently lists type-specific parameter groupings. Slightly long due to many types but no wasted sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema; description omits return value (e.g., created item object). Adequate for parameter mapping but lacks completeness on result and validation context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all 39 parameters (100% coverage). Description adds value by grouping parameters into common and type-specific sets, clarifying which parameters apply to which item type, exceeding schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'Creates a case file item' with specific verb and resource, and lists type-specific parameters, effectively distinguishing it from sibling items tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage via parameter grouping but provides no explicit when-to-use, when-not-to-use, or alternatives compared to sibling tools like items-update or items-delete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
items-deleteitems-deleteA
Deletes a case file item. If it's a file, also removes the stored file (unless referenced by other items)
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Item ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description discloses the side effect of file deletion and the condition when files are not removed. This provides useful behavioral insight beyond the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that front-loads the primary action and efficiently adds a relevant condition. No superfluous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple nature of the tool with one parameter and no output schema, the description covers the key action and a critical behavioral nuance. Could mention cascade effects or reversibility, but overall adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The parameter item_id is fully documented in the schema with a clear description. The tool description adds no additional parameter meaning, meeting the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool deletes a case file item and adds a specific behavioral nuance about file removal. It distinguishes from sibling tools like items-delete_orphaned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance. The condition about file referencing implies some usage context, but lacks alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
items-delete_orphaneditems-delete_orphanedA
[Admin only] Deletes all orphaned CaseFileItems (items with no parent case). Returns count of deleted items.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses the destructive nature, admin-only access, and return value. It could mention side effects, but for a simple delete operation, this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with a return value note. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description fully covers the tool's behavior, access, and output. Complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so description needs no additional parameter info. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: deleting all orphaned CaseFileItems. It distinguishes itself from siblings like items-list_orphaned by specifying it performs deletion and returns the count.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes '[Admin only]' indicating a prerequisite, and implies when to use: when you want to delete all orphaned items. It does not explicitly mention alternatives but the sibling tool items-list_orphaned provides context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
items-find_by_urlitems-find_by_urlA
Finds bookmark items matching a URL across all cases. Returns all bookmarks with this URL and their case_id. Used by the browser extension to detect if the current page is bookmarked.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL to search for (exact match) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that the tool is read-only and returns bookmarks with case_ids. It could mention limitations like pagination, but the core behavior is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words. It front-loads the purpose and follows with a use case, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description covers purpose, behavior, return value, and typical usage. No gaps are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a description for the 'url' parameter stating 'exact match'. The description does not add extra meaning beyond what the schema already provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'finds', the resource 'bookmark items matching a URL', and the scope 'across all cases'. It distinguishes from sibling tools like 'items-search' by focusing on exact URL matching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a specific use case ('used by the browser extension to detect if the current page is bookmarked') and implies exact URL matching. It does not explicitly contrast with alternatives but gives clear context for when to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
items-getitems-getA
Gets a single case file item by ID
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Item ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description must disclose behavior; it implies read-only get but lacks details on errors, return format, or side effects. Adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single concise sentence with no wasted words, efficiently conveying purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter with one parameter and no output schema, the description adequately covers purpose; could mention return value, but implied. Good enough given simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single parameter item_id is fully described in schema (@rid format); description adds no additional meaning beyond schema, so baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Gets a single case file item by ID', with specific verb and resource, distinguishing it from list, search, and batch variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternatives provided; usage is implied but not guided compared to siblings like items-search or items-list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
items-get_batchitems-get_batchA
Gets multiple case file items by IDs in a single request. Returns a map of items keyed by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | List of item IDs (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that the operation is a single request and returns a map keyed by ID, which informs about the response structure. The read-only nature is implied but not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. The most critical information (what it does and what it returns) is front-loaded. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple batch get tool with no output schema, the description adequately covers input (IDs) and output (map of items keyed by ID). It lacks error behavior or limits, but that is acceptable given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes the 'ids' parameter with enough detail ('List of item IDs (@rid format)'). The tool description adds no new meaning beyond 'by IDs', so it does not improve upon the 100% schema coverage baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Gets', specifies the resource 'multiple case file items', and the mechanism 'by IDs in a single request'. It distinguishes from sibling tools like items-get (single item) and items-list (bulk without IDs).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for batch retrieval by IDs, but does not explicitly state when to use this tool over alternatives like items-get. However, the context of sibling tool names (items-get, items-list) makes the distinction clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
items-get_parentitems-get_parentA
Gets the parent of a case file item (if any)
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Item ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states the basic read operation without disclosing behavioral traits such as whether it returns null if no parent exists, permissions required, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the key verb 'Gets' and includes essential details without any fluff. It is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 output schema, 1 parameter), the description covers the basic purpose adequately. However, it could be slightly more complete by stating the return type (e.g., returns the parent item or null). Minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter (item_id) already described in the schema. The description adds no additional meaning or context beyond what the schema provides, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Gets', the resource 'parent of a case file item', and the condition '(if any)'. It distinguishes from siblings like items-get (gets the item itself) and items-list_children (gets children).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing the parent of a specific item, but does not explicitly state when to use this tool versus alternatives like items-list_children or items-get. No exclusions or alternative mentions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
items-listitems-listB
Lists all case file items for a case. Use filters to reduce token usage.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) | |
| exclude_data | No | If false, include the data field (default: true, data excluded to reduce tokens) | |
| limit | No | Maximum number of items to return | |
| name_contains | No | Filter by partial name match (case-insensitive) | |
| type | No | Filter by item type (e.g., 'note', 'task', 'todo', 'bookmark') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It mentions token usage but does not disclose pagination, ordering, or the impact of excluding data. The phrase 'all items' may mislead about large result handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that immediately conveys the primary function and a key usage tip. No wasted words; structure is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the tool description should compensate more. It omits details about response structure, pagination, and default behavior (e.g., whether exclude_data defaults to true). The complexity of 5 parameters demands richer context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already well-documented. The description adds no extra meaning beyond 'use filters', which is a general hint. Baseline 3 is appropriate as the description does not deepen understanding of individual parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Lists' and the resource 'case file items for a case'. It differentiates from sibling list tools like items-list_children by specifying 'for a case' and implying case-level scope. The mention of filters adds specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises 'Use filters to reduce token usage', giving a reason to use filters but not explicitly stating when to prefer this tool over alternatives like items-search or items-list_children. No when-not guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
items-list_childrenitems-list_childrenB
Lists all children of a case file item
| Name | Required | Description | Default |
|---|---|---|---|
| parent_id | Yes | Parent item ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description lacks disclosure of behavioral traits such as whether children are direct only, error handling for invalid parent_id, or read-only nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence conveys core purpose without redundancy, but could benefit from a bit more context on return structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks details on return format, edge cases, or relationship to other item-listing tools; minimal for a hierarchical list operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description of parent_id format; description adds no extra meaning beyond what schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action ('Lists') and resource ('children of a case file item'), distinguishing it from siblings like 'items-list' and 'items-list_orphaned'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like 'cases-list_subcases' or 'items-list'; usage context is implied by the name but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
items-list_documentationitems-list_documentationB
Lists all documentation entries for a CaseFileItem. Returns array of {id, text, textFormat, created_at, created_by}.
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | CaseFileItem ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should fully disclose behavioral traits. It only states it lists entries, with no mention of side effects, permissions, or whether it is read-only. The return format is provided but not enough for full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences: one for purpose and one for return format. No fluff, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low complexity and single parameter, the description adequately explains purpose and return format. Lacks mention of ordering or pagination but is sufficient for a simple list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description does not add extra meaning beyond the schema's parameter description. The schema already defines item_id as a CaseFileItem ID in @rid format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists all documentation entries for a CaseFileItem and specifies the return format. This distinguishes it from sibling tools like cases-add_documentation and items-add_documentation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like cases-list_documentation. The description assumes the context but does not differentiate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
items-list_orphaneditems-list_orphanedA
[Admin only] Lists all orphaned CaseFileItems (items with no parent case). Use this to find leaked items.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the operation is a listing (read-only) and requires admin privileges, but does not explicitly disclose lack of side effects or confirm read-only nature beyond the verb 'list'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with two sentences that front-load the admin restriction and clearly state purpose. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema or annotations, the description covers purpose, access, and use case adequately. However, it lacks detail on return format or fields, limiting completeness for a listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so baseline is 4. The description adds no parameter details, which is acceptable since none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all orphaned CaseFileItems, defines orphaned as items with no parent case, and notes admin restriction. It distinguishes from siblings like items-list by focusing on orphaned items.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates admin-only access and suggests use for finding leaked items, providing context. However, it does not explicitly mention when not to use it or compare with alternatives like items-list or items-search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
items-moveitems-moveB
Moves an item to a new parent or removes its parent
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Item ID to move (@rid format) | |
| parent_id | No | New parent item ID (@rid format). Omit to remove parent. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must carry behavioral information. It only states what the tool does, not side effects (e.g., effects on children items), permissions needed, or error states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, extremely concise, and front-loaded with the core purpose. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and 2 parameters, the description lacks details on return values, error handling, or contextual behavior (e.g., what happens when parent_id is omitted). Minimal completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already documented. The description adds no extra meaning beyond the schema, meeting the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Moves'), the resource ('item'), and the two possible outcomes (new parent or remove parent). It distinguishes itself from sibling tools like items-create or items-update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as items-move_to_case or items-update. The description does not mention prerequisites or scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
items-move_to_caseitems-move_to_caseA
Moves a CaseFileItem (and all descendants) to a different case. Can move to case root or into a specific folder.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Target Case ID (@rid format) | |
| item_id | Yes | Item ID to move (@rid format) | |
| parent_id | No | Optional: Parent item ID in target case to nest under. If omitted, item becomes root in target case. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the item and all descendants are moved and mentions placement options. However, it omits information about side effects, permissions, error handling, or what happens to associated data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short (two sentences) and front-loaded with the core action and key differentiator (moves to different case). No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description covers the main functionality adequately for a move tool. It explains the recursion and placement options but could benefit from mentioning return values or error conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds value beyond the schema by explaining that parent_id is optional and defaults to root, and by clarifying that item_id refers to a CaseFileItem. This helps the agent understand parameter semantics despite full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Moves'), the resource ('CaseFileItem'), and the scope ('and all descendants'). It also distinguishes from sibling tools like items-move by specifying movement between cases and optional placement in a folder.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lacks explicit guidance on when to use this tool versus alternatives like items-move or cases-create. It does not provide conditions for use, prerequisites, or common pitfalls.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
items-remove_documentationitems-remove_documentationB
Removes a documentation entry from a CaseFileItem by its ID.
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | Yes | Documentation entry ID to remove | |
| item_id | Yes | CaseFileItem ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It indicates a destructive operation ('removes') but does not disclose behavioral traits such as irreversibility, permission requirements, or what happens to related data. The description is too minimal for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence that conveys the core functionality without extraneous words. It is well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple removal tool with no output schema, the description is minimally adequate but lacks details on return value, confirmation, or error handling. Given the tool's simplicity, additional context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptions for both parameters. The description adds no additional meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Removes') and the resource ('documentation entry from a CaseFileItem') with an identifier ('by its ID'). It is specific and implicitly distinguishes from similar tools like 'cases-remove_documentation' by specifying the target as CaseFileItem.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., cases-remove_documentation) or under what circumstances. It does not mention prerequisites, side effects, or error conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
items-searchitems-searchA
Search CaseFileItems by name across all cases owned by user
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default 50) | |
| query | Yes | Text to search for in item names (case-insensitive) | |
| type | No | Filter by item type (task, note, todo, etc.) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states 'Search', which implies read-only but does not confirm safety, permissions, side effects, or rate limits. The agent lacks behavioral context beyond the action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no redundancy, immediately states purpose and scope. Efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is adequate for a simple search tool, but lacks details on return format, pagination behavior, and empty result handling. Could be improved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema's parameter descriptions (e.g., query, limit, type).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Search CaseFileItems by name across all cases owned by user', specifying a specific verb and resource, and distinguishes from sibling tools like items-list and items-semantic_search by emphasizing name-based search and cross-case scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for name-based search, but does not explicitly mention when not to use (e.g., alternative searches) or provide exclusions. It lacks guidance on choosing between this and similar tools like items-semantic_search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
items-semantic_searchitems-semantic_searchA
Semantic search across cases and items using natural language. Unlike items-search which matches by name only, this finds conceptually related items even when exact terms don't match. Requires embeddings to be enabled (EMBEDDINGS_ENABLED=true).
| Name | Required | Description | Default |
|---|---|---|---|
| entity_types | No | Filter by entity types: case, case_file_item. Default: all | |
| limit | No | Max results (default 20, max 50) | |
| min_similarity | No | Minimum cosine similarity threshold (0-1, default 0.3) | |
| query | Yes | Natural language query to search for semantically similar items | |
| type | No | Filter by item type (task, note, todo, bookmark, etc.) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It explains it finds conceptually related items using natural language, and that embeddings must be enabled. Does not detail return format or pagination, but adequately describes the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: purpose and distinguishing info + prerequisite. No wasted words, front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given complexity of semantic search and no output schema, the description covers the key behavioral context (embedding requirement, sibling comparison). Lacks mention of result format or scores, but still complete enough for an agent to understand usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%; all parameters have clear descriptions. The description reinforces the natural language nature but adds little beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states semantic search across cases and items. Distinguishes from sibling items-search by contrasting exact name matching vs conceptual matching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly compares to items-search and specifies the prerequisite: 'Requires embeddings to be enabled (EMBEDDINGS_ENABLED=true).'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
items-updateitems-updateB
Updates a case file item (name or data)
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | Updated data as JSON (merged with existing) | |
| item_id | Yes | Item ID (@rid format) | |
| name | No | New name for the item |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without any annotations, the description carries the full burden of disclosing behavior. It only states 'updates' without detailing side effects, idempotency, error behavior, or required permissions. The merge behavior for 'data' is only present in the schema, not the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the action and resource. While concise, it lacks some important details, but for its length it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, a nested object, no output schema, and no annotations, the brief description is insufficient. It does not explain the return value, validation, or partial update behavior, making it incomplete for an agent to use effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter is already documented. The description adds 'name or data' context but does not add significant meaning beyond the schema. A baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('updates') and the resource ('a case file item'), and lists the specific fields that can be updated ('name or data'). This effectively distinguishes it from sibling tools like items-create, items-delete, and items-get.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention any prerequisites, conditions, or exclusions, leaving the agent to infer usage from the name and schema alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
items-upload_fileitems-upload_fileA
Uploads a local file to a case in one MCP call. The agent reads the file from the local filesystem (e.g., via Read or base64 < file), passes the encoded bytes, and the server decodes and stores them in FileStore as a real binary file (identical to POST /api/upload). Best for screenshots and small/medium files — base64 inflates payload ~33%, so for files larger than a few MB use the curl path to /api/upload instead. Use parent_id to attach the file as a child of a note or task in one call.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) | |
| content_base64 | Yes | File content as a base64-encoded string | |
| filename | Yes | Original filename including extension (e.g., 'screenshot.png') | |
| mime_type | No | Optional MIME type override (auto-detected from extension if omitted) | |
| name | No | Optional display name (defaults to filename) | |
| parent_id | No | Optional parent item ID (@rid) — attaches the file as a child of a note, task, or folder |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the burden. It explains the read-encode-decode-store process, compares to POST /api/upload, and discusses base64 payload inflation. This gives the agent a thorough understanding of the tool's behavior and limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with purpose, no redundant information. Every sentence adds value: purpose, process, constraint, and optional feature.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers input parameters, process, and constraints. Missing details about return value or error handling, but for a file upload tool with good parameter descriptions, it is adequately complete. No output schema required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining that content_base64 is the encoded file, parent_id attaches as child, and mime_type auto-detects. It enriches the semantic understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Uploads a local file to a case in one MCP call,' specifying the action (upload), resource (file to case), and the mechanism (agent reads file, passes encoded bytes, server decodes). It distinguishes from alternative methods (curl for large files), making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: best for screenshots and small/medium files, warns about base64 inflation (~33%), recommends curl for larger files, and mentions using parent_id for attachment. Does not explicitly exclude other scenarios, but the context is clear and helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
messages-archivemessages-archiveA
Archives a message and all its children (ai_work_items). Sets status='archived' on the message and cascades to child items. Archived messages are hidden from the default inbox view but remain accessible via the 'Show archived' filter.
| Name | Required | Description | Default |
|---|---|---|---|
| message_id | Yes | Message item RID to archive |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It discloses cascading archiving, status change, and visibility behavior. It does not mention reversibility or side effects, but the unarchive sibling indicates reversal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that front-load the action and cascading effect, then detail visibility. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter archival tool, the description adequately covers action, scope, and outcome. Lacks detail on success/failure responses but is sufficient for this tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers the parameter 100% with description. The tool description adds context about the parameter's role in cascading and status, complementing the schema well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it archives a message and all its children (ai_work_items), distinguishing it from siblings like messages-unarchive and messages-list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (to hide messages from default inbox) but does not explicitly tell when not to use or compare to alternatives. However, the context of siblings provides implicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
messages-broadcastmessages-broadcastA
Fan-out variant of messages-send. Resolves to_capability against the recipient's online agents and dispatches one message per match. Returns {success: true, count: N, message_ids: [...]} or an error if no agents match.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | Message body (markdown supported) | |
| context_case_id | No | Optional case to attach the messages to | |
| priority | No | Delivery priority: normal (default) or urgent | |
| reply_to_message_id | No | Optional parent message RID for threading | |
| subject | No | Optional subject line | |
| to_capability | Yes | Capability string to fan out on. Server resolves to every online agent owned by the recipient whose capabilities list contains this value, then sends one message per match. | |
| to_email | No | Recipient email; resolved to a user RID server-side | |
| to_user_id | No | Recipient user RID (provide this OR to_email) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose all behavioral traits. It describes the core behavior (resolves to_capability, dispatches per match) and the return format, but does not mention side effects, authorization requirements, rate limits, or what happens when some agents fail. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the key distinction ('Fan-out variant of messages-send') and providing necessary details without redundancy. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters all described in the schema and a clear return format, the description is largely complete. It lacks details on partial failure handling or mutual exclusivity of recipient parameters, but the schema fills those gaps. For a fan-out tool, the failure mode is addressed briefly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds significant meaning to the 'to_capability' parameter by explaining the resolution process ('resolves to every online agent... whose capabilities list contains this value'). This goes beyond the schema's description of 'Capability string to fan out on.'
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a 'Fan-out variant of messages-send', stating the specific verb 'fan-out' and resource 'messages'. It distinguishes itself from the sibling tool 'messages-send' by indicating it broadcasts to multiple agents matching a capability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly frames the tool as a variant of 'messages-send', guiding when to use it for broadcasting. It mentions that an error occurs if no agents match, but does not provide explicit when-not-to-use guidance or list other alternatives beyond the sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
messages-listmessages-listC
Lists messages received by the current user. Defaults to unread messages in the personal Inbox case. Filtering on status/from_user_id/reply_to_message_id happens in Elixir since the message data is stored as a JSON string.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | No | Optional case to scope the listing to. Defaults to the caller's personal Inbox case (preferences.inbox_case_id). | |
| from_user_id | No | Filter to messages sent by a specific user RID | |
| limit | No | Max messages to return (default 50) | |
| reply_to_message_id | No | Filter to messages that reply to a specific parent message RID. Used by orchestrators to collect replies for a given request. | |
| status | No | Filter by read status: "unread" (default), "read", or "all" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions that filtering happens in Elixir due to data storage, but it does not cover permissions, mutation side effects, rate limits, or return format. With no annotations, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences are concise and front-loaded with the core function. The second sentence about Elixir filtering is slightly technical but still short.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and zero annotations, the description covers basic listing but lacks details on pagination, ordering, error handling, and return structure. It is adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter has a description. The description adds minimal context about default filtering behavior and implementation detail, which is helpful but not essential.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists messages received by the current user, with a default to unread messages in the personal Inbox case. It distinguishes from message sending/reading tools but does not explicitly differentiate from similar list tools like messages-read.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., messages-read). While it implies usage for listing, it lacks explicit context for when-not-to-use or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
messages-readmessages-readA
Fetches the full content of a single message and marks it as read (unless mark_read=false). Returns 404 if the item is not a message or the user does not own its case.
| Name | Required | Description | Default |
|---|---|---|---|
| mark_read | No | Whether to mark the message as read while reading it (default true) | |
| message_id | Yes | Message item RID returned from messages-list |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, it discloses the side effect of marking as read (default true) and error conditions (404 for invalid item or ownership). However, it doesn't mention idempotency or other potential behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with key action, no filler. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool without output schema, the description adequately covers purpose, side effects, and error cases. Could mention return format, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers both parameters with descriptions (100% coverage), so the description adds limited value beyond confirming defaults and error conditions. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Fetches') and resource ('full content of a single message'), clearly distinguishing it from sibling tools like messages-list (list messages) and messages-send (send message).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly states when to use (fetch a single message) and mentions the mark_read parameter behavior, but lacks explicit when-not-to-use or alternative tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
messages-sendmessages-sendA
Sends a direct message to another user. Stored as a CaseFileItem of type 'message' in the recipient's inbox case (or a specified context case). Returns the message_id.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | Message body. Markdown is allowed; rendered by clients that support it. | |
| context_case_id | No | Optional case to attach the message to. Defaults to the recipient's personal Inbox case (preferences.inbox_case_id). | |
| priority | No | Delivery priority: "normal" (default) or "urgent" | |
| reply_to_message_id | No | Optional message RID this message is replying to. Enables threading — orchestrators can correlate replies with their originating requests via messages-list(reply_to_message_id: ...). | |
| subject | No | Optional subject line | |
| to_agent_id | No | Optional specific recipient AgentSession RID. When set, the dispatcher targets only that agent. | |
| to_email | No | Recipient email address; resolved to a user RID server-side. | |
| to_machine_id | No | Optional machine identifier. Resolved to the recipient's first online agent on that machine. Falls back to broadcast if no online agent matches. | |
| to_user_id | No | Recipient user RID. Provide this OR to_email — one of the two is required. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description discloses storage behavior and threading but omits details like authentication requirements, rate limits, or error handling for missing recipients.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with the main action, and every sentence adds value. No redundant phrases.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main action, return value, and storage context. Given no output schema, it adequately explains the basics, but lacks details on error conditions or behavioral nuances.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 9 parameters have descriptions in the schema (100% coverage), so the description adds limited extra meaning beyond reiterating schema info. The mention of threading for reply_to_message_id provides marginal value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool sends a direct message to another user, mentioning storage as a CaseFileItem and return of message_id. It distinguishes itself from sibling tools like messages-broadcast and messages-list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context about threading and storage but does not explicitly state when to use this tool over alternatives like messages-broadcast. Usage guidance is implied but lacks clear exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
messages-unarchivemessages-unarchiveA
Restores an archived message by setting its status back to 'read'. Does not affect children.
| Name | Required | Description | Default |
|---|---|---|---|
| message_id | Yes | Message item RID to unarchive |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool changes the status to 'read' and does not affect children, but lacks details on permissions, prerequisites, side effects (e.g., if the message is not archived), or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no extraneous information. It is front-loaded with the primary action (restore) and includes a key caveat about children.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one required parameter and no output schema, the description covers the core operation and a potential concern (children not affected). Minor omission: it does not mention if the operation is reversible or idempotent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters with a clear description for message_id. The tool description adds no additional semantic meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool restores an archived message by setting its status to 'read' and specifies it does not affect children. This distinguishes it from siblings like messages-archive (archives) and messages-read (reads without unarchiving).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used to unarchive a message, but offers no explicit guidance on when to use this tool versus alternatives, such as messages-read or messages-archive. No exclusions or context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meta-desire_pathsmeta-desire_pathsA
Shows tools that agents tried to call but don't exist — desire paths that reveal feature requests from the field. Queries historical data from ArcadeDB.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum results to return (default: 50) | |
| min_count | No | Minimum occurrence count to include (default: 1) | |
| since | No | ISO8601 datetime to query from (default: 7 days ago) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description carries full burden. States it queries historical data from ArcadeDB (non-destructive read), but lacks details on permissions, rate limits, or performance implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences that front-load the purpose. No unnecessary words, every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks detail on return format (e.g., whether results include tool names, counts). Adequate for a simple query tool but leaves gaps for agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions. The description adds no extra meaning beyond schema; baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool shows non-existent tools that agents attempted to call, described as 'desire paths' revealing feature requests. Uses specific verbs 'Shows' and 'Queries', and distinguishes itself from sibling meta-tools by its unique purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context for usage (historical data query for desire paths) but does not specify when to avoid using it or mention alternatives among sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meta-embeddings_backfillmeta-embeddings_backfillA
Backfills semantic search embeddings for all existing cases and items. Run this once after enabling embeddings to index existing content. Returns the count of items queued for embedding.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden. It discloses that it queues items and returns a count, but does not mention idempotency, side effects, or whether rerunning is safe. The instruction 'run this once' adds some guidance.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. Each sentence conveys essential information: purpose and usage instruction, plus return value. Ideal conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless tool with no output schema, the description covers purpose, usage, and return value adequately. Could mention whether the backfill is synchronous or asynchronous, but the mention of 'queued' implies asynchrony.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so baseline is 4. The description adds value by specifying the scope of backfill (all cases and items) and the return value, which compensates for the lack of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it backfills semantic search embeddings for all existing cases and items, with a specific verb and resource. However, it does not differentiate from the sibling 'meta-embeddings_backfill_all', which may cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states to run once after enabling embeddings, providing clear context. No exclusions or alternative tools mentioned, but the guidance is sufficient for a one-time operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meta-embeddings_backfill_allmeta-embeddings_backfill_allA
Backfills semantic search embeddings for ALL users that have cases. Returns per-user counts and total items queued.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must carry the burden. It mentions returning per-user counts and total items queued, but omits critical behavioral details such as whether the operation is destructive, idempotent, or requires permissions. Agents lack safety information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, very concise, front-loads the action. Every word is necessary and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Describes return values (counts and total queued) which is good given no output schema. However, lacks context on operation behavior (synchronicity, side effects, performance impact). Not fully complete for a batch operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters in schema (coverage 100%), so the description adds nothing beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'backfills' and the resource 'semantic search embeddings for ALL users'. Differentiates from sibling 'meta-embeddings_backfill' by explicitly specifying 'ALL'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage: use when you want to backfill embeddings for all users. No explicit when-to-use or when-not-to-use, and no alternatives listed. The name and description provide limited guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meta-embeddings_statsmeta-embeddings_statsA
Returns statistics about semantic search embeddings: total count, counts by type, and whether embeddings are enabled.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes the read-only nature implicitly by stating 'Returns statistics', but does not explicitly confirm no side effects or destructive actions. The behavioral disclosure is adequate but not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is perfectly concise. It front-loads the key action 'Returns statistics' and quickly enumerates the outputs. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description is fairly complete. It tells the agent exactly what the tool returns (total count, counts by type, enabled status). The format is not specified, but the summary is sufficient for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters in the input schema, so schema coverage is 100%. The baseline for zero parameters is 4, and the description adds no additional parameter information, which is acceptable given there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns statistics about semantic search embeddings, specifying exact outputs: total count, counts by type, and enabled status. The verb 'returns' and resource 'statistics about embeddings' are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when embedding statistics are needed, but does not explicitly state when to use this tool over siblings like meta-embeddings_backfill or meta-tool_stats. No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meta-flush_logsmeta-flush_logsA
Forces an immediate flush of in-memory tool call logs to ArcadeDB for permanent storage.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry the full burden. It discloses the flush and persistence but omits behavioral details such as whether in-memory logs are cleared, performance impact, idempotency, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, concise sentence that front-loads the action. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters and no output schema, the description provides the core action but lacks context on when to invoke (e.g., before shutdown, when logs are stale) and what the effect is on subsequent log collection. Adequate but could be more helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so the description does not need to add parameter details. Per instructions, baseline is 4 for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('forces an immediate flush') and the resource ('in-memory tool call logs'), with the destination ('ArcadeDB for permanent storage'). This is specific and distinguishes the tool from sibling meta-* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., whether flushing is automatic, or when manual flush is needed). The description does not mention prerequisites, consequences, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meta-get_playbookmeta-get_playbookA
Returns a detailed playbook/skill guide. Available: cmmn-execution (comprehensive), stage-execution, ai-work-items, session-lifecycle, getting-started, file-uploads, model-authoring, agent-messaging, orchestration.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Playbook name: 'cmmn-execution' (master guide), 'getting-started' (quick start), 'stage-execution' (execute→complete loop), 'ai-work-items' (claim→execute→complete pipeline), 'session-lifecycle' (sessions, compaction, journals), 'file-uploads' (how to upload files to cases), 'model-authoring' (how to create models correctly), 'agent-messaging', 'orchestration' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full transparency burden. It implies a read-only operation ('Returns') but lacks detail on side effects, authorization needs, or output format. The description adequately signals safety but not comprehensively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is extremely concise: one sentence plus a list of available playbooks. Every word is meaningful, no redundancy. Front-loaded with purpose and enumeration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, description should clarify return structure (e.g., Markdown/JSON). It does not. However, for a simple retrieval tool with one parameter, it covers core functionality. Lacks depth on what a 'playbook' contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage with one parameter 'name' and detailed listing of valid values. The description adds no additional semantic value beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Returns a detailed playbook/skill guide' and lists specific playbooks, making the tool's purpose unambiguous. It effectively distinguishes from sibling tools which are action-oriented (e.g., cmmn-*, ai-*, cases-*), whereas this is a meta-help tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage for retrieving documentation but does not explicitly state when to use this tool versus alternatives. No when-not scenarios or prerequisites are mentioned. The context of sibling tools being operational suggests this is for guidance, but not explicitly articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meta-get_startedmeta-get_startedA
Returns a getting-started guide for LLMs using CaseMgr. Includes CMMN concepts, common workflows, and tips. Call this first if you're unfamiliar with CaseMgr.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description is the sole source. It describes the output as a guide with concepts and tips but omits details like response format, size, or cost. Adequate but could be more explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states what it returns, second provides usage guidance. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with no parameters and no output schema, the description covers the essential purpose and usage. It could hint at the response format, but overall complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has zero parameters, so no parameter explanation is needed. Baseline is 4; description doesn't add parameter info because none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns a getting-started guide for LLMs using CaseMgr, and mentions specific content (CMMN concepts, workflows, tips). This distinguishes it from sibling meta tools like meta-get_playbook.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Call this first if you're unfamiliar with CaseMgr', providing clear when-to-use advice. Does not specify when not to use or list alternatives, but the guidance is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meta-preview_emailmeta-preview_emailA
Admin only. Sends an email template preview to a whitelisted test address. Use for iterating on email designs without creating real users.
| Name | Required | Description | Default |
|---|---|---|---|
| recipient | No | Email address to send preview to. Must be in whitelist (markjstang@gmail.com, markjstang+*@gmail.com, mark@casemgr.systems, test@example.com). Defaults to admin's own email. | |
| template | Yes | Email template to preview: welcome, email_verification, password_reset, new_user_alert | |
| variant | No | Optional variant identifier for A/B testing (e.g., 'a', 'b') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the authorization requirement ('Admin only'), recipient constraint ('whitelisted test address'), and purpose (preview, no real users). It does not mention error handling or side effects, but for a simple email preview, this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with 'Admin only.' Every word serves a purpose with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no output schema, 3 params), the description combined with schema covers purpose, authorization, usage, and parameter details. It could mention the return value, but the overall completeness is good.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage, so the schema already documents parameters well. The description adds no additional parameter meaning beyond 'Admin only' context. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Sends an email template preview to a whitelisted test address.' It specifies the verb (sends), resource (email template preview), and context (admin only, for iterating on designs). This distinct purpose is well-differentiated from sibling meta tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly indicates 'Admin only' and 'Use for iterating on email designs without creating real users.' This tells the agent when to use the tool and the key precondition (whitelist). It does not list alternatives, but the context is clear enough for a preview tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meta-tool_statsmeta-tool_statsA
Real-time MCP tool call statistics from the current period. Shows call counts, error rates, and average durations aggregated by tool and status.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum results (default: 100) | |
| status | No | Filter by status: ok, error, unknown_tool, auth_failure |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions the tool is 'real-time' and shows aggregated stats, but does not disclose whether it is read-only, has performance implications, or any side effects. The behavior is mostly inferred from the nature of a stats tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, front-loaded with the core purpose. Every sentence provides useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description specifies what the tool shows (call counts, error rates, avg durations), which is sufficient for an agent to understand the return structure. Could mention pagination or default limit behavior but schema covers that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters have schema descriptions (100% coverage), so the description adds marginal value. It reinforces that aggregation is by status but does not provide additional meaning beyond what the schema already conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides 'real-time MCP tool call statistics' with specific metrics (call counts, error rates, average durations) and aggregation dimensions (by tool and status). This is a specific verb+resource that distinguishes it from other meta- tools like meta-embeddings_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates the statistics are from the 'current period' but does not specify the exact time window or when to use this tool versus alternative tools. No explicit when-not-to-use or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
models-add_definitionmodels-add_definitionA
Adds a plan item definition to a draft model. Use parent_definition_id to nest items inside stages. For sentries, use guards_definition_id and source_definition_id. For event listeners, use triggers_sentry_definition_id.
| Name | Required | Description | Default |
|---|---|---|---|
| definition_type | Yes | Type: task, stage, milestone, event_listener, sentry, process_definition | |
| discretionary | No | Is this a discretionary item? | |
| guards_definition_id | No | For sentry definitions: the definition ID this sentry guards. Sets guards_item on instantiation. | |
| manual_activation_rule | No | Expression/description for manual activation | |
| model_id | Yes | Model ID (@rid format) | |
| name | Yes | Definition name | |
| parent_definition_id | No | Parent definition ID (stage) for nesting. Creates ParentOf edge on instantiation. | |
| process_definition_definition_id | No | For task definitions: the process_definition definition ID to execute. Sets process_definition_id on instantiation. | |
| repetition_rule | No | Expression/description for repetition | |
| required_rule | No | Expression/description for required determination | |
| sequence_order | No | Suggested order within container | |
| source_definition_id | No | For sentry definitions: the definition ID that triggers this sentry. Sets source_ref on instantiation. | |
| template_data | No | Type-specific template data (e.g., task fields, sentry fields, event listener fields) | |
| triggers_sentry_definition_id | No | For event_listener definitions: the sentry definition ID to trigger when event fires. Sets triggers_sentry on instantiation. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only mentions 'Adds... to a draft model', implying modification but not disclosing permissions, reversibility, or side effects. It does not elaborate on what happens on instantiation beyond hints in parameter descriptions (which are not in the main description).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long with no unnecessary words. It front-loads the core purpose and then provides targeted relational guidance. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite 14 parameters, no output schema, and no annotations, the description omits critical context: return value (likely the created definition's ID), preconditions (model must be a draft), error conditions, and permissions. The concise style leaves significant gaps for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with individual parameter descriptions, but the description adds group-level semantics by explaining relationships: e.g., parent_definition_id for nesting, guards_definition_id and source_definition_id for sentries, triggers_sentry_definition_id for event listeners. This contextual grouping provides additional meaning beyond isolated schema comments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Adds' and the resource 'plan item definition to a draft model'. It distinguishes from sibling tools like models-update_definition and models-delete_definition by focusing on addition. The conditional guidance for nesting and sentry/event listener types adds specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance on when to use parent_definition_id for nesting, and for sentries and event listeners which parameters to use. However, it does not specify when not to use this tool or compare to alternatives like cmmn-create_task (runtime addition). It lacks exclusions or context about model state (draft required).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
models-archivemodels-archiveA
Archives a Case Plan Model. Archived models cannot be instantiated.
| Name | Required | Description | Default |
|---|---|---|---|
| model_id | Yes | Model ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It reveals one key behavioral trait (blocks instantiation) but lacks details on reversibility, impact on existing instances, or permissions needed. Moderate transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-loading the action and consequence with no unnecessary words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose and a key effect, but with no output schema or annotations, it omits error conditions, return value, and side effects. Adequate for a simple tool but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (model_id) with schema description already specifying format. The tool description adds no extra meaning beyond the schema, so baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Archives a Case Plan Model') and the consequence ('Archived models cannot be instantiated'), distinguishing it from delete or other model operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use archiving versus alternatives like deleting or setting visibility. The description does not compare it to sibling tools such as models-delete or models-set_visibility.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
models-createmodels-createB
Creates a new Case Plan Model (CMMN 1.1). Models start in 'draft' status.
| Name | Required | Description | Default |
|---|---|---|---|
| description | No | Model description | |
| name | Yes | Model name | |
| version | No | Version string (default: '1.0') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description carries full burden. It only mentions 'draft' status but omits side effects, permissions, idempotency, or success behavior. Insufficient for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single clear sentence, front-loaded, no wasted words. Efficiently conveys core action and one key behavioral detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks return value information (no output schema) and error conditions. For a creation endpoint, agents need to know what is returned (e.g., model ID). Incomplete guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions, so description adds no extra parameter info. The mention of 'draft' status is not parameter-specific but provides some context, landing at baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it creates a Case Plan Model (CMMN 1.1) and notes the initial 'draft' status, distinguishing it from related sibling tools like models-create_from_stage or models-create_new_version.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., models-create_from_stage, models-create_new_version). Lacks prerequisites or context for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
models-create_from_stagemodels-create_from_stageA
Creates a new draft model from an existing stage. Extracts CMMN items (tasks, milestones, sentries, event listeners) as model definitions. Non-CMMN items (notes, todos) are excluded. Sentry connections are preserved. The model has no references to the source case.
| Name | Required | Description | Default |
|---|---|---|---|
| description | No | Model description | |
| name | No | Model name (defaults to stage name) | |
| stage_id | Yes | Stage ID (@rid format) to extract into a model |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description provides substantial behavioral context: it extracts specific item types, preserves sentry connections, and creates a model with no references to the source. It does not disclose potential side effects (e.g., whether the stage is modified) or permissions needed, but overall it is helpful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences and covers key points without unnecessary words. It could be improved with bullet points for easier scanning, but it is efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains what is extracted and what is excluded, but lacks details about the output model structure (since no output schema) and error conditions (e.g., missing or empty stage). Some context is missing for a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already well-described in the schema. The tool description adds no extra parameter-specific meaning beyond what the schema provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a new draft model from an existing stage, specifying exactly which CMMN items are extracted and which are excluded. This distinguishes it from sibling tools like models-create or models-instantiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you want a model based on a stage's CMMN items but does not explicitly state when not to use, compare with alternatives, or mention prerequisites like stage existence. Guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
models-create_new_versionmodels-create_new_versionA
Creates a new draft version of a model, copying all definitions. Auto-increments minor version (1.0 → 1.1) unless a version override is provided.
| Name | Required | Description | Default |
|---|---|---|---|
| model_id | Yes | Source model ID (@rid format) | |
| version | No | Version string override (e.g., '2.0' for major bump). If omitted, auto-increments minor version (1.0 → 1.1 → 1.2). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description discloses the key behaviors: copying definitions, auto-incrementing or overriding version, and creating a draft. It implies non-destructive creation but could detail side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence with front-loaded purpose, no redundant words, efficiently captures all key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-param tool with no output schema, the description is adequate. It explains the core functionality and versioning logic, though it could mention return value or prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds no extra meaning beyond the schema descriptions. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a new draft version by copying definitions and auto-increments minor version, distinguishing it from tools like models-create or models-publish.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool (creating a new draft version) but does not explicitly exclude alternatives or mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
models-deletemodels-deleteA
Deletes a draft Case Plan Model (published/archived models cannot be deleted)
| Name | Required | Description | Default |
|---|---|---|---|
| model_id | Yes | Model ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It conveys the deletion action and the draft-only constraint, but does not disclose whether deletion is irreversible, what permissions are needed, or any side effects, which would be helpful for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. Every part conveys essential information: action, resource, and constraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete tool with one parameter and no output schema, the description is sufficiently complete. It covers the purpose and a critical constraint. However, a note on irreversibility or permissions would enhance completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides a description for the only parameter ('Model ID (@rid format)') with 100% coverage. The tool description adds no additional semantic value beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Deletes') and the specific resource ('draft Case Plan Model'), and explicitly distinguishes from siblings by noting that published/archived models cannot be deleted, which implies other tools handle those states.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear condition (only draft models can be deleted) but does not explicitly mention alternative sibling tools for published or archived models, leaving the agent to infer from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
models-delete_definitionmodels-delete_definitionA
Deletes a plan item definition from a draft model. Alias for models-remove_definition — provided for naming consistency with the rest of the *-delete_* tools (models-delete, items-delete, cases-delete).
| Name | Required | Description | Default |
|---|---|---|---|
| definition_id | Yes | Definition ID (@rid format) | |
| dry_run | No | See models-remove_definition | |
| model_id | Yes | Model ID (@rid format) | |
| repoint_inbound | No | See models-remove_definition |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must fully disclose behavioral traits. It states the deletion action but omits details on cascading effects, reversibility, or other side effects. It references another tool for parameter details, adding some context but insufficient for full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words. The first sentence states the core action, and the second provides context. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema, the description does not explain return values or error behavior. It relies on the alias for deeper context, leaving gaps for a deletion operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage, so the baseline is 3. The description adds a link to `models-remove_definition` for parameter specifics (dry_run, repoint_inbound) but does not introduce new semantic meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (deletes a plan item definition) and the target (draft model), and explains the alias relationship and naming consistency with sibling delete tools. This provides a precise and differentiated purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes that the tool is an alias for `models-remove_definition` and part of a naming convention, but does not explicitly state when to use this over the primary tool or provide exclusion criteria or alternatives beyond the alias.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
models-getmodels-getB
Gets a Case Plan Model by ID
| Name | Required | Description | Default |
|---|---|---|---|
| model_id | Yes | Model ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It states 'Gets' indicating a read operation with no side effects, but does not mention authentication needs, rate limits, or what happens if the model does not exist. Adequate for a simple read but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise at 6 words. Every word is purposeful, but the description is minimal. Could be slightly more descriptive without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should indicate what the tool returns (e.g., full model object). It does not, but the simplicity of the operation makes the gap minor. Adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter, and the description adds no additional meaning beyond what the schema already provides ('Model ID (@rid format)'). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Gets', the resource 'Case Plan Model', and the identifier 'by ID'. This distinguishes it from sibling tools like models-list or models-get_for_case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like models-get_for_case or models-list. The description implies usage when you have a model ID, but no explicit when-not or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
models-get_for_casemodels-get_for_caseA
Gets the model a case was instantiated from (if any)
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must cover behavioral traits. It notes 'if any', implying a nullable result, but does not specify behavior for missing case_id or return format. Adequate but could be more explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that conveys the core purpose without extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and a simple retrieval operation, the description is minimally sufficient but lacks details about return values and error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameter details. The description does not add extra meaning beyond what the schema provides. Baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Gets the model a case was instantiated from'. It is specific and distinguishes this tool from siblings like cases-get, models-get, and models-instantiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, exclusions, or context where this is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
models-instantiatemodels-instantiateA
Creates a new Case from a published model, with items from plan item definitions. Pass workspace_id to make the case visible in a workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| model_id | Yes | Published model ID (@rid format) | |
| name | No | Case name (defaults to model name) | |
| parent_case_id | No | Parent case ID for sub-cases (@rid format) | |
| status | No | Initial case status (default: active) | |
| tags | No | Tags for the new case | |
| workspace_id | No | Workspace ID to add the new case to (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that the tool creates a new Case and includes items from plan item definitions, but does not mention side effects, authorization needs, or rate limits. It is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose. Every sentence adds value, and there is no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers creation from a model and optional workspace assignment, but lacks information about return values, error conditions, or required permissions. Given the tool's complexity (6 parameters, no output schema), it leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, meaning all parameters have descriptions. The description adds marginal value by mentioning workspace_id for visibility, but otherwise does not augment the schema's parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Creates' and the resource 'a new Case from a published model', with additional detail about items from plan item definitions. This distinguishes it from sibling tools like cases-create or models-list_instances.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions passing workspace_id to make the case visible, but does not provide explicit when-to-use or when-not-to-use guidance. It does not differentiate from alternatives like cases-create or specify prerequisites (e.g., model must be published).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
models-listmodels-listA
Lists Case Plan Models (your own, optionally including public models from other users)
| Name | Required | Description | Default |
|---|---|---|---|
| include_public | No | Include public models from other users (default: false). When true, returns both your own models and public models. | |
| status | No | Filter by status: draft, published, archived |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It accurately describes the core function as a list operation but does not mention pagination, sorting, or any side effects. This is adequate for a simple read operation but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately conveys the tool's purpose. It is front-loaded and contains no extraneous information, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema, the description could have provided more details about return format or pagination. However, for a straightforward list tool with simple parameters, the description is minimally adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for both parameters ('include_public', 'status'). The description adds no additional meaning beyond the schema, so it meets the baseline for tools with good schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Lists'), the resource ('Case Plan Models'), and the scope ('your own, optionally including public models from other users'). It distinguishes the tool from similar siblings like 'models-get' or 'models-list_definitions'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (to list case plan models) but does not explicitly state when not to use it or suggest alternatives. It lacks guidance on choosing between this and other list tools like 'models-list_definitions' or 'models-list_instances'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
models-list_definitionsmodels-list_definitionsB
Lists all plan item definitions for a model
| Name | Required | Description | Default |
|---|---|---|---|
| model_id | Yes | Model ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states a list operation. It does not disclose read-only nature, idempotency, authorization needs, or any side effects. Critical behavioral traits are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single focused sentence that clearly states the purpose. It is front-loaded and concise, though it could be expanded without losing efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, yet the description does not hint at what the response contains (e.g., list of objects, format, pagination). Given the tool's simplicity, additional context about return values would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (model_id described as 'Model ID (@rid format)'), so the description adds no additional parameter meaning. This meets the baseline but does not enhance understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the action ('Lists all plan item definitions') and the target resource ('for a model'). It effectively distinguishes from siblings like models-list (lists models) and models-get (gets a single model).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., models-add_definition, models-list_instances). The description lacks any context on prerequisites, typical use cases, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
models-list_instancesmodels-list_instancesB
Lists all cases instantiated from a model
| Name | Required | Description | Default |
|---|---|---|---|
| model_id | Yes | Model ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It merely states 'lists' without disclosing behavioral traits like pagination, permissions required, or whether it returns full case objects or just IDs. This is insufficient for a listing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a concise single sentence that is front-loaded and to the point. However, it lacks structure such as bullet points or additional context, which could improve clarity without much verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 parameter, no annotations, no output schema), the description is incomplete. It does not explain the return value format, pagination, or any constraints on the listing, leaving the agent without full context for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter model_id, which already describes its format. The description adds no additional meaning beyond the schema, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Lists') and the resource ('cases instantiated from a model'), distinguishing it from sibling tools like models-list (lists models) and cases-list (lists cases generally). The purpose is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. With many sibling tools, such as models-list and cases-list, the lack of usage context is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
models-publishmodels-publishA
Publishes a Case Plan Model (draft -> published). If other published versions of the same model exist, they are listed in the response as prior_published_versions with a hint to archive them. Pass archive_version_ids to publish AND archive in one call.
| Name | Required | Description | Default |
|---|---|---|---|
| archive_version_ids | No | Optional list of model IDs to archive when publishing. Use to archive prior published versions of the same model. | |
| model_id | Yes | Model ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that publishing lists prior published versions with a hint to archive and allows combined publish-and-archive via archive_version_ids. Without annotations, this adds valuable behavioral context, though it omits details like reversibility or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences with no fluff: first sentence states primary action, second explains response behavior, third describes combined operation. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the main intent, response behavior, and optional parameter usage. Without an output schema, it provides sufficient context for an agent to understand expected outcomes, though it does not detail all response fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description reinforces the archive parameter's purpose, but adds limited new meaning beyond the schema descriptions. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Publishes a Case Plan Model (draft -> published)' with a specific verb and resource, and distinguishes from siblings like models-archive and models-update by specifying the draft-to-published transition and optional archiving of prior versions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides guidance on when to use the archive parameter and describes response behavior with prior_published_versions, but does not explicitly contrast with alternatives or specify when not to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
models-remove_definitionmodels-remove_definitionA
Removes a plan item definition from a draft model. For task definitions, automatically bridges the inbound sentries to the outbound targets so the workflow chain stays intact (the dropped-task case). For non-task definitions (sentries, milestones, stages, event_listeners), cascades to any dependent sentry. Also exposed as models-delete_definition (alias).
| Name | Required | Description | Default |
|---|---|---|---|
| definition_id | Yes | Definition ID (@rid format) | |
| dry_run | No | Tasks only — when true, returns the planned audit (what would be removed and bridged) without applying any changes. Ignored for non-task definitions. | |
| model_id | Yes | Model ID (@rid format) | |
| repoint_inbound | No | Tasks only — when true (default), bridges across the deleted task: each (inbound_sentry → task → outbound_sentry) chain becomes a direct (inbound_source → outbound_guards) sentry. When false, all sentries referencing the task are deleted (cascade), leaving the upstream chain stub-ended. Ignored for non-task definitions. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It transparently discloses the bridging behavior for task definitions and cascading for non-task definitions, as well as the alias. It does not cover error states or prerequisites, but the core behavioral traits are well explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, with two well-structured sentences. The main action is front-loaded, followed by additional behavioral details. No unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main behavioral differences and includes the alias. However, it lacks information about return values, error handling, or required model state (e.g., must be draft). Given the tool has 4 parameters and no output schema, this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptive parameter descriptions. The description does not add significant extra meaning beyond what the schema already provides (e.g., dry_run and repoint_inbound are clearly explained in the schema). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool removes a plan item definition from a draft model, and distinguishes between task and non-task definitions with specific behavioral details (bridging sentries vs cascading). It also mentions the alias, which avoids confusion with siblings like models-delete_definition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the main use case and differentiates behavior for task vs non-task definitions, but does not explicitly state when to avoid using this tool or suggest alternatives. However, the context of 'draft model' and the sibling list (including the alias) make the usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
models-set_visibilitymodels-set_visibilityA
Sets model visibility. Public models can be viewed and instantiated by any user. Only the owner can change visibility.
| Name | Required | Description | Default |
|---|---|---|---|
| model_id | Yes | Model ID (@rid format) | |
| visibility | Yes | Visibility level: 'private' (only owner can see/use) or 'public' (any user can view and instantiate) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses ownership requirement and consequence of public visibility. Lacks details on side effects (e.g., reversible, propagation to instances) and no annotations to supplement. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with verb and resource. No unnecessary words. Efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter no-output tool, the description covers purpose, access control, and value semantics. Missing error scenarios but acceptable for this simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already provides full descriptions for both parameters. The description adds context on visibility implications but does not significantly extend meaning beyond schema. Baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('sets model visibility') and explains the effect of each visibility value (public vs private). This distinguishes it from siblings like models-update which likely modify other properties.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Indicates that only the owner can change visibility, providing a clear precondition. Does not explicitly mention alternative tools or when not to use, but the specificity makes usage context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
models-updatemodels-updateA
Updates a Case Plan Model (only draft models can have name/version/description updated)
| Name | Required | Description | Default |
|---|---|---|---|
| description | No | New description | |
| model_id | Yes | Model ID (@rid format) | |
| name | No | New name | |
| version | No | New version |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states it updates draft models but does not disclose behavioral traits like authorization needs, error handling for non-draft models, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the action and constraint, containing no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description is somewhat minimal. It provides the key precondition but omits information about return value or error conditions, which would be useful for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for each parameter. The description adds context by specifying the condition under which updates are allowed (draft models only), which goes beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it updates a Case Plan Model and specifies that only draft models can have name/version/description updated. This is specific and distinguishes it from other model operations like publish or archive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear condition for use (only draft models) but does not explicitly mention when not to use or suggest alternatives like creating a new version for published models.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
models-update_definitionmodels-update_definitionA
Updates a plan item definition in a draft model. Merges template_data with existing values. Can also change the top-level sequence_order and parent_definition_id without touching template_data. Use to change task_type, description, status, ordering, or parent placement.
| Name | Required | Description | Default |
|---|---|---|---|
| definition_id | Yes | Definition ID (@rid format) | |
| model_id | Yes | Model ID (@rid format) | |
| name | No | New name for the definition | |
| parent_definition_id | No | New top-level parent definition ID (@rid format) — moves the definition to a different parent stage | |
| sequence_order | No | New top-level sequence_order for the definition (used by the model UI for display ordering) | |
| template_data | No | Template data to merge with existing (e.g., {task_type: 'process', description: '...'}) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses merge behavior for template_data and independence of sequence_order/parent_definition_id changes, but omits constraints like model must be in draft status or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The main action is front-loaded in the first sentence, and details follow concisely.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters, nested object, and no output schema, the description covers core behaviors well. It could mention return values or error conditions, but overall is fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (baseline 3). The description adds value by explaining merge semantics for template_data and showing example fields (task_type, description, status), enhancing understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates a plan item definition in a draft model, distinguishing it from sibling tools like models-add_definition (add) and models-get (retrieve). It specifies the verb, resource, and scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use the tool ('Use to change task_type, description, status, ordering, or parent placement'), providing clear context. It could mention when not to use (e.g., for adding definitions) but still offers good guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
models-validatemodels-validateA
Validates a model for errors before publishing. Checks: orphan references, event type mismatches, duplicate sentries, stages without milestones, sequence order conflicts, ungated tasks, empty stages, disconnected milestones. Returns {errors, warnings, info} report. Call this before models-publish.
| Name | Required | Description | Default |
|---|---|---|---|
| model_id | Yes | Model ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavior: lists the validation checks and specifies return format {errors, warnings, info}. No hidden side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff: first states purpose and checks, second covers return and usage. Information is front-loaded and each sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all needed context: purpose, validation scope, output structure, and invocation order relative to publish. Adequate for a single-parameter tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description does not add extra meaning beyond the schema-provided 'Model ID (@rid format)'. No format examples or constraints added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool validates a model for errors before publishing, specifies the exact checks performed (orphan references, etc.), and positions it relative to the sibling tool 'models-publish'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Includes explicit directive 'Call this before models-publish', giving clear when-to-use guidance and distinguishing from the publish step.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preferences-getpreferences-getA
Gets the current user's preferences. Pass path and machine_id to auto-resolve the worktree case as current_case_id (falls back to global current_case_id if no worktree match). Response includes case_source: 'worktree' or 'global'.
| Name | Required | Description | Default |
|---|---|---|---|
| machine_id | No | Agent's machine hostname. Required with path for worktree case lookup. | |
| path | No | Agent's working directory (pwd). If provided with machine_id, overrides current_case_id with the worktree's linked case. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries the burden. It discloses that the response includes case_source and the fallback behavior, but does not mention auth, rate limits, or side effects. Adequate for a read-only get operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences that are concise and front-loaded. The description directly states the purpose and explains parameter usage without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter with two optional parameters and no output schema, the description explains the parameter behavior and response aspects (case_source). It could mention the response structure more, but is reasonably complete given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are documented. The description adds additional meaning by explaining how machine_id and path work together for worktree case lookup and the resulting case_source field in the response.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it gets the current user's preferences, with a specific verb and resource. It distinguishes from sibling preference tools by explaining the optional parameter behavior for resolving current_case_id.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly explains when to pass path and machine_id to auto-resolve the worktree case, and the fallback to global current_case_id. Provides context but does not explicitly mention when not to use this tool vs alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preferences-list_pinned_casespreferences-list_pinned_casesA
Lists all cases pinned by the current user across all workspaces
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden. It discloses that the operation is a read/scoped to user/across workspaces, but doesn't mention potential performance concerns, pagination, or behavior when no pins exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence clearly stating purpose and scope with no wasted words, perfectly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description provides adequate context for selecting and invoking the tool, though it could mention the return format to be fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, and schema coverage is 100%. Baseline is 4 for zero parameters; the description adds no parameter semantics beyond what the schema provides, but that is acceptable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists cases pinned by the current user across all workspaces, using specific verb 'lists' and resource 'pinned cases', distinguishing it from siblings like 'cases-list' and 'cases-list_in_workspace' which have different scopes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a user needs to see their pinned cases, but provides no explicit guidance on when to use versus alternatives, nor any when-not-to-use or prerequisite information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preferences-set_brain_casepreferences-set_brain_caseA
Sets or clears the user's brain case for thought capture. When set, inbound SMS from the user's phone number is automatically stored as an item in this case and embedded for semantic search. Also used by meta-quick_capture for frictionless note capture.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | No | Case ID (@rid format) to use as the brain/thought-capture case. Inbound SMS from your registered phone will be captured here. Omit or null to clear. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses behavioral impact (SMS capture, semantic search, use by meta-quick_capture), but no annotations are provided, so the description carries full burden. Lacks details on persistence, overriding behavior, or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no extraneous information. First sentence states core purpose, second provides behavioral context. Efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and one parameter, the description covers essential functionality and relationships. It could mention clearing behavior explicitly, but the schema handles that. Overall sufficient for understanding the tool's role.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The tool description adds minor context about meta-quick_capture but does not significantly enhance parameter understanding beyond the schema's already clear explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb (sets/clears) and resource (brain case). It distinguishes itself from sibling preferences tools by specifying the action and referencing meta-quick_capture, making its unique function evident.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides context on when to use (for SMS capture and quick note capture) and what the effect is, but lacks explicit mention of when not to use or direct alternatives. The context is clear enough for an AI agent to infer appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preferences-set_current_casepreferences-set_current_caseA
Sets or clears the user's current active case. Omit case_id to clear.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | No | Case ID (@rid format) to set as current, or omit/null to clear |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral transparency. It indicates a mutation ('sets or clears') but omits details such as required permissions, behavior on invalid case_id, side effects, or return values. This is a significant gap for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently communicates the core purpose and key usage variant. Every word is necessary, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, no output schema), the description is largely complete. However, it does not clarify what the tool returns on success or failure, which could be helpful for an agent handling errors.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully describes the parameter (case_id with description of setting/clearing). The description adds no new semantics beyond repeating the schema's hint. With 100% schema description coverage, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Sets or clears the user's current active case.' The verb ('sets or clears') and resource ('current active case') are specific, and it distinguishes from sibling tools like preferences-set_brain_case, which sets a different type of case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some usage guidance ('Omit case_id to clear'), implying when to use for clearing, but it does not explicitly contrast with alternatives or specify prerequisites. This leaves the agent with implied rather than explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preferences-toggle_pinpreferences-toggle_pinB
Pins or unpins a case for quick access in the Pinned Cases view.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) | |
| pinned | Yes | true to pin, false to unpin |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose side effects, permissions, limits, or return values. For a mutation tool, more behavioral context is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with verb and resource, no redundant information. Highly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Minimal context: lacks output schema, no description of return value or post-state. Does not verify if the operation is idempotent or has limits.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action ('Pins or unpins a case') and the purpose ('quick access in the Pinned Cases view'). It distinguishes from siblings like preferences-list_pinned_cases and preferences-get.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, such as when to pin vs unpin, or any prerequisites. Without context, the user must infer usage from the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preferences-updatepreferences-updateC
Updates the current user's preferences
| Name | Required | Description | Default |
|---|---|---|---|
| default_workspace_id | No | Default workspace ID (@rid format) | |
| locale | No | Locale (e.g., en-US) | |
| settings | No | Additional settings as JSON object or JSON-encoded string | |
| theme | No | UI theme: light, dark, or system | |
| timezone | No | Timezone (e.g., America/New_York) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It only says 'updates' without detailing whether it's a partial or full update, what happens to unset fields, or any side effects like invalidating caches. This is insufficient for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, wasting no words. However, it is too minimal; a bit more detail could be added without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description does not mention what the tool returns (e.g., updated preferences). It also lacks prerequisites or constraints such as user authentication. Incomplete for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers 100% of parameters with descriptions, so the description need not add much. However, it adds no additional context, such as explaining the 'settings' parameter accepts a JSON object or string. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates the current user's preferences (verb+resource). However, it does not differentiate from sibling tools like preferences-get or preferences-set_brain_case, which is a minor gap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., preferences-set_current_case). No exclusions or context provided, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
process-create_definitionprocess-create_definitionA
Creates a reusable process definition for automated workflows. Use with process tasks (task_type='process').
| Name | Required | Description | Default |
|---|---|---|---|
| action_type | Yes | Type of action: http_webhook, internal_automation, or ai_agent | |
| agent_config | No | For ai_agent: {prompt_template, input_items, output_item_type} | |
| automation_config | No | For internal_automation: {operations: [{type, ...}]} | |
| case_id | Yes | Case ID (@rid format) | |
| completion_steps | No | Steps the executing LLM must complete before calling complete_task. Define per-process (e.g., software changes: 'compile, commit, deploy, verify'; research: 'summarize findings in a note'). If blank, generic instructions are used. | |
| description | No | What this process does | |
| execution_mode | No | sync (wait for result) or async (background job). Default: async | |
| name | Yes | Definition name | |
| retry_count | No | Number of retries on failure | |
| timeout_seconds | No | Overall execution timeout | |
| triggers_sentry | No | Sentry ID to trigger on successful completion | |
| version | No | Version string (default: 1.0) | |
| webhook_config | No | For http_webhook: {url, method, headers, body_template, timeout_ms} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description only states creation without disclosing side effects, required permissions, or return behavior. Minimal behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with front-loaded action and usage context. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complex tool with 13 parameters, nested objects, no output schema. Description leaves out details on action_type implications, required fields usage, and result expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds no additional parameter meaning beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it creates a reusable process definition for automated workflows, distinguishing it from sibling tools like update_definition, delete_definition, and execute_task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use with process tasks (task_type='process'), providing clear context. Lacks explicit exclusions or alternatives, but is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
process-create_taskprocess-create_taskA
Creates a process task linked to a definition. When activated (status=active), the process will execute automatically.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) | |
| description | No | Task description | |
| input_data | No | Input variables for the process template | |
| priority | No | Priority: critical, high, medium, low | |
| process_definition_id | Yes | Process definition ID to execute | |
| status | No | Initial status (default: available) | |
| title | Yes | Task title |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Mentions auto-execution when status=active but lacks details on permissions, side effects, or error conditions. Does not contradict annotations (none exist).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences conveying essential information without fluff. Front-loaded with the core action and auto-execution detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers core purpose and activation behavior but lacks details on return value (e.g., task ID) and does not address the 7 parameters or potential errors. Could be more complete for a 7-param tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions. Description adds the behavioral context of auto-execution on active status, which is not in schema, providing additional value beyond param definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it creates a process task linked to a definition and mentions auto-execution on activation. Distinguishes from siblings like process-create_definition and process-execute_task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage via the status parameter (active triggers execution) but does not explicitly state when to use vs alternatives or provide exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
process-delete_definitionprocess-delete_definitionA
Deletes a process definition. Note: This orphans any tasks referencing this definition.
| Name | Required | Description | Default |
|---|---|---|---|
| definition_id | Yes | Process definition ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so description must provide behavioral context. It discloses the orphaning effect, which is valuable, but does not mention permissions, reversibility, or other consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states purpose, second adds critical behavioral note. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete tool with one parameter and no output schema, the description covers purpose and a major side effect. Minor gaps: no mention of confirmation or impact on associated models.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter, and the description adds no additional meaning beyond the schema's description of 'definition_id' as an '@rid format'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action 'Deletes a process definition' and the resource type. Adds a critical side effect about orphaning tasks, distinguishing from sibling process tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., other process tools). Does not include prerequisites or warnings beyond the orphaning note.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
process-execute_taskprocess-execute_taskA
Manually executes a process task. The task must have task_type='process' and a process_definition_id. Returns execution result.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | Process task ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It states the action and return but does not disclose side effects, prerequisites beyond conditions, or error scenarios. While adequate, it could be more transparent about execution guarantees.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, 18 words total. Front-loaded with the action, then conditions. No unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple input schema and no output schema, the description is mostly complete. It covers purpose, conditions, and return value. Lacks details on execution model (sync/async) and errors, but sufficient for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds context by specifying the task conditions (task_type and process_definition_id), which are not in the schema. This helps the agent understand what kind of task is expected.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb 'executes' and the resource 'process task'. It distinguishes from siblings like cmmn-execute_task by explicitly stating the task must have task_type='process' and a process_definition_id.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states when to use the tool (for process tasks meeting specific conditions) but does not explicitly mention alternatives like cmmn-execute_task for CMMN tasks. However, the constraint is clear enough for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
process-get_definitionprocess-get_definitionA
Gets a process definition by ID
| Name | Required | Description | Default |
|---|---|---|---|
| definition_id | Yes | Process definition ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; the description only states basic purpose. It lacks disclosure of access requirements, side effects, or guarantees about the operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no wasted words, effectively communicating the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get operation with one parameter, the description is largely sufficient, though it does not mention the return value or output schema, which is acceptable given simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with the parameter definition_id already described. The description adds no extra meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Gets a process definition by ID' clearly states the verb and resource, distinguishing it from sibling tools like process-list_definitions or process-create_definition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context (retrieving by ID) but no explicit when-to-use or alternatives, relying on implied intent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
process-list_definitionsprocess-list_definitionsC
Lists all process definitions in a case
| Name | Required | Description | Default |
|---|---|---|---|
| action_type | No | Filter by action type: http_webhook, internal_automation, ai_agent | |
| case_id | Yes | Case ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description does not disclose whether the operation is read-only, if it requires special permissions, or any side effects. For a list operation, minimal disclosure, but more context (e.g., pagination, performance) would help.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. However, it could be slightly expanded to improve clarity without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema or annotations, the description is too brief. It does not explain return format, filtering behavior of the optional parameter, or error conditions, leaving gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters are documented in the schema (100% coverage). The description adds no extra parameter semantics beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (lists), resource (process definitions), and scope (in a case). It distinguishes from similar tools like 'models-list_definitions' by specificity, but lacks explanation of what a process definition is.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives such as 'models-list_definitions' or other list tools. No exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
process-update_definitionprocess-update_definitionC
Updates a process definition
| Name | Required | Description | Default |
|---|---|---|---|
| agent_config | No | For ai_agent: {prompt_template, input_items, output_item_type} | |
| automation_config | No | For internal_automation: {operations: [{type, ...}]} | |
| completion_steps | No | Steps the executing LLM must complete before calling complete_task. Define per-process (e.g., software changes: 'compile, commit, deploy, verify'; research: 'summarize findings in a note'). If blank, generic instructions are used. | |
| definition_id | Yes | Process definition ID (@rid format) | |
| description | No | What this process does | |
| execution_mode | No | sync or async | |
| name | No | Definition name | |
| retry_count | No | Number of retries on failure | |
| timeout_seconds | No | Overall execution timeout | |
| triggers_sentry | No | Sentry ID to trigger on successful completion | |
| version | No | Version string | |
| webhook_config | No | For http_webhook: {url, method, headers, body_template, timeout_ms} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden of behavioral disclosure. It only says 'updates' without mentioning side effects, idempotency, permissions, or error handling, leaving significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence) with no wasted words, but it sacrifices completeness. It is front-loaded but does not earn its place given the complexity of the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 12 parameters, no output schema, and no annotations, the description is insufficient. It fails to explain return values, error conditions, or usage patterns, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with each parameter clearly documented. The description adds no extra information beyond the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Updates a process definition', specifying the verb and resource. However, it does not distinguish itself from sibling tools like process-create_definition or process-delete_definition, leaving ambiguity about when to use this specific tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., create, delete). The description lacks any context for appropriate usage scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sms-configuredsms-configuredA
Checks if Twilio SMS credentials are configured.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the burden. It states a check operation, but does not specify return type, potential errors, or whether it modifies state. Basic transparency but lacks detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no fluff, front-loaded with key information. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description is sufficient for a simple check function. Could mention return type for complete clarity, but not essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 0 parameters with 100% coverage, so baseline is 4. The description adds necessary context about what is being checked, but no parameter details are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it 'checks if Twilio SMS credentials are configured,' using a specific verb and resource. It effectively distinguishes from sibling tools that send or list messages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage context is implied (verify configuration before sending SMS), but there is no explicit guidance on when to use vs alternatives, or when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sms-list_messagessms-list_messagesC
Lists all SMS messages (sent and received) stored as CaseFileItems for a case.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID to list SMS messages for (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavioral traits. It only says 'lists', implying read-only, but lacks details on pagination, limits, or ordering.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no fluff. It could be more informative but is concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one parameter, the description is adequate but lacks details on response format or pagination. Could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds no extra meaning beyond the schema's parameter description. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists SMS messages for a case, specifying 'stored as CaseFileItems'. It differentiates from simple message listing tools but could be more precise about output format.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'sms-send' or 'messages-list'. No prerequisites or context for use are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sms-list_templatessms-list_templatesA
Lists all available SMS templates with their descriptions and required parameters.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It correctly implies a read-only operation and describes the output content, but does not mention any additional behaviors like pagination or authentication requirements. It is minimally adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, only 10 words, and no wasted information. It is highly concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list-all tool with no parameters and no output schema, the description covers the essential information. It could be more complete by noting the output format or that it returns all templates, but it is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters, so baseline is 4. The description adds value by specifying that the output includes descriptions and required parameters, beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all available SMS templates including their descriptions and required parameters. It is specific and distinct from siblings like sms-list_messages or sms-send, though it does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., sms-send_template, sms-configured). The agent is given no context about selecting this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sms-sendsms-sendA
Sends an SMS message to a phone number. Requires the 'sms' feature to be enabled. Message is queued for async delivery.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | SMS message body (max 1600 characters) | |
| case_id | No | Optional case ID to store the SMS as a CaseFileItem (@rid format) | |
| to | Yes | Recipient phone number in E.164 format (e.g., +15551234567) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and discloses that messages are queued for async delivery. This is a key behavioral trait beyond obvious sending.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: one for purpose and prerequisite, one for async delivery. No wasted words, front-loaded with essential info.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple send tool without output schema, it covers prerequisites and async behavior. Could mention response or error handling but not required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with each parameter already detailed (e.g., max 1600 chars, E.164 format). The description adds no new semantics, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Sends an SMS message to a phone number', providing a specific verb and resource. It distinguishes from siblings like sms-send_template which sends a template message.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions that the 'sms' feature must be enabled, giving a clear prerequisite. It implies usage for custom messages vs sms-send_template but does not explicitly exclude alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sms-send_templatesms-send_templateB
Sends a templated SMS message. Renders the template with provided params and sends via Twilio.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | No | Optional case ID to store the SMS as a CaseFileItem (@rid format) | |
| params | Yes | Template parameters as a JSON object. Required fields depend on the template. | |
| template | Yes | Template name (e.g., 'invoice_reminder', 'payment_received'). Use sms-list_templates to see available templates. | |
| to | Yes | Recipient phone number in E.164 format (e.g., +15551234567) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only mentions rendering and sending via Twilio, but omits side effects (e.g., storing as CaseFileItem if case_id provided), rate limits, or cost implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no wasted words. The primary action ('Sends a templated SMS message') is front-loaded, and the mechanism is stated directly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters and no output schema, the description covers the core action but lacks details on return values, error handling, or prerequisites. It is adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage, so each parameter is already well-documented. The description adds minimal extra meaning, just confirming the template is rendered with params. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool sends a templated SMS message by rendering a template with given parameters and sending via Twilio. It effectively distinguishes from siblings like sms-send (plain text) and sms-list_templates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. It does not mention when not to use (e.g., for plain messages use sms-send) or prerequisites like having an SMS configuration.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tasks-check_todostasks-check_todosA
Checks if all todos under a task are complete. Returns completion status and counts.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | Task ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavior. It only states the action and return values but does not mention read-only nature, side effects, or prerequisites. Lacks depth for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single concise sentence that adequately conveys the tool's purpose and outputs. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, and description only mentions 'completion status and counts' without specifying format. For a simple check tool, it is minimally adequate but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameter is already well-defined (task_id in @rid format). The description adds no extra semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks completion status of todos under a task, using specific verbs and resource. It distinguishes from siblings like tasks-create_todo and tasks-list_todos.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (check completion) but does not explicitly provide guidance on alternatives or when not to use it. No exclusion criteria or comparisons to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tasks-create_todotasks-create_todoB
Creates a todo as a subtask of a CMMN task. The todo is linked as a child via ParentOf edge.
| Name | Required | Description | Default |
|---|---|---|---|
| assigned_to | No | Who is responsible for this todo | |
| case_id | Yes | Case ID (@rid format) | |
| description | No | Detailed description of what needs to be done | |
| due_date | No | Due date (ISO8601) | |
| priority | No | Priority: critical, high, medium, low | |
| status | No | Status: pending, in_progress, on_hold, waiting, deferred, completed, cancelled (default: pending) | |
| task_id | Yes | Task ID (@rid format) - the parent task | |
| title | Yes | Todo title/summary |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only mentions the creation and linking behavior but omits side effects (e.g., does it update parent status?), error conditions, or whether the operation is idempotent. Minimal disclosure for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no redundancy, action verb first. Every word earns its place. Highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters, 3 required, no output schema, and no annotations, the description is too brief. It doesn't explain the return value, constraints (e.g., max description length), or required preconditions. Agents need more context to use this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter already has a clear description. The tool description adds no additional meaning beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'creates', the resource 'todo as subtask of a CMMN task', and the specific mechanism 'linked via ParentOf edge'. It distinguishes from sibling tools like tasks-list_todos or tasks-update_todo_status by emphasizing the creation and hierarchical link.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites (e.g., the parent task must exist), and no conditions where this tool should not be used. Without explicit when or when-not context, agents have to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tasks-list_case_todostasks-list_case_todosA
Lists all todos for a case, sorted by priority and due date
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) | |
| status | No | Filter by status: pending, in_progress, on_hold, waiting, deferred, completed, cancelled |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It discloses the sorting behavior (by priority and due date) but omits other behavioral traits such as read-only nature, pagination, or whether it returns only active todos. The description is adequate but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and front-loaded. Every word contributes value, with no unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and lack of output schema/annotations, the description should provide more context about return values (e.g., what fields are included) and any default behavior (e.g., does it include completed todos?). As it stands, it leaves the agent guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description does not add any parameter-specific information beyond what the schema already provides (e.g., no additional context on 'case_id' or 'status' format or behavior).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it lists todos for a specific case, distinguished from sibling tool 'tasks-list_todos' by the 'for a case' scope. It also specifies sorting by priority and due date, providing precise verb and resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While the description implies the tool is for listing case-specific todos, it does not explicitly state when to use this tool versus alternatives like 'tasks-list_todos' (which likely lists todos without case filter). No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tasks-list_todostasks-list_todosA
Lists all todos that are subtasks of a CMMN task (linked via ParentOf edge)
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | Task ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description provides some behavioral context (lists todos linked via ParentOf edge), but lacks details like whether it returns direct or all descendants, pagination, or ordering. It does not contradict annotations as none are present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the action and resource. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one parameter, the description is mostly complete. It specifies the parent relationship (ParentOf edge). Minor missing context: result format or pagination, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter, and the description does not add meaning beyond the schema's 'Task ID (@rid format)'. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists todos that are subtasks of a CMMN task, using a specific verb and resource. It distinguishes from siblings like tasks-list_case_todos (which lists todos for a case, not subtasks of a specific task).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is provided. The implication is to use when you need subtasks of a specific CMMN task, but there is no mention of alternatives or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tasks-update_todo_statustasks-update_todo_statusA
Updates a todo item's status with automatic timestamp handling
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | New status: pending, in_progress, on_hold, waiting, deferred, completed, cancelled | |
| todo_id | Yes | Todo item ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses automatic timestamp handling, which is a behavioral trait beyond the basic update. However, with no annotations, does not address whether other side effects occur (e.g., notifications, dependencies).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, clear sentence that front-loads the core action and key side effect. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple update tool with two well-described parameters and no output schema, the description covers the main purpose and a notable side effect. Could mention expected return value or error conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds no further meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action 'updates a todo item's status' and adds a specific behavioral detail 'automatic timestamp handling'. Distinguishes from sibling tools like tasks-create_todo.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this vs alternatives like tasks-check_todos or tasks-list_todos. Lacks context about prerequisites or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tokens-createtokens-createA
Creates a new API token for the current user. Returns the full token ONCE - save it, it cannot be retrieved again.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Descriptive name for the token (e.g., 'Claude Code laptop') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that the token is returned only once and cannot be retrieved again, which is critical behavioral information. No annotations are provided, so description carries full burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two straightforward sentences with no wasted words. The action and crucial note are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Completely covers the tool's purpose, return value, and critical behavioral note. For a simple one-parameter tool, no gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and description adds a concrete example ('Claude Code laptop') for the 'name' parameter, enhancing clarity beyond the schema definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'creates' and resource 'API token' for 'current user'. The description effectively distinguishes from sibling tools like tokens-delete and tokens-list by specifying the creation action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit warning to save the token as it cannot be retrieved again, which is a key usage guideline. However, does not explicitly state when to use this tool over other token-related tools, though there is only one creation tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tokens-deletetokens-deleteB
Revokes/deletes an API token for the current user
| Name | Required | Description | Default |
|---|---|---|---|
| token_id | Yes | Token ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description is the sole source of behavioral info. It only states the action without disclosing side effects, reversibility, authentication requirements, or consequences of deletion.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, 9 words, no unnecessary content. Clearly front-loaded with the action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete tool with one parameter and no output schema, the description is minimally adequate. However, it lacks details like idempotency or error conditions that could help an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (token_id has a description). The description adds no extra meaning beyond what the schema provides, so baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it revokes/deletes an API token for the current user. It uses specific verbs and identifies the resource, distinguishing it from siblings like tokens-create and tokens-list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It only implies usage for deletion, with no exclusion criteria or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tokens-listtokens-listA
Lists all API tokens for the current user (only shows token prefix, not full token)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It explicitly states the security behavior (only prefix is shown) and the scope (current user). This is sufficient for a simple list tool, though it doesn't mention return format or pagination, which is acceptable given no parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is front-loaded with the main action and includes a critical behavioral detail. Every word earns its place, with no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 0 parameters and no output schema, the description covers the essential purpose and a key behavioral trait. It could mention that the result is a list of token summaries, but it is already clear enough for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, so no parameter documentation is needed. As per guidelines, 0 parameters yields a baseline score of 4. The description adds no parameter info, but none is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Lists', the resource 'API tokens', the scope 'for the current user', and the key behavior 'only shows token prefix, not full token'. This distinguishes it from sibling tools like tokens-create and tokens-delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternatives are given, but the tool is a straightforward read operation. The implied usage context is clear from the name and description. Since sibling tools are different operations (create/delete), no conflict arises.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
users-disableusers-disableA
Disables a user account, logging them out (admin only)
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | User ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that the account is disabled and the user logged out, and that admin permission is required. It could mention reversibility (e.g., existence of users-enable), but the core behavior is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise, and front-loaded with the essential information. No superfluous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple mutation tool with one parameter and no output schema, the description adequately covers the action, permission, and side effect. It is complete enough for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (one parameter described as 'User ID (@rid format)'). The description adds no additional meaning beyond the schema, which is acceptable given high coverage. Baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Disables a user account') and the effect ('logging them out'). It also notes 'admin only', specifying permission. This distinguishes it from siblings like users-enable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies 'admin only', which clearly indicates who can use it. While it doesn't explicitly state when not to use, the sibling name users-enable provides obvious contrast. No additional exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
users-enableusers-enableA
Re-enables a disabled user account (admin only)
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | User ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It states that the action is re-enabling a disabled user account and requires admin privileges. It doesn't mention prerequisites (e.g., account must be disabled), side effects, or return value. Adequate but could be more explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the action and resource. It contains no unnecessary words or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one parameter, no output schema, and a simple action (re-enabling an account), the description is sufficient. It clearly states the purpose and access control, covering all essential context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter 'user_id' (described as 'User ID (@rid format)'). The tool description adds no additional meaning beyond that, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description provides a specific verb ('Re-enables') and resource ('disabled user account'), and includes a scope constraint ('admin only'). It clearly distinguishes from the sibling tool 'users-disable' by indicating the opposite action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states 'admin only', indicating who should use it. While it doesn't explicitly list when to use vs alternatives, the context is clear: use when you want to re-enable a disabled account, as opposed to disabling. No exclusions mentioned, but the purpose is straightforward.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
users-getusers-getA
Gets a user by ID (admin only)
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | User ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries the burden. Only discloses admin restriction, but does not mention that it's a read-only operation, return format, or error scenarios. Minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words. Efficiently conveys purpose and a key condition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema, no annotations), the description is adequate but lacks details like return type or error handling. Not incomplete but could be more informative.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (single parameter documented). Description adds no additional meaning beyond what the schema provides for the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Gets a user by ID' which is a specific verb-resource combination, and adds '(admin only)' which distinguishes it from sibling tools like users-list or users-get_current.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly mentions admin requirement, but does not provide guidance on when not to use or mention alternatives among siblings. Only gives a usage condition, not full context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
users-get_currentusers-get_currentA
Gets information about the currently authenticated user
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states 'gets information' without elaborating on return format, side effects, authentication requirements, or any limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence of 8 words, no fluff, perfectly sized for a simple info retrieval tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While complexity is low, no output schema exists and the description fails to specify what fields are returned, leaving the agent guessing about the response structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters with 100% schema coverage. The description affirms the resource ('currently authenticated user'), adding no redundant parameter info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb ('Gets') and resource ('currently authenticated user'), clearly distinguishing from sibling tools like users-get (likely requires user ID) and users-list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for current user context but does not explicitly state when to use this tool vs alternatives (e.g., users-get for a specific user). No exclusions or when-not guidance provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
users-get_featuresusers-get_featuresA
Gets the enabled features for a user (admin only)
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | User ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Only discloses the admin constraint, but does not explain error behavior for non-admins, nonexistent users, or response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words. Concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with one parameter and no output schema, the description is adequate. It could mention the return value (e.g., list of features), but not essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear parameter description. The tool description adds no additional meaning beyond the schema, so baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb ('Gets'), resource ('enabled features for a user'), and constraint ('admin only'), distinguishing it from sibling tools like users-get or users-set_features.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicitly suggests admin-only usage, but no explicit guidance on when to use vs alternatives like users-set_features or users-get. Lacks when-not-to-use or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
users-listusers-listA
Lists all users in the system (admin only)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only mentions admin permission, omitting behavioral traits like pagination, rate limits, or result format. With no annotations, the description should disclose more.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, clear sentence. No superfluous words. Front-loaded with purpose and constraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Minimal but covers purpose and constraint. Lacks return value description (e.g., list of user objects). Since no output schema, description could provide more context. Adequate for a simple list tool but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters in schema; schema coverage 100%. Description adds no parameter info, but none is needed. Baseline for zero parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states action (Lists all users), resource (users), scope (in the system), and constraint (admin only). Distinguishes from sibling tools like users-get or users-get_current.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly mentions admin-only restriction, guiding usage context. Lacks explicit mention of when not to use or alternative tools, but the constraint is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
users-set_featuresusers-set_featuresA
Sets the enabled features for a user (admin only). Replaces the entire features list.
| Name | Required | Description | Default |
|---|---|---|---|
| features | Yes | List of feature names to enable (e.g., ["sms", "billing"]). Available features: sms, billing, email | |
| user_id | Yes | User ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the destructive behavior ('Replaces the entire features list') and authentication requirement ('admin only'). It does not mention side effects like notifications or scope requirements, but for a simple mutation tool, it provides sufficient behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the core action and key constraints. It is front-loaded with the verb and resource, and every word adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and few parameters, the description covers the essential aspects: what the tool does, that it replaces features, and that it requires admin privileges. It could mention potential error conditions or prerequisites (e.g., user must exist), but overall it provides adequate context for a simple mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with good descriptions for both parameters. The description adds value beyond the schema by explaining the replacement behavior and admin restriction, which applies to the tool's parameters. This context enhances understanding of how the parameters are used, justifying a score above baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Sets the enabled features for a user', specifying the action and resource. It adds 'admin only' and 'Replaces the entire features list', which distinguishes it from incremental update tools like users-update_profile. The verb 'set' combined with 'replaces' clarifies the behavior, making it distinct from siblings like users-get_features.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly mentions 'admin only', indicating who can use it. It clarifies that it replaces the entire features list, which guides usage for full updates rather than partial changes. However, it does not explicitly state when not to use it or provide alternatives, such as using users-enable for toggling individual features.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
users-set_productsusers-set_productsA
Sets the enabled products for a user (admin only). Products control which MCP tool namespaces are visible. User must reconnect MCP for changes to take effect.
| Name | Required | Description | Default |
|---|---|---|---|
| products | Yes | List of product names to enable. Valid products: core, billing, messaging, mcp, admin. Controls which MCP tools and UI menu items are available. The 'mcp' product is required for API access. | |
| user_id | Yes | User ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and discloses that the tool is admin-only and requires MCP reconnection after use, which are key behavioral traits. It could mention reversibility but is sufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no filler. The first sentence states the primary action and restriction; the second adds critical context about MCP reconnection. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two parameters and no output schema, the description covers the essential aspects: what it does, who can use it, what it affects, and the required side effect. It is complete for agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with detailed parameter descriptions, especially for 'products'. The tool description adds no extra parameter meaning beyond the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Sets' and identifies the resource as 'enabled products for a user', clearly distinguishing the tool from siblings like 'users-set_features' or 'users-update_profile' by focusing on product-based namespace visibility.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states 'admin only' and notes that the user must reconnect MCP for changes to take effect, providing clear usage context. However, it does not mention when to prefer this tool over alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
users-update_profileusers-update_profileA
Updates the current user's profile (phone, email). At least one field must be provided.
| Name | Required | Description | Default |
|---|---|---|---|
| No | Updated email address | ||
| phone | No | Phone number in E.164 format (e.g., +15551234567). Set to empty string to clear. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose behavioral traits such as side effects, permissions required, or what happens on success/failure. The phrase 'updates' implies mutation but lacks detail on reversibility or consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. Front-loaded with the core purpose and key constraint. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple update tool with no output schema, the description is adequate but lacks information on return value, scope (only current user), and error cases. Could be more complete given the many sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with good descriptions. The description adds little beyond listing the fields, as the schema already documents them. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it updates the current user's profile, specifying the exact fields (phone, email) and using a specific verb. It distinguishes from sibling tools like users-get or users-update by focusing on the current user's profile.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a minimal constraint (at least one field must be provided) but no guidance on when to use this tool versus alternatives like users-update for other users. Lacks context on prerequisites or scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workspaces-add_caseworkspaces-add_caseB
Adds a case to a workspace (cases can be in multiple workspaces)
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) | |
| workspace_id | Yes | Workspace ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must carry the full transparency burden. It states the action but omits behavioral traits such as permissions needed, idempotency, error conditions (e.g., case already in workspace?), or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with parenthetical, no superfluous words. Front-loaded action and key nuance. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the description provides the core purpose and a behavioral nuance (multi-workspace support). However, it could mention what happens if the case is already in the workspace or any required prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters documented as @rid format. The tool description adds no extra meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the verb 'Adds' and resources 'case to a workspace', clearly distinguishing it from sibling tools like workspaces-remove_case. The parenthetical '(cases can be in multiple workspaces)' adds useful context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives (e.g., workspaces-list_for_case, workspaces-remove_case). The description implies usage but doesn't provide exclusions or alternative suggestions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workspaces-createworkspaces-createB
Creates a new workspace for grouping cases
| Name | Required | Description | Default |
|---|---|---|---|
| color | No | Color (hex #RGB/#RRGGBB or named: red, blue, green, etc.) | |
| description | No | Workspace description | |
| icon | No | Icon identifier | |
| is_default | No | Set as default workspace | |
| name | Yes | Workspace name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose behavioral traits such as idempotency, failure modes, or side effects. For a creation tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no unnecessary words, highly concise and front-loaded with key action and purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks context for a creation tool: no mention of return value, error handling, or constraints. Incomplete for an agent to use confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage with descriptions for each parameter. The description adds no additional parameter meaning beyond the schema, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (creates), resource (workspace), and purpose (grouping cases). It distinguishes from siblings like workspaces-get, -list, -delete, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. Missing context about prerequisites, when not to use, or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workspaces-deleteworkspaces-deleteB
Deletes a workspace
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | Yes | Workspace ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description omits critical behavioral details such as whether deletion is irreversible, cascades to associated resources, or requires special permissions. For a destructive operation, this lack of transparency is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at three words, front-loading the core purpose. While efficient, it lacks any explanatory structure such as context or usage hints, which would improve usability. Still, it earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema and no annotations, the description is incomplete. It fails to address the consequences of deletion, error conditions, or security implications, which are essential for safe agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides a description for the only parameter 'workspace_id' (Workspace ID in @rid format), and the tool description adds no additional meaning. With 100% schema coverage, no further information is needed, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Deletes a workspace' is a specific verb+resource that clearly states the tool's action. It unambiguously distinguishes from sibling tools like workspaces-create, workspaces-get, and workspaces-update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites (e.g., workspace must exist) or when deletion is appropriate, leaving the agent without context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workspaces-getworkspaces-getB
Gets a workspace by ID
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | Yes | Workspace ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits (e.g., authentication needs, rate limits, or side effects). The description carries the full burden for transparency but only states the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence that directly states the tool's purpose. Every word is necessary and there is no superfluous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the tool is simple (get by ID), the description lacks any information about what the workspace object contains or potential error conditions. Given no output schema exists, a slightly richer description would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage for the single parameter workspace_id with format '@rid'. The description adds no extra meaning beyond what the schema already provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Gets a workspace by ID' clearly specifies the verb (Gets), the resource (workspace), and the method (by ID). It easily distinguishes this from sibling tools like workspaces-list or workspaces-create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as workspaces-list for retrieving multiple workspaces or workspaces-get_default for the default workspace. No exclusions or contexts are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workspaces-get_defaultworkspaces-get_defaultA
Gets the user's default workspace
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description only says 'Gets', implying a read operation, but lacks details on side effects, auth requirements, or what exactly is returned. For a zero-annotation tool, more context is expected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the action. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no parameters and no output schema, the description covers the essential behavior. It is complete enough for an agent to understand the tool's purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. Per guidelines, zero parameters baseline is 4. The description doesn't need to add param info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets the user's default workspace, with a specific verb and resource. It distinguishes from siblings like workspaces-get (needs ID) and workspaces-list (lists all).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternatives are mentioned. The name implies it's for retrieving the default, but no guidance on when to choose this over workspaces-get or workspaces-list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workspaces-listworkspaces-listA
Lists all workspaces for the current user
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose additional behavioral details (e.g., pagination, ordering, or response format) beyond the basic purpose. For a tool with zero parameters, the agent needs more context about what 'all workspaces' entails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence of 6 words, efficient and directly front-loaded. Every word is necessary and contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no parameters, the description is sufficiently complete. It defines the resource and scope, allowing the agent to infer the expected action and result without ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0 parameters with 100% coverage, so baseline is 3. The description adds no parameter-level meaning since there are none, but this is acceptable given the simplicity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'lists' and resource 'workspaces' with scope 'for the current user', distinguishing it from sibling tools like workspaces-create and workspaces-list_for_case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives, but the simple purpose implies listing all user workspaces without filtering, which is minimally adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workspaces-list_for_caseworkspaces-list_for_caseB
Lists all workspaces that contain a case
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description should disclose behavioral traits like read-only or authentication needs. It only states the basic action without any additional context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no filler, front-loaded with the action and resource. Achieves maximum conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description is adequate but leaves ambiguity about the exact relationship (e.g., 'contain a case' could be clarified) and return structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema coverage is 100% and the description does not add meaning beyond the schema's parameter description. Baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'lists' and resource 'workspaces' with a filter condition. However, it does not distinguish from sibling tools like 'workspaces-list' or 'cases-list_in_workspace', which could lead to confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. No 'when-not' scenarios or references to other tools are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workspaces-remove_caseworkspaces-remove_caseB
Removes a case from a workspace
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) | |
| workspace_id | Yes | Workspace ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral aspects. It only states the action without explaining side effects, reversibility, permission requirements, or return values. This is insufficient for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. It is front-loaded and clearly states the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the tool is simple, the description lacks details about return values or expected outcomes, especially since there is no output schema. For a destructive action, more context would be helpful, but it is minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage, with both parameters described as '@rid format'. The description adds no extra semantics beyond the schema, so it meets the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Removes a case from a workspace' uses a specific verb 'removes' and clearly identifies the resource ('case from workspace'). It distinguishes itself from siblings like 'workspaces-add_case' and 'cases-delete'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as 'cases-delete' or 'workspaces-list'. No prerequisites or context for invocation are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workspaces-set_defaultworkspaces-set_defaultA
Sets a workspace as the user's default (shown on login)
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | Yes | Workspace ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It states a persistent user-specific change, but does not disclose side effects (e.g., overriding previous default, permission requirements). Adequate for a simple setter but could be more explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence of 13 words efficiently conveys purpose and effect. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for a simple setter, but could mention that the change persists and affects login view. Minor gap: no mention of error states or return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with parameter description 'Workspace ID (@rid format)', so the description adds no extra meaning. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Sets a workspace as the user's default' and specifies the effect 'shown on login'. It distinguishes from sibling tool 'workspaces-get_default' which retrieves the default.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (to set a default workspace), but lacks explicit guidance on prerequisites, when not to use, or alternatives like 'workspaces-update'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workspaces-updateworkspaces-updateC
Updates a workspace
| Name | Required | Description | Default |
|---|---|---|---|
| color | No | Color (hex or named) | |
| description | No | Workspace description | |
| icon | No | Icon identifier | |
| name | No | Workspace name | |
| workspace_id | Yes | Workspace ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only says 'updates' but does not disclose if it's a partial update, what happens to omitted fields, or any authorization requirements. The behavioral burden is entirely on the description, which is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise at one sentence, but it sacrifices substance. Could be considered under-specified rather than efficiently informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and a simple update operation, the description should at least mention that only provided fields are updated or confirm behavior. Lacks completeness for an agent to understand side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 5 parameters. The description adds no further meaning beyond what the schema already provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'updates' and resource 'workspace', distinguishing it from create, delete, get, and list siblings. However, it lacks details on what aspects can be updated beyond what's in the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like workspaces-create or workspaces-delete. No prerequisites or context mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worktrees-activateworktrees-activateA
Activates a worktree by setting its linked case as the current case. Use this when entering a worktree to automatically switch context to its associated case.
| Name | Required | Description | Default |
|---|---|---|---|
| worktree_id | Yes | Worktree ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states the action and effect but does not disclose potential side effects, required permissions, or what happens to the current session. This lack of detail reduces transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the action, and contains no unnecessary words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description is fairly complete. It explains what the tool does and when to use it. However, it could benefit from a note about the return value or any constraints, but it is not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter with a description ('Worktree ID (@rid format)'). The tool description does not add any additional meaning beyond what the schema provides. With 100% schema coverage, baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Activates a worktree') and the effect ('setting its linked case as the current case'). It also provides context ('Use this when entering a worktree'), making it distinct from sibling tools like create or delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use this tool: 'Use this when entering a worktree'. While it doesn't mention when not to use or alternatives, the context is sufficient for a simple activation tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worktrees-assign_to_caseworktrees-assign_to_caseB
Associates a worktree with a case (creates HasWorktree edge)
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) | |
| worktree_id | Yes | Worktree ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavioral traits. It states the tool 'creates' an edge, implying a mutation, but does not disclose whether the operation is idempotent, what happens if the association already exists, or any required permissions. For a mutation tool, more behavioral context is necessary.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that immediately conveys the tool's purpose. It is front-loaded and contains no extraneous information. Every word contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with two required parameters and no output schema. The description captures the core purpose, but given no annotations and a lack of usage guidance, completeness is adequate but not enhanced. It does not describe return values or side effects, which would be helpful for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with descriptions ('Case ID (@rid format)' and 'Worktree ID (@rid format)'). The description adds no additional meaning beyond the schema, so baseline 3 is appropriate. No refinement or extra details are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Associates') and clearly identifies the objects ('worktree with a case') and the action ('creates HasWorktree edge'). It directly addresses what the tool does and distinguishes it from the sibling tool 'worktrees-unassign_from_case' which performs the inverse operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as when to use 'worktrees-unassign_from_case' instead. There is no mention of prerequisites (e.g., the worktree and case must exist) or context for appropriate usage. The agent would need to infer usage from the tool name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worktrees-createworktrees-createB
Creates a new worktree entry for git worktree tracking across machines
| Name | Required | Description | Default |
|---|---|---|---|
| alias | No | User-defined shortcut name | |
| branch | No | Current branch name | |
| head | No | Current commit SHA | |
| machine_id | Yes | Machine identifier (hostname) | |
| name | Yes | Display name for the worktree | |
| os_type | No | Operating system: linux, windows, or macos | |
| path | Yes | Filesystem path on the machine | |
| remote_origin | No | Git remote URL (e.g., git@gitlab.com:user/repo.git) | |
| tags | No | Categorization tags | |
| workspace_filename | No | VS Code workspace filename | |
| workspace_path | No | Full path to workspace file |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as duplicate handling, side effects, or authorization requirements. The description only states creation without elaboration.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is front-loaded with the action. It earns its place but could provide more context without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 11 parameters and no output schema, the description lacks details about the return value or behavior after creation. It does not explain what a worktree entry entails, leaving the agent with insufficient context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds no additional meaning or context for the parameters beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a new worktree entry for git worktree tracking across machines, with a specific verb and resource. It distinguishes from sibling tools like worktrees-update or worktrees-delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like worktrees-activate or worktrees-update. There is no indication of prerequisites or context for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worktrees-deleteworktrees-deleteB
Deletes a worktree
| Name | Required | Description | Default |
|---|---|---|---|
| worktree_id | Yes | Worktree ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description fails to disclose side effects like potential data loss, permission requirements, or reversibility. For a destructive operation, this is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short (3 words), which is efficient, but it sacrifices behavioral transparency. It is front-loaded but too minimal for a delete tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema or annotations, the description offers insufficient context about what happens upon deletion, constraints, or return values. A delete operation requires more detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds no additional meaning beyond the schema's 'Worktree ID (@rid format)'. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Deletes a worktree' uses a specific verb and resource, clearly indicating the action and distinguishing it from sibling tools like worktrees-create, worktrees-get, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or conditions (e.g., worktree must exist, cannot be active).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worktrees-getworktrees-getA
Gets a worktree by ID, alias (fuzzy), or path. Provide one of: id, alias+machine_id, or path+machine_id
| Name | Required | Description | Default |
|---|---|---|---|
| alias | No | Alias to search for (fuzzy matching) — requires machine_id | |
| machine_id | No | Machine identifier (required with alias or path) | |
| path | No | Filesystem path — requires machine_id | |
| worktree_id | No | Worktree ID (@rid format) — use this OR alias OR path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses fuzzy matching for alias and required machine_id pairings, but no annotations are present to cover idempotency or safety. Description does not mention error behavior or return count, but for a 'get' tool it is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with action and resource, no filler. Efficiently conveys all necessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description could mention return format (e.g., 'returns a worktree object'), but the lookup methods are well explained. It is complete enough for a simple retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already covers all parameters with descriptions (100% coverage). The description adds value by summarizing the valid combinations (id OR alias+machine_id OR path+machine_id), which is not explicit in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Gets a worktree' with specific lookup methods (ID, alias, path). It distinguishes itself from sibling tools like worktrees-list by specifying singular retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to 'Provide one of: id, alias+machine_id, or path+machine_id', which defines correct usage and implies when to use alternatives (e.g., use ID if available). Lacks explicit when-not-to-use guidance for sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worktrees-get_caseworktrees-get_caseA
Gets the case associated with a worktree (via HasWorktree edge)
| Name | Required | Description | Default |
|---|---|---|---|
| worktree_id | Yes | Worktree ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description mentions the edge relationship, implying a lookup operation. However, it does not disclose whether it is read-only, required permissions, or output characteristics. Minimal but adequate for a simple getter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence without any fluff. It is concise and front-loaded with the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should hint at return value. It does not describe what the tool returns (the case object). Given its simplicity, it is minimally complete but could be improved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter worktree_id is described in the input schema (100% coverage). The description does not add meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (gets), the resource (case), and the relationship to worktree via HasWorktree edge. It effectively distinguishes from sibling tools like worktrees-get or worktrees-list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs alternatives like worktrees-get or cases-get. No mention of preconditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worktrees-listworktrees-listA
Lists all worktrees, optionally filtered by machine, remote origin, or branch
| Name | Required | Description | Default |
|---|---|---|---|
| branch | No | Filter by branch name | |
| machine_id | No | Filter by machine identifier | |
| remote_origin | No | Filter by git remote URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It fails to state that the operation is read-only, lacks details on auth requirements or rate limits, and provides no insight into side effects or edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence of 10 words conveys the core function and optional filters with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with no output schema, the description is adequate but could clarify the return format (e.g., array of worktree objects) and potential pagination or default ordering.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds minimal value by restating the filter parameters (branch, machine_id, remote_origin) without extra semantics or format details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it 'lists all worktrees' with optional filters, which is a specific verb+resource. It effectively distinguishes from sibling 'worktrees-list_for_case' by implying a global scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing worktrees but provides no explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives like worktrees-list_for_case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worktrees-list_for_caseworktrees-list_for_caseC
Lists all worktrees associated with a case
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; the description does not disclose behavioral details such as whether the operation is read-only, pagination, or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, 7 words, front-loaded with action and resource—highly concise with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks output schema and annotations; description does not explain what a worktree is or the return structure, leaving ambiguity for domain-unfamiliar agents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a description for case_id; the description adds no additional meaning beyond stating 'associated with a case', which is already implied by the parameter name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Lists' and the resource 'worktrees associated with a case', distinguishing it from sibling tools like worktrees-list which lists all worktrees.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool over alternatives like worktrees-list or worktrees-get_case; the context of use is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worktrees-unassign_from_caseworktrees-unassign_from_caseA
Removes the association between a worktree and a case (deletes HasWorktree edge)
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | Case ID (@rid format) | |
| worktree_id | Yes | Worktree ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It states the destructive nature (deletes edge) but does not mention side effects, permissions, or reversibility. Adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no superfluous words, front-loaded with the action. Extremely concise and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple edge deletion tool without output schema, the description is sufficient. It explains the core operation, though it could mention return type or confirmation status.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and parameters are well-described in the schema with their types and formats. The description adds no additional semantic value beyond what is already in the input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (removes association) and the objects (worktree and case), with the underlying operation (deletes HasWorktree edge). It distinguishes itself from sibling tools like worktrees-assign_to_case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies it is the inverse of assign_to_case, but does not explicitly state when to use or when not to use it. It provides clear context but lacks exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worktrees-updateworktrees-updateB
Updates a worktree's mutable fields
| Name | Required | Description | Default |
|---|---|---|---|
| alias | No | User-defined shortcut name | |
| branch | No | Current branch name | |
| head | No | Current commit SHA | |
| name | No | New display name | |
| path | No | Filesystem path of the worktree | |
| tags | No | Categorization tags | |
| workspace_filename | No | VS Code workspace filename | |
| workspace_path | No | Full path to workspace file | |
| worktree_id | Yes | Worktree ID (@rid format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It only says 'updates mutable fields' but doesn't specify what fields are mutable, whether updates are idempotent, or side effects like cascading changes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise but doesn't provide any additional value beyond the name. It could be more informative without added length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters and no output schema, the description is too sparse. It doesn't explain the required worktree_id, how to specify which fields to update, or what the response looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% parameter description coverage, so the schema already explains each parameter. The description adds no additional meaning beyond 'mutable fields', which is already implied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Updates a worktree's mutable fields' clearly states the action (updates) and resource (worktree), distinguishing it from sibling tools like worktrees-create and worktrees-delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives, such as worktrees-get to read or worktrees-create to make a new one. The description doesn't mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
5 tool updates
v1.0.0- Changed
cmmn-create_task1 field changed- changed
Input schema / requiredPrevious value: -[ - "status", - "title", - "case_id" -]New value: +[ + "status", + "case_id", + "title" +]
- Changed
graph-get_linked1 field changed- added
Input schema / properties / link_typeAdded value: +{ + "description": "Optional edge type filter (e.g., 'context'). When provided, returns only items linked with that edge type.", + "type": "string" +}
- Added
messages-archive - Added
messages-unarchive - Changed
preferences-update1 field changed- changed
Input schema / properties / settings / descriptionPrevious value: -"Additional settings as JSON object"New value: +"Additional settings as JSON object or JSON-encoded string"
203 tool updates
v0.1.0- First observed
agents-deregister - First observed
agents-get - First observed
agents-heartbeat - First observed
agents-list - First observed
agents-register - First observed
ai-cancel_work_item - First observed
ai-claim_and_complete_work_item - First observed
ai-claim_work_item - First observed
ai-complete_work_item - First observed
ai-count_pending - First observed
ai-fail_work_item - First observed
ai-get_work_item - First observed
ai-list_work_items - First observed
billing-generate_invoice_pdf - First observed
billing-generate_invoice_tex - First observed
calendar-get_or_create - First observed
calendar-get_or_create_day - First observed
cases-add_documentation - First observed
cases-add_tag - First observed
cases-create - First observed
cases-delete - First observed
cases-get - First observed
cases-get_parent - First observed
cases-list - First observed
cases-list_documentation - First observed
cases-list_in_workspace - First observed
cases-list_subcases - First observed
cases-load_context - First observed
cases-remove_documentation - First observed
cases-remove_tag - First observed
cases-update - First observed
cases-update_status - First observed
clients-create - First observed
clients-delete - First observed
clients-get - First observed
clients-get_by_name - First observed
clients-list - First observed
clients-update - First observed
cmmn-achieve_milestone - First observed
cmmn-activate_event_listener - First observed
cmmn-add_discretionary_item - First observed
cmmn-add_model_to_case - First observed
cmmn-check_sentry_condition - First observed
cmmn-claim_complete_with_evidence - First observed
cmmn-claim_stage_complete_with_evidence - First observed
cmmn-complete_task - First observed
cmmn-create_event_listener - First observed
cmmn-create_milestone - First observed
cmmn-create_planning_table - First observed
cmmn-create_sentry - First observed
cmmn-create_stage - First observed
cmmn-create_task - First observed
cmmn-evaluate_sentry - First observed
cmmn-execute_stage - First observed
cmmn-execute_task - First observed
cmmn-get_acceptance_criteria - First observed
cmmn-get_execution_flow - First observed
cmmn-get_execution_plan - First observed
cmmn-get_next - First observed
cmmn-get_resume_context - First observed
cmmn-list_added_models - First observed
cmmn-list_discretionary_items - First observed
cmmn-list_items - First observed
cmmn-list_sentries_for_item - First observed
cmmn-mark_sentry_part_satisfied - First observed
cmmn-mark_sentry_satisfied - First observed
cmmn-reset_sentry - First observed
cmmn-reset_stage - First observed
cmmn-reset_task - First observed
cmmn-set_acceptance_criteria - First observed
cmmn-terminate_event_listener - First observed
cmmn-trigger_event - First observed
cmmn-update_sentry - First observed
cmmn-update_stage_status - First observed
cmmn-update_task_status - First observed
cmmn-validate_timer_expression - First observed
cmmn-verify_sentry_edges - First observed
files-find_by_name - First observed
files-list_versions - First observed
files-read - First observed
graph-get_linked - First observed
graph-link - First observed
graph-unlink - First observed
invoices-create - First observed
invoices-delete - First observed
invoices-get - First observed
invoices-get_client - First observed
invoices-get_durations - First observed
invoices-get_expenses - First observed
invoices-link_item - First observed
invoices-list - First observed
invoices-list_unbilled_durations - First observed
invoices-list_unbilled_expenses - First observed
invoices-unlink_item - First observed
invoices-update - First observed
items-add_child - First observed
items-add_documentation - First observed
items-convert_type - First observed
items-create - First observed
items-delete - First observed
items-delete_orphaned - First observed
items-find_by_url - First observed
items-get - First observed
items-get_batch - First observed
items-get_parent - First observed
items-list - First observed
items-list_children - First observed
items-list_documentation - First observed
items-list_orphaned - First observed
items-move - First observed
items-move_to_case - First observed
items-remove_documentation - First observed
items-search - First observed
items-semantic_search - First observed
items-update - First observed
items-upload_file - First observed
messages-broadcast - First observed
messages-list - First observed
messages-read - First observed
messages-send - First observed
meta-desire_paths - First observed
meta-embeddings_backfill - First observed
meta-embeddings_backfill_all - First observed
meta-embeddings_stats - First observed
meta-flush_logs - First observed
meta-get_playbook - First observed
meta-get_started - First observed
meta-preview_email - First observed
meta-tool_stats - First observed
models-add_definition - First observed
models-archive - First observed
models-create - First observed
models-create_from_stage - First observed
models-create_new_version - First observed
models-delete - First observed
models-delete_definition - First observed
models-get - First observed
models-get_for_case - First observed
models-instantiate - First observed
models-list - First observed
models-list_definitions - First observed
models-list_instances - First observed
models-publish - First observed
models-remove_definition - First observed
models-set_visibility - First observed
models-update - First observed
models-update_definition - First observed
models-validate - First observed
preferences-get - First observed
preferences-list_pinned_cases - First observed
preferences-set_brain_case - First observed
preferences-set_current_case - First observed
preferences-toggle_pin - First observed
preferences-update - First observed
process-create_definition - First observed
process-create_task - First observed
process-delete_definition - First observed
process-execute_task - First observed
process-get_definition - First observed
process-list_definitions - First observed
process-update_definition - First observed
sms-configured - First observed
sms-list_messages - First observed
sms-list_templates - First observed
sms-send - First observed
sms-send_template - First observed
tasks-check_todos - First observed
tasks-create_todo - First observed
tasks-list_case_todos - First observed
tasks-list_todos - First observed
tasks-update_todo_status - First observed
tokens-create - First observed
tokens-delete - First observed
tokens-list - First observed
users-disable - First observed
users-enable - First observed
users-get - First observed
users-get_current - First observed
users-get_features - First observed
users-list - First observed
users-set_features - First observed
users-set_products - First observed
users-update_profile - First observed
workspaces-add_case - First observed
workspaces-create - First observed
workspaces-delete - First observed
workspaces-get - First observed
workspaces-get_default - First observed
workspaces-list - First observed
workspaces-list_for_case - First observed
workspaces-remove_case - First observed
workspaces-set_default - First observed
workspaces-update - First observed
worktrees-activate - First observed
worktrees-assign_to_case - First observed
worktrees-create - First observed
worktrees-delete - First observed
worktrees-get - First observed
worktrees-get_case - First observed
worktrees-list - First observed
worktrees-list_for_case - First observed
worktrees-unassign_from_case - First observed
worktrees-update
TDQS
With 203 tools spanning many subdomains, many tools share similar verb patterns (create, get, list, update, delete) across different entities, leading to potential confusion. While each tool is described, the sheer volume and overlap (e.g., cases-add_documentation vs items-add_documentation) reduce clarity.
Tools follow a consistent namespace_prefix_verb_noun pattern (e.g., cases-create, cmmn-complete_task). A few compound names like 'cmmn-claim_complete_with_evidence' break the pattern slightly, but overall naming is predictable.
203 tools is far beyond typical MCP server scope (3-15 tools). This server attempts to cover an entire case management ecosystem, overwhelming agents with choices. A more modular approach with separate servers would be far more coherent.
The tool surface is remarkably comprehensive, covering CRUD for all major entities (cases, items, clients, invoices, workspaces), CMMN workflow execution, AI work items, file management, messaging, and admin functions. No obvious gaps for the intended domain.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Work management where AI agents are first-class members: tasks, projects, memory over hosted MCP
- OctopadOAuthapp.octopad
The back-office workspace for your team's AIs: tasks, knowledge and context shared over MCP.
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
Persistent memory for AI agents with OAuth-backed hosted MCP access.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAI-native productivity backend that gives your AI assistant persistent memory, pattern awareness, and computed intelligence about your work. 14 MCP tools for task management, daily planning, weekly review, and personal context.MIT
- AlicenseNot gradedqualityCmaintenanceEnd-to-end agent-managed company brain. Humans and any MCP agent co-author living docs (Markdown + extensions), 40+ visual diagrams (Mermaid, BPMN, D2, PlantUML, ELK, Excalidraw), plans, and a self-learning Knowledge Graph. 163 tools across 16 categories. Auth: OAuth 2.1 or API key. Lean, secure, affordable — from individuals to enterprise.MIT
- AlicenseNot gradedqualityBmaintenanceGoverned shared memory platform for AI agents and agent fleets. Provides persistent memory, cross-agent knowledge sharing, permissions, audit trails, and multi-tenant isolation through a Model Context Protocol (MCP) server.4486Apache 2.0

agent-taskofficial
FlicenseNot gradedqualityBmaintenanceAgentTask is a governed work platform where human teams and AI agents share one backlog. Hosted remote MCP server (streamable HTTP, OAuth 2.1 or org API keys) with 60+ tools for tasks, subtasks, projects, groups, labels, notes, comments, attachments, search, crews, and agent runs.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/mstang/casemgr-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server