Polymarket MCP Server
⚠️ Notice: Quantish is winding down. The Quantish platform (quantish.live) is shutting down. This MCP server is self-hosted and will continue to work independently, but the Quantish team will no longer be maintaining or updating this project. If you're building in the prediction market space and need real-time data infrastructure, check out polynode.dev.
Self-hosted MCP server for trading on Polymarket prediction markets.
Overview
This package provides an MCP (Model Context Protocol) server that enables AI agents to trade on Polymarket prediction markets via the Polygon network.
Features
- Full Polymarket Trading - Buy/sell on any Polymarket market
- Polygon Wallet Management - Generate and manage wallets with Safe integration
- Gasless Transactions - Most operations use Polymarket's relayer (no MATIC needed)
- MCP Compatible - Works with Claude, Cursor, and any MCP client
- Self-Hostable - Run on Railway, Fly.io, or any Node.js host
Quick Start
git clone https://github.com/joinQuantish/polymarket-mcp
cd polymarket-mcp
npm install
Environment Variables
Generate Encryption Keys
# Generate ENCRYPTION_KEY (32 bytes = 64 hex chars)
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
# Generate BOT_SIGNING_SECRET (for trusted bot auth)
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
Database Setup
Any PostgreSQL database works. Options:
Set your DATABASE_URL then run:
# Generate Prisma client
npm run db:generate
# Create tables
npm run db:push
Running the Server
# Development
npm run dev
# Production
npm run build
npm start
Available Tools
Account & Wallet
Trading
Positions
Transfers & Swaps
API Keys
Note: Market search tools (
search_markets,get_market,get_active_markets) are available via the Discovery MCP.
API Format
The server exposes a JSON-RPC 2.0 endpoint at /mcp:
curl -X POST https://your-server.com/mcp \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_balances",
"arguments": {}
},
"id": 1
}'
MCP Client Configuration
Claude Desktop / Cursor
{
"mcpServers": {
"polymarket": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://your-server.com/mcp",
"--header",
"x-api-key: YOUR_API_KEY"
]
}
}
}
Security
Returning Users
For security, returning users (existing externalId) cannot get new API keys without authentication. Options:
- Use existing API key - If you have it saved
- HMAC Authentication (trusted bots only) - Sign with
BOT_SIGNING_SECRET:signature = HMAC-SHA256(externalId:timestamp, BOT_SIGNING_SECRET) - New Account - Use a different
externalId
Development
# Install dependencies
npm install
# Generate Prisma client
npm run db:generate
# Run migrations
npm run db:push
# Start development server
npm run dev
Resources
- GitHub: joinQuantish/polymarket-mcp
- Discovery MCP: joinQuantish/quantish-discovery
- Polymarket Docs: docs.polymarket.com
License
This project is licensed under the PolyForm Noncommercial License 1.0.0.
Free for personal use, research, and non-commercial purposes. Commercial use requires explicit permission from Quantish Inc. Contact [email protected] for commercial licensing.
Built by Quantish Inc.