List cards
list_cardsPOST /api/cards for the authenticated agent. No client_id argument.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
list_cardsPOST /api/cards for the authenticated agent. No client_id argument.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds useful behavioral context by naming the exact endpoint and indicating the operation is scoped to the authenticated agent. It does not describe return values or pagination, but that is a minor gap given the strong annotation coverage.
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 with no filler. The endpoint and scope are front-loaded, and the clarification about client_id is a useful final note. 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 zero-parameter, read-only list operation with annotations already covering the safety profile, the description provides enough to call the tool: the endpoint, the auth scope, and the absence of a client_id requirement. It does not explicitly say that a list of cards is returned, but the title and endpoint make that sufficiently clear.
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 and 100% schema description coverage, so there is little parameter burden. The description usefully confirms that no client_id argument is expected, which helps prevent an agent from inventing a parameter based on sibling tools. This goes slightly beyond the empty schema, earning a 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?
The description identifies the resource (/api/cards), the HTTP method (POST), and the scope (authenticated agent), and the title conveys the listing operation. It is concrete but does not explicitly state 'lists the agent's cards' in the description, and the POST method could initially be misread as a create operation, so it does not fully distinguish itself from create_card.
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 'for the authenticated agent' implies this tool is for retrieving the current agent's own cards, and 'No client_id argument' hints that no client_id is needed. However, there is no direct guidance about when to choose this over siblings like list_card_products or get_card_details, and no explicit exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.