@c0pilot/mcp-polymarket
v1.0.3
Published
MCP server and client library for Polymarket prediction markets - trade, browse markets, manage positions
Downloads
343
Maintainers
Readme
@c0pilot/mcp-polymarket
MCP (Model Context Protocol) server and client library for Polymarket prediction markets.
Features
- MCP Server: Run as a standalone MCP server for AI agents
- Client Library: Import and use in your own projects
- Browse and search prediction markets
- View order books and market prices
- Check wallet balance and positions
- Place and cancel orders
- Full integration with Polymarket's CLOB API
Installation
npm install @c0pilot/mcp-polymarketUsage
As MCP Server
With Claude Desktop
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"polymarket": {
"command": "npx",
"args": ["mcp-polymarket"],
"env": {
"POLYMARKET_PRIVATE_KEY": "0x...",
"POLYMARKET_FUNDER": "0x..."
}
}
}
}Standalone
export POLYMARKET_PRIVATE_KEY="0x..."
export POLYMARKET_FUNDER="0x..."
npx mcp-polymarketAs Library
import { ClobClientWrapper } from 'mcp-polymarket/client';
import { createConfig } from 'mcp-polymarket/config';
// Create config
const config = createConfig({
privateKey: '0x...',
funder: '0x...', // optional
readonly: false, // optional
});
// Initialize client
const client = new ClobClientWrapper(config);
await client.initialize();
// Use the client
const clobClient = client.getClient();
const orderbook = await clobClient.getOrderBook(tokenId);Configuration
Environment Variables
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| POLYMARKET_PRIVATE_KEY | Yes | - | Wallet private key for signing |
| POLYMARKET_FUNDER | No | derived | Proxy wallet address |
| POLYMARKET_API_KEY | No | derived | API key (auto-derived if not set) |
| POLYMARKET_API_SECRET | No | derived | API secret (auto-derived if not set) |
| POLYMARKET_PASSPHRASE | No | derived | API passphrase (auto-derived if not set) |
| POLYMARKET_CHAIN_ID | No | 137 | Polygon mainnet |
| POLYMARKET_READONLY | No | false | Disable trading tools |
Finding Your Funder Address
Your "funder" is your Polymarket proxy wallet - the address shown on polymarket.com when logged in. If you deposited through Polymarket's UI, funds are in this proxy wallet.
Available MCP Tools
Read-Only
| Tool | Description |
|------|-------------|
| polymarket_get_markets | List active prediction markets |
| polymarket_get_market | Get details for a specific market |
| polymarket_get_orderbook | View order book for a token |
| polymarket_get_balance | Check wallet USDC balance |
| polymarket_get_positions | View open orders and positions |
| polymarket_get_trades | Get recent trade history |
Trading
| Tool | Description |
|------|-------------|
| polymarket_place_order | Place a limit order (BUY/SELL) |
| polymarket_cancel_order | Cancel an open order |
API Exports
// Main MCP server entry
import mcp from '@c0pilot/mcp-polymarket';
// Client wrapper for Polymarket CLOB
import { ClobClientWrapper } from '@c0pilot/mcp-polymarket/client';
// Configuration utilities
import { createConfig, getConfig, Config } from '@c0pilot/mcp-polymarket/config';
// Type definitions
import { MarketInfo, OrderbookInfo, Position } from '@c0pilot/mcp-polymarket/types';Security
- Private keys are never logged
- Use
POLYMARKET_READONLY=truefor safe exploration - API credentials auto-derived from private key
- Input validation on all parameters
Development
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
# Run E2E tests (requires env vars)
npm run test:e2eRelated
- @c0pilot/openclaw-polymarket - OpenClaw plugin using this library
- GitHub
License
MIT
