Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Polymarket Server

БесплатноНе проверен

Enables interaction with Polymarket prediction markets through read-only access to market data, events, orderbooks, and user positions, plus authenticated tradi

GitHubEmbed

Описание

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 with limit for pagination
  • market_id — A market's on-chain condition ID or internal ID, returned by polymarket_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, and polymarket_get_orders require an API key
  • token_id is found in the tokens array of polymarket_get_market — each binary market has a YES and NO token
  • Order side must 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
  1. Go to the Polymarket CLOB API documentation
  2. Follow the authentication setup to derive your API key from your Ethereum wallet (EIP-712 signing)
  3. The API key, secret, and passphrase are derived from a signed message — store all three securely
  4. Use the api_key value 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:
    1. Verify Authorization: Bearer YOUR_API_KEY and X-Mewcp-Credential-Id: CREDENTIAL-ID headers are present
    2. Check API key is active in your MewCP account
Insufficient Credits
  • Cause: API calls have exceeded your request limits
  • Solution:
    1. Check credit usage in your Curious Layer dashboard
    2. Upgrade to a paid plan or add credits for higher limits
    3. Contact support for credit adjustments
Credential Not Connected
  • Cause: No Polymarket credential linked to your account
  • Solution:
    1. Go to Credentials in your MewCP dashboard
    2. Add your Polymarket API key (required only for trading tools)
    3. Retry the request with the correct X-Mewcp-Credential-Id header
Malformed Request Payload
  • Cause: JSON payload is invalid or missing required fields
  • Solution:
    1. Validate JSON syntax before sending
    2. Ensure all required tool parameters are included
    3. For orders, confirm side is uppercase ('BUY' or 'SELL') and price is between 0 and 1
Server Not Found
  • Cause: Incorrect server name in the API endpoint
  • Solution:
    1. Verify endpoint format: {server-name}/mcp/{tool-name}
    2. Use correct server name from documentation
    3. Check available servers in your Curious Layer account
Polymarket API Error
  • Cause: Upstream Polymarket API returned an error
  • Solution:
    1. Check Polymarket service status at Polymarket Status
    2. Verify your API key has the required permissions for trading operations
    3. Review the error message for specific details (e.g. insufficient funds, market closed, invalid token ID)

Resources

from github.com/AStheTECH/mewcp-polymarket

Установка Polymarket Server

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/AStheTECH/mewcp-polymarket

FAQ

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

Compare Polymarket Server with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development