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.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already mark the tool as readOnly, idempotent, and non-destructive. The description adds rich behavioral detail beyond that: it walks the CLOB order book ladder, returns specific fields (top_of_book, vwap_fill_price, slippage_pp, etc.), and for basket mode explains per-leg fill details, thin_legs identification, and forced directional risk. No contradiction with annotations.

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?

The description is relatively long but every sentence adds value. It is well-structured: first a one-sentence core purpose, then single-market mode details, then basket mode details, then usage guidance. It is front-loaded with the most important information. Could potentially be slightly shorter but appropriate given complexity.

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?

Despite the absence of an output schema, the description comprehensively lists all return fields for both modes (e.g., top_of_book, vwap_fill_price, verdict, per-leg fill details, thin_legs, max_clean_notional_usd, forced_directional_risk). It also explains the meaning of results (e.g., 'capture_ratio', 'profit_usd'). Given the tool's complexity, this is complete and actionable.

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?

Input schema coverage is 100%, but the description adds meaningful context: clarifies that size_usd means 'max spend on buys, target proceeds on sells' in single-market mode and 'settlement notional S (shares per leg)' in basket mode. It also explains the default side auto-detection in basket mode. These details enhance understanding beyond the schema 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 specific verb and resource: 'Realizable-vs-theoretical edge check against live CLOB order-book depth.' It immediately distinguishes two modes (single-market and basket) and explicitly names sibling tools (polymarket_arbitrage, polymarket_edges) that this tool is meant to precede. The purpose is unambiguous and complete.

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 usage directive: 'USE THIS before acting on any polymarket_arbitrage SELL/BUY-EVERY-LEG signal or any polymarket_edges trade above ~$500.' It also warns when not to rely on theoretical edge (thin books, partial fills) and explains the specific risk of not using the tool (unhedged directional position). This is exemplary usage guidance.

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.7/5.0
Disambiguation2/5

The four card tools are distinct, but the majority of the server is a Pipeworx/prediction-market platform with heavily overlapping entry points: ask_pipeworx, ask_pipeworx_beta, ask_pipeworx_grounded, deep_research, and discover_tools all serve similar query/discovery purposes, and ask_pipeworx_beta is explicitly an identical twin of ask_pipeworx. The six Polymarket tools and the ai_visibility/scan_competitor pair also have fuzzy boundaries that would make tool selection error-prone.

Naming Consistency2/5

All names are snake_case, but the pattern is highly inconsistent: some are verb_noun (get_card, search_cards, resolve_entity), some are bare verbs (remember, forget), some are noun-first (polymarket_edges, entity_profile, bet_research), and some are adjective_noun (recent_alerts, recent_changes). The ask_pipeworx variants share a name but differ only by suffix, which is not a clear action-oriented pattern.

Tool Count2/5

35 tools is squarely in the 'too many' territory, and the bloat is worse because the server is named Tcgdex while only 4 of 35 tools actually relate to trading cards. The remaining 31 tools form a sprawling multi-domain platform that mixes data queries, prediction markets, memory, subscriptions, AI visibility checks, and one-off utilities like generate_llms_txt and scan_dependency.

Completeness4/5

For the TCGdex card surface, the read-only workflows are covered well: search_cards leads to get_card, and list_sets leads to get_set, with no obvious dead ends. For the broader Pipeworx functionality, the set includes discovery, query, grounding, entity resolution, memory, subscriptions, and feedback, so the main workflows are supported—though the overall scope is sprawling rather than focused.