Skip to main content
Glama
stupidprogrammer4

digikala-mcp

Reconcile Cart Operation

reconcile_cart_operation

Resolve an uncertain cart operation by reading the cart and updating only the local journal. It never replays mutations, confirms current state, and flags executing records for operator review.

Instructions

Read the cart to resolve an uncertain operation; updates only the local journal.

Never replays mutations or steals executing ownership. Matching contents confirm the current state, not which actor changed it. Executing records need operator investigation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
operation_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindYes
planNo
stateYes
reasonNo
resultNo
expiredNo
operation_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior5/5

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

Annotations only supply readOnlyHint=false, destructiveHint=false, openWorldHint=true. The description adds the crucial side-effect scope (updates only the local journal), the negative guarantees (never replays mutations, never steals executing ownership), and the interpretation limit of matching contents. This is behavioral context the agent cannot get from structured fields.

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

Conciseness4/5

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

Four short, front-loaded sentences; the primary action leads and each subsequent sentence adds a distinct constraint (journal-only write, no replay, matching semantics, operator escalation). Dense but every clause earns its place.

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

Completeness4/5

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

With an output schema present, return values need not be described, and the annotations plus description cover safety and side effects well. The remaining gap is parameter meaning for operation_id, which neither schema nor description supplies.

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

Parameters3/5

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

Schema coverage is 0% for the single operation_id parameter (pattern-constrained string), so the schema gives no meaning. The description conveys that an operation record is being reconciled and that 'executing' is a state such records can hold, but it never explains what operation_id identifies or how to obtain it.

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

Purpose4/5

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

States a specific verb (reconcile) and resource (a cart operation), and clarifies the mechanism: reads the cart but only writes the local journal. This clearly separates it from read-oriented siblings like read_cart and get_cart_operation, though it never names those siblings explicitly.

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

Usage Guidelines4/5

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

Establishes the triggering context ('resolve an uncertain operation') and gives a when-not rule ('Executing records need operator investigation'), telling the agent to stop rather than auto-reconcile. It stops short of naming an explicit alternative tool for the operator-investigation case.

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