Polymarket Server
БесплатноНе проверенEnables interaction with Polymarket prediction markets through read-only access to market data, events, orderbooks, and user positions, plus authenticated tradi
Описание
Enables interaction with Polymarket prediction markets through read-only access to market data, events, orderbooks, and user positions, plus authenticated trading capabilities for creating and managing orders.
README
Browse prediction markets, track positions, and place trades on Polymarket through AI.
A Model Context Protocol (MCP) server that exposes Polymarket's API for querying markets, events, orderbooks, and user activity — with optional trading via the CLOB API.
Overview
The Polymarket MCP Server provides full access to Polymarket's prediction market data and trading infrastructure:
- Browse active markets and events, inspect orderbooks and price history
- Look up any wallet's positions and trade history on-chain
- Place, cancel, and manage orders on the central limit order book (requires API key)
Perfect for:
- Building AI-powered market research tools that surface real-time prediction market data
- Monitoring portfolio positions and trade history by wallet address
- Automating trading strategies on Polymarket through natural language instructions
Tools
polymarket_health_check — Check server readiness
Returns a status object confirming the server is running and reachable.
Inputs: (none)
Output:
{
"status": "ok",
"server": "CL Polymarket MCP Server"
}
polymarket_get_markets — List prediction markets
Returns a paginated list of Polymarket markets with question, status, and end date. No API key required.
Inputs:
- `limit` (integer, optional) — Maximum number of markets to return, 1–1000 (default: 100)
- `offset` (integer, optional) — Number of markets to skip for pagination (default: 0)
- `active` (boolean, optional) — Filter by active status
Output:
{
"success": true,
"count": 10,
"markets": [
{
"id": "0xabc...",
"question": "Will X happen by 2025?",
"active": true,
"closed": false,
"end_date": "2025-12-31T00:00:00Z"
}
]
}
polymarket_get_market — Get a specific market
Returns full details for a single market including condition ID, slug, tokens, and market type. No API key required.
Inputs:
- `market_id` (string, required) — Market ID to retrieve
Output:
{
"success": true,
"market": {
"id": "0xabc...",
"question": "Will X happen?",
"condition_id": "0xdef...",
"slug": "will-x-happen",
"end_date": "2025-12-31T00:00:00Z",
"active": true,
"closed": false,
"market_type": "binary",
"tokens": [...]
}
}
polymarket_get_events — List events
Returns a paginated list of events. Events group related markets together (e.g. all markets for an election). No API key required.
Inputs:
- `limit` (integer, optional) — Maximum number of events to return, 1–1000 (default: 100)
- `offset` (integer, optional) — Number of events to skip for pagination (default: 0)
Output:
{
"success": true,
"count": 5,
"events": [
{
"id": "123",
"title": "2025 US Election",
"slug": "2025-us-election",
"start_date": "2025-01-01T00:00:00Z",
"end_date": "2025-11-05T00:00:00Z"
}
]
}
polymarket_get_user_positions — Get positions for a wallet
Returns all open positions held by an Ethereum wallet address. No API key required.
Inputs:
- `user_address` (string, required) — Ethereum wallet address to query
Output:
{
"success": true,
"user_address": "0x123...",
"count": 3,
"positions": [
{
"position_id": "pos_1",
"asset": "0xabc...",
"quantity": 100.0,
"average_price": 0.65,
"current_value": 72.50
}
]
}
polymarket_get_user_trades — Get trade history for a wallet
Returns the full trade history for an Ethereum wallet address, paginated. No API key required.
Inputs:
- `user_address` (string, required) — Ethereum wallet address to query
- `limit` (integer, optional) — Maximum number of trades to return, 1–1000 (default: 100)
- `offset` (integer, optional) — Number of trades to skip for pagination (default: 0)
Output:
{
"success": true,
"user_address": "0x123...",
"count": 25,
"trades": [
{
"id": "trade_1",
"market": "0xabc...",
"outcome": "YES",
"side": "BUY",
"size": 50.0,
"price": 0.62,
"timestamp": "2025-01-01T12:00:00Z"
}
]
}
polymarket_get_orderbook — Get orderbook for a market
Returns the current bids and asks for a market from the central limit order book. No API key required.
Inputs:
- `market_id` (string, required) — Market ID to get orderbook for
Output:
{
"success": true,
"market": "0xabc...",
"bids": [[0.62, 500], [0.61, 1200]],
"asks": [[0.63, 300], [0.64, 800]],
"timestamp": "2025-01-01T12:00:00Z"
}
polymarket_get_midpoint — Get midpoint price for a market
Returns the midpoint price (average of best bid and best ask) for a market. No API key required.
Inputs:
- `market_id` (string, required) — Market ID to get midpoint for
Output:
{
"success": true,
"market": "0xabc...",
"midpoint": 0.625,
"timestamp": "2025-01-01T12:00:00Z"
}
polymarket_create_order — Place an order on the CLOB
Creates a new limit order on Polymarket's central limit order book. Requires an API key with trading permissions.
Inputs:
- `market_id` (string, required) — Market ID to place order on
- `side` (string, required) — Order side: 'BUY' or 'SELL'
- `price` (float, required) — Order price in USD (0–1 for binary markets)
- `size` (float, required) — Order size in number of shares
- `token_id` (string, required) — Token ID for the market outcome
Output:
{
"success": true,
"order_id": "order_abc123",
"market": "0xabc...",
"side": "BUY",
"price": 0.62,
"size": 100.0,
"status": "OPEN"
}
polymarket_cancel_order — Cancel an open order
Cancels an existing open order on the CLOB. Requires an API key with trading permissions.
Inputs:
- `order_id` (string, required) — ID of the order to cancel
Output:
{
"success": true,
"order_id": "order_abc123",
"message": "Order cancelled successfully"
}
polymarket_get_orders — Get your open orders
Returns all open orders for the authenticated account, optionally filtered by market. Requires an API key.
Inputs:
- `market_id` (string, optional) — Filter orders by market ID
Output:
{
"success": true,
"count": 2,
"orders": [
{
"id": "order_abc123",
"market": "0xabc...",
"side": "BUY",
"price": 0.62,
"size": 100.0,
"status": "OPEN",
"created_at": "2025-01-01T12:00:00Z"
}
]
}
API Parameters Reference
Common Parameters
limit— Maximum number of records to return per request (max 1000, default 100)offset— Number of records to skip; use withlimitfor paginationmarket_id— A market's on-chain condition ID or internal ID, returned bypolymarket_get_markets
Resource Formats
Market ID:
Ethereum condition ID (hex string)
Example: 0x1234567890abcdef...
Wallet Address:
Ethereum address (checksummed or lowercase)
Example: 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
Price:
Decimal between 0 and 1 representing implied probability
Example: 0.65 (65% probability = $0.65 per share)
Trading Notes
polymarket_create_order,polymarket_cancel_order, andpolymarket_get_ordersrequire an API keytoken_idis found in thetokensarray ofpolymarket_get_market— each binary market has a YES and NO token- Order
sidemust be'BUY'or'SELL'(uppercase) - All public read tools (markets, events, positions, trades, orderbook) work without an API key
Getting Your Polymarket API Key
Steps
- Go to the Polymarket CLOB API documentation
- Follow the authentication setup to derive your API key from your Ethereum wallet (EIP-712 signing)
- The API key, secret, and passphrase are derived from a signed message — store all three securely
- Use the
api_keyvalue when connecting your Polymarket credential in MewCP
Polymarket's CLOB API uses a signature-based key derivation flow — keys are not issued through a web UI but generated by signing a message with your wallet.
Troubleshooting
Missing or Invalid Headers
- Cause: API key not provided in request headers or incorrect format
- Solution:
- Verify
Authorization: Bearer YOUR_API_KEYandX-Mewcp-Credential-Id: CREDENTIAL-IDheaders are present - Check API key is active in your MewCP account
- Verify
Insufficient Credits
- Cause: API calls have exceeded your request limits
- Solution:
- Check credit usage in your Curious Layer dashboard
- Upgrade to a paid plan or add credits for higher limits
- Contact support for credit adjustments
Credential Not Connected
- Cause: No Polymarket credential linked to your account
- Solution:
- Go to Credentials in your MewCP dashboard
- Add your Polymarket API key (required only for trading tools)
- Retry the request with the correct
X-Mewcp-Credential-Idheader
Malformed Request Payload
- Cause: JSON payload is invalid or missing required fields
- Solution:
- Validate JSON syntax before sending
- Ensure all required tool parameters are included
- For orders, confirm
sideis uppercase ('BUY'or'SELL') andpriceis between 0 and 1
Server Not Found
- Cause: Incorrect server name in the API endpoint
- Solution:
- Verify endpoint format:
{server-name}/mcp/{tool-name} - Use correct server name from documentation
- Check available servers in your Curious Layer account
- Verify endpoint format:
Polymarket API Error
- Cause: Upstream Polymarket API returned an error
- Solution:
- Check Polymarket service status at Polymarket Status
- Verify your API key has the required permissions for trading operations
- Review the error message for specific details (e.g. insufficient funds, market closed, invalid token ID)
Resources
- Polymarket CLOB API Documentation — Official API reference
- Polymarket — Browse live markets
- FastMCP Docs — FastMCP specification
- FastMCP Credentials — FastMCP Credentials package for credential handling
Установка Polymarket Server
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/AStheTECH/mewcp-polymarketFAQ
Polymarket Server MCP бесплатный?
Да, Polymarket Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Polymarket Server?
Нет, Polymarket Server работает без API-ключей и переменных окружения.
Polymarket Server — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить Polymarket Server в Claude Desktop, Claude Code или Cursor?
Открой Polymarket Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Polymarket Server with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
