polymarket-us-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| POLYMARKET_US_GATEWAY | No | Base URL of the public Polymarket US gateway. Defaults to https://gateway.polymarket.us. | https://gateway.polymarket.us |
| POLYMARKET_US_TIMEOUT | No | Timeout in seconds for gateway requests. Defaults to 20. | 20 |
| POLYMARKET_US_LOG_LEVEL | No | Log level for the server. Defaults to WARNING; set to INFO to log every gateway request to stderr. | WARNING |
| POLYMARKET_US_MAKER_FEE | No | Optional maker fee (rebate) rate. Defaults to -0.0125. | -0.0125 |
| POLYMARKET_US_TAKER_FEE | No | Optional taker fee rate. Defaults to 0.06; the market's own feeCoefficient is used when present. | 0.06 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pmus_searchA | Search Polymarket US events by text. Returns compact event + market summaries with current best bid/ask so you can pick a market slug for deeper tools. |
| pmus_list_eventsA | List events with filters and pagination. Each event includes its markets with best bid/ask and implied probability. Use offset to page. |
| pmus_get_eventA | Get one event with all of its markets, rules excerpt, tags, and quotes. |
| pmus_list_marketsA | List markets directly (flat, not grouped by event). For an event's markets prefer pmus_get_event — the gateway's eventSlug filter is unreliable. |
| pmus_get_marketA | Get one market: rules/settlement text, tick size, fee coefficient, sides, quotes. |
| pmus_get_bboB | Best bid/offer snapshot: bid, ask, last trade, depth counts, open interest, long/short display quotes, and market state. |
| pmus_get_order_bookB | Order book (bids and offers, best first) with per-level price and quantity, cumulative size, and market stats. |
| pmus_get_settlementA | Settlement result for a closed market (1 = YES, 0 = NO, 0.5 = void/50-50). Returns settled=false if the market has not settled yet. |
| pmus_get_price_historyA | Historical long (YES, from best ask) and short (NO, from 1 - best bid) prices. Note: the gateway currently returns empty history for many markets. |
| pmus_list_seriesB | List series (recurring groupings like 'nfl-2025', 'fed', 'us-midterms-2026'). |
| pmus_list_sportsA | List sports/leagues supported by Polymarket US with their tag and series ids. |
| pmus_list_tagsA | List tags, or fetch one tag with its subtags. Tag slugs feed pmus_list_events(tag_slug=...). |
| pmus_analyze_spreadA | Full spread + fee + payoff breakdown for one market: bid/ask/mid, spread in ticks, taker vs maker economics for long-YES and short-NO, breakeven probabilities, annualized ROI to end date, inside-spread resting-order ladder, depth near the touch, and (optionally) execution simulation for a given size. |
| pmus_scan_extreme_marketsA | Scan active markets for extreme implied probabilities (heavy favorites >= high_threshold and long shots <= low_threshold). For each, computes the fee-adjusted 'yield to settlement' of betting WITH the market (buy YES on favorites, short NO on long shots), annualized to the end date, plus spread width and whether resting inside the spread beats crossing. Uses event snapshot quotes; confirm with pmus_analyze_spread before acting. |
| pmus_event_basketA | Price the whole outcome set of an event: sum of asks and bids after fees, the overround, and the locked P&L from buying every YES or shorting every market IF the outcomes are mutually exclusive. Surfaces mispricing across a spread family. |
| pmus_line_ladder_checkA | Check an event's spread and total ladders for impossible pricing. A harder line can never be more likely than an easier one (win by 3+ <= win by 2+, over 10.5 <= over 9.5, underdog +1.5 <= +2.5). When the harder line's bid is above the easier line's ask, buying the easier line and shorting the harder one locks in profit after taker fees. Reports locked P&L per pair, the size available at the touch on both legs, and label conflicts (question vs rules text) on spread markets. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 16 tools
Most tools have clearly distinct purposes: get_bbo provides top-of-book snapshot while get_order_book gives full depth; event_basket and line_ladder_check both target mispricing but at different scopes (event-wide vs line ladders). A couple of tools (e.g., list_events vs search) overlap thematically, but descriptions are specific enough to avoid confusion.
All tools share the pmus_ prefix, and most follow a verb-first convention (get_, list_, search, analyze, scan). However, event_basket and line_ladder_check break the pattern by using noun phrases rather than imperative verbs, which is a minor deviation from an otherwise consistent scheme.
With 16 tools, the server sits at the boundary of the 'heavy' range. Each tool has a distinct data or analysis role, but some reference lists (series, sports, tags) could potentially be consolidated, and the overall count starts to feel cluttered for the apparent scope.
For a read-only market data and analysis API, the coverage is thorough: quoting, order book, event/market retrieval, price history, settlement, plus advanced spread and arbitrage analysis. There are no obvious dead ends or missing operations within the server's stated purpose.