A Model Context Protocol (MCP) server that provides access to Polymarket's prediction market APIs.
The Polymarket API has three components:
Auth Model: For authenticated operations (order creation, cancellation), API key must be provided with every tool call. The server is stateless and does not store authentication credentials between requests.
MCP Type: Third-party integration (auth required for trading operations only)
polymarket_get_marketsGet list of markets from Polymarket.
Arguments:
| Argument | Type | Required | Description |
|---|---|---|---|
limit | integer | ❌ No | Maximum markets to return (1-1000, default: 100) |
offset | integer | ❌ No | Skip N markets for pagination (default: 0) |
active | boolean | ❌ No | Filter by active status |
polymarket_get_marketGet detailed information about a specific market by ID.
Arguments:
| Argument | Type | Required | Description |
|---|---|---|---|
market_id | string | ✅ Yes | Market ID to retrieve |
polymarket_get_eventsGet list of events from Polymarket.
Arguments:
| Argument | Type | Required | Description |
|---|---|---|---|
limit | integer | ❌ No | Maximum events to return (1-1000, default: 100) |
offset | integer | ❌ No | Skip N events for pagination (default: 0) |
polymarket_get_user_positionsGet user positions by wallet address.
Arguments:
| Argument | Type | Required | Description |
|---|---|---|---|
user_address | string | ✅ Yes | Ethereum wallet address to query |
polymarket_get_user_tradesGet user trade history by wallet address.
Arguments:
| Argument | Type | Required | Description |
|---|---|---|---|
user_address | string | ✅ Yes | Ethereum wallet address to query |
limit | integer | ❌ No | Maximum trades to return (1-1000, default: 100) |
offset | integer | ❌ No | Skip N trades for pagination (default: 0) |
polymarket_get_orderbookGet orderbook for a specific market.
Arguments:
| Argument | Type | Required | Description |
|---|---|---|---|
market_id | string | ✅ Yes | Market ID to get orderbook for |
polymarket_get_midpointGet midpoint price for a specific market.
Arguments:
| Argument | Type | Required | Description |
|---|---|---|---|
market_id | string | ✅ Yes | Market ID to get midpoint for |
polymarket_create_orderCreate a new order on Polymarket.
Arguments:
| Argument | Type | Required | Description |
|---|---|---|---|
api_key | string | ✅ Yes | Polymarket API key |
market_id | string | ✅ Yes | Market ID to place order on |
side | string | ✅ Yes | 'BUY' or 'SELL' |
price | float | ✅ Yes | Order price in USD |
size | float |
polymarket_cancel_orderCancel an existing order.
Arguments:
| Argument | Type | Required | Description |
|---|---|---|---|
api_key | string | ✅ Yes | Polymarket API key |
order_id | string | ✅ Yes | ID of the order to cancel |
polymarket_get_ordersGet user's orders.
Arguments:
| Argument | Type | Required | Description |
|---|---|---|---|
api_key | string | ✅ Yes | Polymarket API key |
market_id | string | ❌ No | Optional market ID to filter orders |
polymarket_health_checkCheck server readiness and basic connectivity.
Arguments: None
# Clone the repository
git clone <repository-url>
cd cl-mcp-polymarket
# Install dependencies
pip install -r requirements.txt| ✅ Yes |
| Order size (number of shares) |
token_id | string | ✅ Yes | Token ID for the market outcome |