Skip to main content
Glama
chand1012

Polymarket US MCP server

by chand1012

Cancel Multiple Orders

cancel_multiple_orders
Destructive

Cancel up to 20 Polymarket orders in a single batch request, with the entire batch rejected if any order fails request-shape validation.

Instructions

LIVE ACCOUNT ACTION: Cancel up to 20 orders in a single request. If any entry fails request-shape validation, the whole batch is rejected by the gateway before reaching the exchange. The exchange may silently ignore unknown orderIds. canceledOrderIds is an echo of the request, not a confirmation; observe actual outcomes on the order stream. This operation may affect real funds or account state. Returned IDs may not confirm exchange execution; verify the outcome.

Input Schema

NameRequiredDescriptionDefault
bodyYesBatched cancel-order request.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

Goes well past the annotations (destructiveHint, openWorldHint, idempotentHint=false) by disclosing batch atomicity on request-shape validation ('the whole batch is rejected by the gateway'), that the exchange may silently ignore unknown orderIds, and that canceledOrderIds is only an echo of the request. It also tells the agent where truth lives, the order stream, which annotations cannot convey.

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-loads the live-account warning, then layers validation, silent-ignore, and return-value caveats in a tight sequence. The closing line ('Returned IDs may not confirm exchange execution; verify the outcome') restates the earlier 'echo of the request, not a confirmation' point, so the last sentence is partly redundant.

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 destructive, non-idempotent batch mutation with no output schema, the description covers everything an agent needs: real-funds risk, all-or-nothing validation, per-item silent-ignore behavior, and the fact that the response is not confirmation. No material gap remains for correct invocation or outcome verification.

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

Parameters5/5

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

Schema coverage is 100% and already documents orderId, marketSlug and the 1-20 bound, so the baseline is 3. The description earns above baseline by adding semantics the schema cannot: unknown orderIds may be silently ignored and the echoed IDs are not proof of execution. That changes how an agent constructs and trusts the request body.

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?

States a specific verb and resource with a hard scope bound: 'Cancel up to 20 orders in a single request.' That bound plus the batch framing distinguishes it from single-order cancel_order and from cancel_all_open_orders without needing to open any schema.

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

Usage Guidelines3/5

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

Usage context is implied by 'LIVE ACCOUNT ACTION' and the batch limit, so an agent knows this is a production mutation for a known list of orders. However, no sibling is named and no explicit condition says when to prefer this over cancel_order or cancel_all_open_orders. The guidance about verifying on the order stream is about behavior, not tool selection.

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