Skip to main content
Glama

Wait for a deal to change

market_wait
Read-onlyIdempotent

Waits until one of the person's deals changes, then answers at once; answers changed: false after timeout_seconds (default 25; a longer value waits at most 50). Call it instead of asking market_deal_log again and again: when the person waits for the other side to approve, or a seller waits for offers. A change is one the other side or Agent Market made, or the person sending back, cancelling or declining a deal. Each change says what happened and the deal's status now; a bound deal carries the other side's email in contact. Send since: wait_cursor from the last answer, so no change is missed; without it the wait starts after the last change a market_wait told this owner_key, or its last market_deal_log list. If an answer is lost, market_deal_log still shows every deal as it is now. A buyer's question is not a deal change: market_deal_log lists questions. One wait per owner_key at a time: a newer call ends the older one.

Input Schema

NameRequiredDescriptionDefault
sinceNoOptional: wait_cursor from the last market_wait or market_deal_log answer.
owner_keyYesThe owner_key from the person's first market_make_offer or market_create_listing (or from market_sign_in). Keep it private to this conversation.
timeout_secondsNoHow long to wait for a change, in seconds. Default 25; a longer value waits at most 50. Keep it under your client's call timeout.

Output Schema

NameRequiredDescriptionDefault
changedYes
changesYes
next_stepYesWhat to do next, in one or two sentences.
next_actionYesWhat to do next, as a code: the same advice as next_step.
wait_cursorYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations mark this read-only and idempotent, and the description still adds substantial operational context beyond them: the default 25-second timeout with a hard cap at 50, the changed:false answer on timeout, the one-wait-per-owner_key constraint where 'a newer call ends the older one', and the recovery path ('if an answer is lost, market_deal_log still shows every deal as it is now'). The cursor-continuation behavior is also disclosed.

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?

Front-loaded with the core behavior and the polling alternative, then layers the operational details. It is dense with semicolon-chained clauses, and the sentence describing what a change payload contains overlaps the output schema, so it is efficient but not maximally tight.

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

Completeness5/5

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

For a long-poll style tool with three parameters and an output schema, the definition covers timeout bounds, timeout outcome, cursor continuity, concurrency limits, and the fallback if a response is lost. Nothing an agent needs to call it safely is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, and the description exceeds it by explaining what omitting 'since' does — the wait resumes after the last change reported to this owner_key, or after its last market_deal_log list. It also warns to keep timeout_seconds under the client's call timeout. There is some repetition of the schema's own wait_cursor wording rather than added depth on the cursor format.

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

Purpose5/5

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

Names a specific verb and resource ('waits until one of the person's deals changes, then answers at once') and immediately distinguishes the tool from its polling sibling market_deal_log. The definition also separates a deal change from a buyer's question, which no sibling name makes obvious.

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

Usage Guidelines5/5

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

Explicitly routes the agent: 'Call it instead of asking market_deal_log again and again', with two concrete scenarios (waiting for the other side to approve, a seller waiting for offers) and the exclusion that questions are not deal changes and belong to market_deal_log. When-to-use and when-not-to-use are both covered.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources