Skip to main content
Glama

Polymarket Fill Risk

polymarket_fill_risk
Read-onlyIdempotent

Realizable-vs-theoretical edge check against live CLOB order-book depth. REQUIRES one of market (single-market mode) or event (basket/partition mode). SINGLE-MARKET: pass a market slug/URL + side (buy_yes|sell_yes|buy_no|sell_no, default buy_yes) + size_usd (default 1000 — max spend on buys, target proceeds on sells); walks the ladder and returns top_of_book, vwap_fill_price, slippage_pp, shares_filled, max_fillable_usd, and a verdict (clean|degraded|cannot_fill). BASKET: pass an event slug/URL + side (sell_yes = capture overround by selling every leg, buy_yes = capture underround; default auto from partition sum) + size_usd interpreted as settlement notional S (shares per leg; each share pays $1); returns theoretical_sum vs realizable_sum (top-of-book vs VWAP across all legs), capture_ratio, profit_usd at executed size, per-leg fill detail, thin_legs[], max_clean_notional_usd, and forced_directional_risk naming the legs most likely to strand you unhedged. USE THIS before acting on any polymarket_arbitrage SELL/BUY-EVERY-LEG signal or any polymarket_edges trade above ~$500 — theoretical overround on thin books is not capturable, and partial basket fills convert an arb into an unhedged directional position (the dominant loss mode in real arb-bot P&L).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sideNoSingle-market: buy_yes | sell_yes | buy_no | sell_no (default buy_yes). Basket: sell_yes | buy_yes (default auto — sell if partition sum > 1, buy if < 1).
eventNoBasket mode: event slug or full polymarket.com URL — checks every leg of the partition.
marketNoSingle-market mode: market slug or full polymarket.com URL.
size_usdNoSingle-market: USD to spend (buys) or target proceeds (sells). Basket: settlement notional — shares per leg, each paying $1 at resolution. Default 1000, clamp 10–1,000,000.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Added
  2. Removed
  3. Added

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. The description adds meaningful behavioral detail: it walks the order-book ladder, returns fill metrics, identifies 'thin_legs', and warns about forced_directional_risk. It does not contradict annotations and provides context about what the tool returns, though it does not mention latency or data freshness.

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

Conciseness5/5

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

Though long, the description is tightly structured with clear mode sections (SINGLE-MARKET / BASKET), and every sentence contributes necessary operational detail or risk context. It is front-loaded with the core purpose and uses capitalization effectively for key terms. No filler or redundancy exists.

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?

With no output schema, the description compensates by listing the key returned values for both modes (top_of_book, vwap_fill_price, slippage_pp, verdict; for basket: theoretical_sum, realizable_sum, capture_ratio, thin_legs, forced_directional_risk). It also covers prerequisites (market/event slug), defaults, and failure modes. The description is fully self-contained for a complex two-mode tool.

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 description coverage is 100%, so the baseline is 3. The description goes beyond the schema by clarifying mode-specific behavior: 'size_usd' is 'max spend on buys, target proceeds on sells' in single-market mode and 'settlement notional' in basket mode; 'side' has an 'auto' default in basket mode based on partition sum. This adds real interpretive value beyond the property descriptions.

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?

The description opens with a precise verb-object statement: 'Realizable-vs-theoretical edge check against live CLOB order-book depth.' It clearly distinguishes the two modes (single-market vs basket) and explicitly differentiates from siblings by tying to polymarket_arbitrage and polymarket_edges, so purpose and scope are unambiguous.

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?

The description includes an explicit 'USE THIS before acting on any polymarket_arbitrage SELL/BUY-EVERY-LEG signal or any polymarket_edges trade above ~$500' instruction, explains why (partial basket fills convert arb into an unhedged directional position), and covers mode selection, defaults, and size_usd interpretation. This is ideal when-to-use guidance with rationale.

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.

TDQS

A3.8/5.0
Disambiguation2/5

Many tools have heavily overlapping purposes: ask_pipeworx, ask_pipeworx_beta, ask_pipeworx_grounded, deep_research, discover_tools, and suggest_questions all serve lookup/discovery in similar ways, and the five polymarket_* tools plus bet_research blur together. The six genuinely GovInfo-specific tools are distinct, but an agent would struggle to pick between the numerous meta and market tools, especially when the server is supposed to be about government information.

Naming Consistency3/5

Most tools follow a readable verb_noun pattern (list_collections, search_packages, get_granule, resolve_entity), but there are deviations: domain-prefixed nouns like polymarket_arbitrage, noun-ish names like pipeworx_trending, and verb phrases like ask_pipeworx_beta or generate_llms_txt. Overall it is mixed yet still navigable, not chaotic.

Tool Count2/5

36 tools is excessive for a server named Govinfo: only about six tools (list_collections, search_packages, get_package, list_granules, get_granule, search_within) actually serve that domain, while the remaining ~30 are Pipeworx meta-tools, prediction-market helpers, memory utilities, and AI-visibility checks. The count is bloated relative to the apparent scope and dilutes the server's identity.

Completeness3/5

The core GovInfo workflow is present — list collections, search packages, fetch package metadata, list and fetch granules, and semantically search within fetched text. However, there is no tool that directly downloads or returns the full text/PDF/XML content of a package or granule; agents only get links, so a full-document workflow requires an external fetch. The unrelated tools do not fill that gap and instead distract from the domain.