Polymarket in your AI: market rules, real fill costs, who is trading, top traders. Read-only.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use this when the user asks how liquid a Polymarket market is, how much a trade of a given size would really cost, how far it would move the price, or what the order book looks like. Returns the live book for one outcome: best levels, spread, dollar depth near the mid and which side is heavier. With amount it walks the book level by level for a market order (dollars to spend when buying, shares when selling) and returns shares filled, average and worst price, slippage against the mid, Polymarket's taker fee and the breakeven probability.
A polymarket.com link, or a market or event slug from pm_search.
buy (default) or sell.
For buy: dollars to spend. For sell: number of shares to sell. Omit to see the book only.
Which outcome: "Yes"/"No", a team name, or for a multi-outcome event the outcome label ("25 bps decrease"). Default: the first outcome (usually Yes).
Use this when the user asks how liquid a Polymarket market is, how much a trade of a given size would really cost, how far it would move the price, or what the order book looks like. Returns the live book for one outcome: best levels, spread, dollar depth near the mid and which side is heavier. With amount it walks the book level by level for a market order (dollars to spend when buying, shares when selling) and returns shares filled, average and worst price, slippage against the mid, Polymarket's taker fee and the breakeven probability.
| Argument | Type | Description |
|---|---|---|
| side | string | buy (default) or sell. |
| amount | number | For buy: dollars to spend. For sell: number of shares to sell. Omit to see the book only. |
| market* | string | A polymarket.com link, or a market or event slug from pm_search. |
| outcome | string | Which outcome: "Yes"/"No", a team name, or for a multi-outcome event the outcome label ("25 bps decrease"). Default: the first outcome (usually Yes). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"market"
],
"properties": {
"side": {
"enum": [
"buy",
"sell"
],
"type": "string",
"default": "buy",
"description": "buy (default) or sell."
},
"amount": {
"type": "number",
"maximum": 100000000,
"description": "For buy: dollars to spend. For sell: number of shares to sell. Omit to see the book only.",
"exclusiveMinimum": 0
},
"market": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "A polymarket.com link, or a market or event slug from pm_search."
},
"outcome": {
"type": "string",
"maxLength": 200,
"description": "Which outcome: \"Yes\"/\"No\", a team name, or for a multi-outcome event the outcome label (\"25 bps decrease\"). Default: the first outcome (usually Yes)."
}
},
"additionalProperties": false
}Use this when the user asks who is buying or selling a Polymarket market, why its price moved, where the money is going, who the biggest holders are, or (with no market) what the whales are doing across Polymarket. For a market or event: dollars traded and net direction per outcome, distinct wallets, the largest trades, the wallets that moved the most money, and for a single market the biggest current holders. With no market: the largest trades across all of Polymarket and the markets drawing that money. Traders appear by public username when they set one; pass a wallet to pm_portfolio for its full track record.
| Argument | Type | Description |
|---|---|---|
| hours | integer | Look-back window in hours (1–168, default 24). |
| market | string | A polymarket.com link, or a market or event slug from pm_search. Omit to see the largest trades across all of Polymarket. |
| min_usd | number | Without a market: only trades of at least this many dollars (default $10,000). |
| outcome | string | For a multi-outcome event: limit to one outcome by its label. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"hours": {
"type": "integer",
"default": 24,
"maximum": 168,
"minimum": 1,
"description": "Look-back window in hours (1–168, default 24)."
},
"market": {
"type": "string",
"maxLength": 500,
"description": "A polymarket.com link, or a market or event slug from pm_search. Omit to see the largest trades across all of Polymarket."
},
"min_usd": {
"type": "number",
"default": 10000,
"maximum": 1000000,
"minimum": 1000,
"description": "Without a market: only trades of at least this many dollars (default $10,000)."
},
"outcome": {
"type": "string",
"maxLength": 200,
"description": "For a multi-outcome event: limit to one outcome by its label."
}
},
"additionalProperties": false
}Use this when the user asks who the best or biggest Polymarket traders are, who made the most money today, this week, this month or all time, or who leads in a category (politics, sports, crypto, economics, finance, culture, tech, weather, mentions). Returns Polymarket's own leaderboard ranked by profit or by volume, with usernames and wallet addresses to pass to pm_portfolio.
| Argument | Type | Description |
|---|---|---|
| by | string | Rank by profit and loss (pnl, default) or by dollar volume. |
| limit | integer | Rows to return (1–25, default 10). |
| period | string | day, week (default), month or all. |
| category | string | overall (default) or one category. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"by": {
"enum": [
"pnl",
"volume"
],
"type": "string",
"default": "pnl",
"description": "Rank by profit and loss (pnl, default) or by dollar volume."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 25,
"minimum": 1,
"description": "Rows to return (1–25, default 10)."
},
"period": {
"enum": [
"day",
"week",
"month",
"all"
],
"type": "string",
"default": "week",
"description": "day, week (default), month or all."
},
"category": {
"enum": [
"overall",
"politics",
"sports",
"crypto",
"economics",
"finance",
"culture",
"tech",
"weather",
"mentions"
],
"type": "string",
"default": "overall",
"description": "overall (default) or one category."
}
},
"additionalProperties": false
}Use this when the user asks about one Polymarket market or event: its price, what exactly decides how it resolves, whether an outcome has been proposed or disputed, when it ends, its fees, or how it has moved. Returns prices, bid/ask and spread, change over 1h/24h/7d/30d with a 30-day range, volume and liquidity, taker fees, the resolution rules verbatim with their named source, and the live resolution status (not proposed / proposed and in its challenge window / disputed / resolved). For a multi-outcome event it lists every outcome and whether the prices add up to 100¢; add outcome to drill into one. Accepts a polymarket.com link or a slug from pm_search.
| Argument | Type | Description |
|---|---|---|
| market* | string | A polymarket.com link, or a market or event slug from pm_search. |
| outcome | string | For a multi-outcome event: the outcome label to show in detail ("25 bps decrease"). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"market"
],
"properties": {
"market": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "A polymarket.com link, or a market or event slug from pm_search."
},
"outcome": {
"type": "string",
"maxLength": 200,
"description": "For a multi-outcome event: the outcome label to show in detail (\"25 bps decrease\")."
}
},
"additionalProperties": false
}Use this when the user asks what is moving, trending or changing on Polymarket, what moved overnight or this week, or for the biggest gainers and losers. Ranks the 300 most-traded open markets by price change over the last hour, day, week or month, with old and current price, the move in percentage points, 24h volume and the slug for follow-ups (pm_flow shows who moved it). Markets that are merely settling and live sports games are left out unless include_games is true.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Rows to return (1–20, default 10). |
| window | string | Look-back window: 1h, 24h (default), 7d or 30d. |
| direction | string | both (default), up only, or down only. |
| include_games | boolean | Include individual sports games, whose prices move with the score (default false). |
| min_volume_24h_usd | number | Skip markets that traded less than this in the last 24h (default $10,000). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1,
"description": "Rows to return (1–20, default 10)."
},
"window": {
"enum": [
"1h",
"24h",
"7d",
"30d"
],
"type": "string",
"default": "24h",
"description": "Look-back window: 1h, 24h (default), 7d or 30d."
},
"direction": {
"enum": [
"both",
"up",
"down"
],
"type": "string",
"default": "both",
"description": "both (default), up only, or down only."
},
"include_games": {
"type": "boolean",
"default": false,
"description": "Include individual sports games, whose prices move with the score (default false)."
},
"min_volume_24h_usd": {
"type": "number",
"default": 10000,
"minimum": 0,
"description": "Skip markets that traded less than this in the last 24h (default $10,000)."
}
},
"additionalProperties": false
}Use this when the user asks what a Polymarket trader or wallet holds, how good a trader is, or wants to size up a wallet seen in pm_flow. Returns the track record (all-time and 30-day profit and loss, volume, leaderboard rank, markets traded), open positions with entry and current price, unrealized P&L, exposure grouped by event, settled winnings not yet redeemed, and recent trades. Accepts a 0x wallet address, a polymarket.com profile link or a Polymarket username. Public on-chain data only.
| Argument | Type | Description |
|---|---|---|
| wallet* | string | 0x wallet address, polymarket.com profile link (…/@name or …/profile/0x…), or Polymarket username. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"wallet"
],
"properties": {
"wallet": {
"type": "string",
"maxLength": 300,
"minLength": 2,
"description": "0x wallet address, polymarket.com profile link (…/@name or …/profile/0x…), or Polymarket username."
}
},
"additionalProperties": false
}Use this first when the user asks what Polymarket thinks about a topic, how likely something is, or names a market without a link. Searches every Polymarket market by keyword (Polymarket's own full-text search) or by a polymarket.com link and returns events with all their outcomes, current prices, 24h volume and end dates, plus the slug to pass to the other tools. Use status='resolved' for past markets and how they settled.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Number of events to return (1–10, default 5). |
| query* | string | Keywords ("fed october", "bitcoin 150k", "house 2026") or a polymarket.com link. |
| status | string | open (default), resolved, or all. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 5,
"maximum": 10,
"minimum": 1,
"description": "Number of events to return (1–10, default 5)."
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Keywords (\"fed october\", \"bitcoin 150k\", \"house 2026\") or a polymarket.com link."
},
"status": {
"enum": [
"open",
"resolved",
"all"
],
"type": "string",
"default": "open",
"description": "open (default), resolved, or all."
}
},
"additionalProperties": false
}