Polymarket US
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Polymarket US for Roost
An MCP server for your own Polymarket US account. It is an official Roost server: Roost downloads the release file from this repository, checks its SHA-256, and runs it on your hub with your own key. Your key stays on your hub. It never goes to Roost.
Polymarket US is the CFTC-regulated exchange at api.polymarket.us. This is not the international Polymarket (Polygon CLOB).
Set up in Roost
Make a key. Open the Polymarket US app, make an account, and finish identity verification. Then open polymarket.us/developer, sign in the same way as in the app, and click to create a key. Copy the Key ID and the Secret key. The secret key is shown only once.
In Roost, open Marketplace, find Polymarket US (it has the By Roost chip), and click Set up.
Paste the Key ID and the Secret key. Keep Largest order (USD) at 50, or change it.
Click Connect. Roost downloads the server, checks it, starts it, and checks the key with
get_balances. A key that Polymarket US refuses is not saved.
The money tools are on, as other tools are, and they follow each bot's access: a bot with "Ask first" asks you, and a bot with Full access does not. The switch Ask every time on the app page (off by default) makes each money tool ask you before each call, also for a bot with Full access and in saved automations. To stop one tool, turn it off on the app page.
Related MCP server: QuantRisk
Tools
Tool | What it does | Key |
| Search events and markets by words | No |
| One market by its slug | No |
| The order book and stats of a market | No |
| YES and NO prices over time | No |
| Cash balance and buying power | Yes |
| Positions by market slug | Yes |
| Trades, resolutions, deposits, withdrawals | Yes |
| Open orders | Yes |
| One order by its ID | Yes |
| Check an order and its expected cost. Sends no order | Yes |
Money tools
These place, change, or cancel live orders with real money.
Tool | What it does |
| Place a LIMIT or MARKET order |
| Change the price, quantity, or time in force of an open order |
| Cancel one open order |
| Cancel every open order, or every open order in one market |
| Close the whole position in one market at the market price |
Orders that this server sends carry MANUAL_ORDER_INDICATOR_AUTOMATIC, so Polymarket US can see that a program sent them.
Checks before an order
Largest order. An order whose estimated notional is over the largest order is refused here and never sent. At the largest order is allowed.
LIMIT (and
modify_orderwith a price and a quantity): price × quantity.MARKET: the price that you give, else the best ask for a buy and the best bid for a sell. With neither, the order is refused.
close_position: |net position| × the best bid (long) or the best ask (short). When that cannot be estimated, the close goes on.Prices are for the YES side, from 0 to 1 USD.
Orders a minute. At most 10 orders (place, modify, close) in one minute. A cancel is never limited.
Rate limit. Polymarket US allows 25 requests a second for each address. The server keeps 40 ms between requests. A read that gets a 429 waits 1 second, then 2 seconds, and tries again. An order that gets a 429 is not sent again.
Rule 5.2(i) of the Polymarket US Rulebook asks automated trading systems for "order throttles, price collars, and kill switches". The largest order and the orders a minute limit are the throttles. cancel_all_orders is the kill switch, and turning a money tool off in Roost stops it at once. There is no price collar yet: the server only checks that a price is above 0 and below 1.
Errors
A failed call returns isError: true and structuredContent.error with class and message:
Class | Meaning |
| The key is missing, refused, or the hub clock is off ("Check the clock of the hub.") |
| The input or the order is wrong, or Polymarket US refused it (with its message) |
| A check of this server refused it, such as the largest order |
| Polymarket US did not answer or was slow. Try again |
| Too many requests or orders. Wait, then try again |
| Anything else |
No message, result, or log carries the secret key.
Environment
Roost sets these when it starts the server. You need them only to run it by hand.
Variable | Default | Purpose |
| none | The Key ID |
| none | The Secret key (base64) |
|
| The largest order in USD |
|
| Orders in one minute |
With no key, only the four public tools work.
Develop
bun install
bun test # against a fake Polymarket US; no network, no real key
bun run typecheck
bun run build # dist/roost-mcp-polymarket-us.js, one file, no install step
bun run drift # compare the vendor's public OpenAPI files with openapi/The server has no runtime dependencies. @modelcontextprotocol/sdk is only for the stdio test.
Release
Set
versioninpackage.json(for example0.1.0), then push the tagv0.1.0.The Release workflow tests, builds, and publishes
roost-mcp-polymarket-us.jsandroost-mcp-polymarket-us.js.sha256as release assets.In the Roost repository, set the Polymarket US row of
app-catalog.jsonto the new tag and the SHA-256 from the.sha256file. Each hub downloads the new file the next time it starts the server.
Upkeep
The vendor's API can change. The Vendor API drift workflow runs each Monday and fails when the public OpenAPI files differ from openapi/. Read the changelog, fix the tools, then run bun scripts/drift.ts --write. SOURCE.md lists each vendor page and the date it was read.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Live prices, perps, prediction markets and a paper trading desk over one MCP.
Keyless prediction-market data across 12 venues plus paper-trading of crypto spot, futures, and PM.
Markets, strategies with a measured record and your own account, for any AI. Read-only.
Place and inspect orders on your own exchange accounts from an MCP-connected agent.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables users to search, analyze, and trade on Kalshi prediction markets directly through MCP-compatible clients. It supports portfolio management, market data retrieval, and limit order execution with production-grade authentication and rate limiting.22 PyPI1MIT
- FlicenseAqualityCmaintenanceEnables agents to generate alpha signals, retrieve market snapshots, compute portfolio risk, validate and submit paper orders, and trigger a kill switch, all under deterministic pre-trade risk controls and audit logging.5-

@hashpower/mcpofficial
AlicenseAqualityBmaintenanceEnables agents to learn Hashpower market rules, read live on-chain data, and simulate orders without holding keys or entering the production trade path.1249 npmMIT- FlicenseAqualityCmaintenanceEnables read-only, bounded quantitative-research workflows with schema compatibility checking and server capability discovery, without exposing market data or live trading.1-