Polymarket MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Polymarket MCP Servershow me active markets with high volume"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Polymarket MCP Server
MCP (Model Context Protocol) server that exposes Polymarket prediction markets via CLI wrapper.
Enables AI agents to discover markets, check prices, and place trades programmatically.
Features
Read-Only Tools (No Wallet Required)
markets_search— Search markets by keywordmarkets_get— Get specific market detailsmarkets_list— List markets with filters (active, volume, etc.)clob_price— Get current price for token IDclob_midpoint— Get midpoint priceclob_book— Get order book depthprice_history— Historical prices (1m, 1h, 1d, etc.)
Authenticated Tools (Requires Wallet)
create_order— Place limit order (buy/sell at specified price)market_order— Place market order (buy/sell at current price)cancel_order— Cancel existing orderpositions— Get portfolio positionsbalance— Get wallet balance (USDC/conditional tokens)
Related MCP server: Polymarket MCP Server
Installation
Prerequisites
Install Polymarket CLI:
brew tap Polymarket/polymarket-cli https://github.com/Polymarket/polymarket-cli brew install polymarketVerify CLI works:
polymarket markets list --limit 3
Install MCP Server
cd polymarket-mcp
npm install
npm run buildConfiguration
Environment Variables
Create .env file (see .env.example):
# Required for authenticated operations (trading)
POLYMARKET_PRIVATE_KEY=0x...
# Optional
CHAIN_ID=137 # Polygon mainnet
SIGNATURE_TYPE=proxy # proxy | eoa | gnosis-safe
POLYGON_RPC_URL=https://polygon-rpc.comMCP Client Config
Add to your MCP client config (e.g., Claude Desktop, mcporter, Polygent):
{
"mcpServers": {
"polymarket": {
"command": "node",
"args": ["/path/to/polymarket-mcp/dist/index.js"],
"env": {
"POLYMARKET_PRIVATE_KEY": "0x...",
"CHAIN_ID": "137",
"SIGNATURE_TYPE": "proxy"
}
}
}
}Usage Examples
Browse Markets
// Search for Bitcoin markets
markets_search({ query: "bitcoin", limit: 5 })
// Get specific market
markets_get({ market_id: "will-btc-hit-100k" })
// List active markets sorted by volume
markets_list({ active: true, order: "volume_num", limit: 10 })Check Prices
// Get buy price
clob_price({ token_id: "0xABC...", side: "buy" })
// Get midpoint (average of bid/ask)
clob_midpoint({ token_id: "0xABC..." })
// Get full order book
clob_book({ token_id: "0xABC..." })
// Get price history
price_history({ token_id: "0xABC...", interval: "1d", fidelity: 30 })Trade (Authenticated)
// Place limit order: buy 10 shares at $0.50
create_order({
token_id: "0xABC...",
side: "buy",
price: 0.50,
size: 10
})
// Place market order: buy $5 worth at current price
market_order({
token_id: "0xABC...",
side: "buy",
amount: 5
})
// Cancel order
cancel_order({ order_id: "0xORDER..." })
// Check positions
positions({ wallet_address: "0xYOUR_WALLET..." })
// Check balance
balance({ asset_type: "collateral" })Security
Wallet Key Management
Never log private keys — Keys are only used for CLI signing
Environment variables only — Keys never hardcoded
No key exposure in responses — MCP responses don't include keys
Input Validation
All inputs validated with Zod before CLI execution
Token IDs must match hex pattern (
0x[0-9a-fA-F]+)Wallet addresses validated (
0x[0-9a-fA-F]{40})Price bounds enforced (0.01 to 0.99)
Positive size/amount validation
Rate Limiting
CLI timeout: 30 seconds per command
Buffer limit: 10MB max response size
Respects Polymarket API rate limits (60 req/min)
Command Injection Protection
No shell interpolation of user input
Pre-validated arguments passed as array
Uses
child_process.execwith timeout + buffer limits
Testing
Manual Test (MCP Inspector)
npx @modelcontextprotocol/inspector node dist/index.jsTest Read-Only Tools
# List markets
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"markets_search","arguments":{"query":"bitcoin","limit":3}}}' | node dist/index.jsTest Authenticated Tools
Requires .env with POLYMARKET_PRIVATE_KEY:
# Check balance
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"balance","arguments":{"asset_type":"collateral"}}}' | node dist/index.jsIntegration with Polygent
See INTEGRATION.md for detailed integration guide.
Quick start:
Install MCP server on Polygent VPS
Configure
mcporterwith server path + env varsUpdate Polygent agents to call MCP tools
Add health checks for MCP server status
Troubleshooting
"Wallet not configured" error
Set
POLYMARKET_PRIVATE_KEYin.envor MCP client configVerify key format:
0x+ 64 hex characters
"Command not found: polymarket"
Install Polymarket CLI:
brew install polymarketVerify:
which polymarket
"Failed to parse CLI output"
Check CLI version:
polymarket --versionEnsure JSON output mode works:
polymarket -o json markets list --limit 1
Rate limit errors (429)
Respect 60 req/min limit
Add exponential backoff in agent logic
Use batch endpoints where available
Architecture
polymarket-mcp/
├── src/
│ ├── index.ts # MCP server (tool definitions)
│ └── lib/
│ ├── env.ts # Environment validation (Zod)
│ ├── cli.ts # CLI wrapper functions
│ └── types.ts # TypeScript types
├── dist/ # Compiled output
├── .env.example
├── package.json
├── tsconfig.json
└── README.mdDesign:
No database — Pure CLI wrapper
Fail-fast validation — Env vars checked at startup
Structured errors — Always return error objects, never throw
Type-safe — Full TypeScript + Zod validation
Related Projects
Polymarket CLI: https://github.com/Polymarket/polymarket-cli
MCP Specification: https://modelcontextprotocol.io
Polygent: https://polygent.market
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/BAiSEDagent/polymarket-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server