io.github.PaulieB14/graph-polymarket-mcp
数据与存储by paulieb14
通过 The Graph subgraphs 查询 Polymarket 数据的 MCP server,便于市场信息检索与分析。
什么是 io.github.PaulieB14/graph-polymarket-mcp?
通过 The Graph subgraphs 查询 Polymarket 数据的 MCP server,便于市场信息检索与分析。
README
graph-polymarket-mcp
<div align="center"> <a href="https://glama.ai/mcp/servers/@PaulieB14/graph-polymarket-mcp"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@PaulieB14/graph-polymarket-mcp/badge" /> </a>MCP server for querying Polymarket prediction market data via The Graph subgraphs and Polymarket REST APIs.
Exposes 31 tools that AI agents (Claude, Cursor, etc.) can use to search markets, get real-time CLOB prices and order books, query on-chain data, trader P&L, positions, activity, open interest, market resolution status, and trader profiles.
v2.0.0 — adds 10 new tools powered by Polymarket's Gamma and CLOB APIs (inspired by polymarket-cli): market search, event browsing, live prices, spreads, order books, price history, and more. No API key needed for these tools — they hit Polymarket's public REST endpoints directly.
</div>Published to the MCP Registry as
io.github.PaulieB14/graph-polymarket-mcp
Prerequisites
You need a free Graph API key (takes ~2 minutes):
- Go to The Graph Studio
- Connect your wallet (MetaMask, WalletConnect, etc.)
- Click "API Keys" in the sidebar and create one
- Free tier includes 100,000 queries/month
Installation
npm install -g graph-polymarket-mcp
Or use directly with npx:
npx graph-polymarket-mcp
Configuration
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"graph-polymarket": {
"command": "npx",
"args": ["-y", "graph-polymarket-mcp"],
"env": {
"GRAPH_API_KEY": "your-api-key-here"
}
}
}
}
Claude Code
claude mcp add graph-polymarket -- npx -y graph-polymarket-mcp
Set the environment variable GRAPH_API_KEY before running.
Cursor / Other MCP Clients
Use the stdio transport with npx graph-polymarket-mcp as the command, passing GRAPH_API_KEY as an environment variable.
OpenClaw / Remote Agents (SSE)
Start the server with the HTTP transport:
# Dual transport — stdio + SSE on port 3851
GRAPH_API_KEY=your-key npx graph-polymarket-mcp --http
# SSE only (for remote/server deployments)
GRAPH_API_KEY=your-key npx graph-polymarket-mcp --http-only
# Custom port
MCP_HTTP_PORT=4000 GRAPH_API_KEY=your-key npx graph-polymarket-mcp --http
Then point your agent at the SSE endpoint:
{
"mcpServers": {
"graph-polymarket": {
"url": "http://localhost:3851/sse"
}
}
}
Transport Modes
| Invocation | Transports | Use case |
|---|---|---|
npx graph-polymarket-mcp | stdio | Claude Desktop, Cursor, Claude Code |
npx graph-polymarket-mcp --http | stdio + SSE :3851 | Dual — local + remote agents |
npx graph-polymarket-mcp --http-only | SSE :3851 | OpenClaw, remote deployments |
A /health endpoint is available at http://localhost:3851/health when HTTP transport is active.
Available Tools
Core Tools
| Tool | Description |
|---|---|
list_subgraphs | List all available Polymarket subgraphs with descriptions and key entities |
get_subgraph_schema | Get the full GraphQL schema for a specific subgraph |
query_subgraph | Execute a custom GraphQL query against any subgraph |
Domain-Specific Tools
| Tool | Description | Subgraphs |
|---|---|---|
get_market_data | Get market/condition data with outcomes and resolution status | Main |
get_global_stats | Get platform stats: market counts + real volume/fees/trades | Main + Orderbook |
get_account_pnl | Get a trader's P&L and performance metrics (winRate, profitFactor, maxDrawdown) | Beefy P&L |
get_top_traders | Leaderboard ranked by PnL, winRate, volume, or profitFactor. Cross-refs Orderbook to flag rows where OB volume exceeds Beefy-tracked volume and surface OB-only traders absent from the leaderboard. | Beefy P&L + Orderbook |
get_daily_stats | Daily volume, fees, trader counts, and market activity (1–90 days) | Beefy P&L |
get_market_positions | Top holders for a specific outcome token with their P&L | Beefy P&L |
get_user_positions | Current token positions. Cross-refs Orderbook: flags ⚠ orderbook-only entry when totalBought=0 but OB volume exists, and ⚠ mixed entry when OB volume > 2× split collateral. | Slimmed P&L + Orderbook |
get_recent_activity | Unified chronological feed interleaving splits, merges, and redemptions with orderbook fills. Supports optional address filter. | Activity + Orderbook |
get_orderbook_trades | Get recent order fills with maker/taker filtering | Orderbook |
get_market_open_interest | Top markets ranked by USDC locked in outstanding positions. Cross-refs Main subgraph to flag ⚠ dead money OI on resolved markets (losing-side tokens that will never be redeemed on-chain). | Open Interest + Main |
get_oi_history | Hourly OI snapshots for a specific market (for charting trends) | Open Interest |
get_global_open_interest | Total platform-wide open interest and market count | Open Interest |
get_market_resolution | UMA oracle resolution status with filtering by status | Resolution |
get_disputed_markets | Markets disputed during oracle resolution (high-signal events) | Resolution |
get_market_revisions | Moderator interventions and updates on market resolution | Resolution |
get_trader_profile | Full trader profile combining CTF events and USDC flows with Orderbook fills. Classifies wallet as hybrid / orderbook-only / split-collateral-only and warns when P&L subgraphs are unreliable. | Traders + Orderbook |
get_trader_usdc_flows | USDC deposit/withdrawal history with direction filtering | Traders |
Polymarket REST API Tools (no Graph API key needed)
| Tool | Description | API |
|---|---|---|
search_markets | Search markets by text query with filters (active, closed, sort by volume/liquidity) | Gamma |
get_market_info | Get detailed market metadata by slug or condition ID | Gamma |
list_polymarket_events | Browse events (groups of related markets) with tag/status filters | Gamma |
get_polymarket_event | Get a single event with all its associated markets | Gamma |
get_live_prices | Real-time CLOB prices for outcome tokens (buy/sell, single or batch) | CLOB |
get_live_spread | Bid-ask spread + midpoint for assessing market liquidity | CLOB |
get_live_orderbook | Full order book (all resting bids and asks) for a token | CLOB |
get_price_history | Historical price time-series (1m to max interval, configurable fidelity) | CLOB |
get_last_trade | Last trade price for an outcome token | CLOB |
get_clob_market | CLOB market details: token IDs, live prices, min order/tick sizes | CLOB |
search_markets_enriched | Power tool: search + auto-enrich with live CLOB prices AND on-chain resolution status in one call | Gamma + CLOB + Graph |
Data Sources
The Graph Subgraphs (requires GRAPH_API_KEY)
On-chain indexed data — authoritative for historical analytics, P&L, open interest, and resolution status.
Subgraphs
| Name | IPFS Hash | Description |
|---|---|---|
| Main | QmdyCguLEisTtQFveEkvMhTH7UzjyhnrF9kpvhYeG4QX8a | Complete ecosystem data |
| Beefy P&L | QmbHwcGkumWdyTK2jYWXV3vX4WyinftEGbuwi7hDkhPWqG | Comprehensive P&L tracking |
| Slimmed P&L | QmZAYiMeZiWC7ZjdWepek7hy1jbcW3ngimBF9ibTiTtwQU | Minimal position data |
| Activity | Qmf3qPUsfQ8et6E3QNBmuXXKqUJi91mo5zbsaTkQrSnMAP | Position management events |
| Orderbook | QmVGA9vvNZtEquVzDpw8wnTFDxVjB6mavTRMTrKuUBhi4t | Order fill analytics |
| Open Interest | QmbT2MmS2VGbGihiTUmWk6GMc2QYqoT9ZhiupUicYMWt6H | Per-market and global OI with hourly snapshots |
| Resolution | QmZnnrHWCB1Mb8dxxXDxfComjNdaGyRC66W8derjn3XDPg | UMA oracle resolution lifecycle |
| Traders | QmfT4YQwFfAi77hrC2JH3JiPF7C4nEn27UQRGNpSpUupqn | Per-trader event logs and USDC flows |
Example Queries
Once connected, an AI agent can:
Market Discovery (Gamma API)
- "Search for prediction markets about AI"
- "Show me the most active Polymarket events right now"
- "Find markets about the 2024 election sorted by volume"
- "What markets are in the 'crypto' category?"
Live Trading Data (CLOB API)
- "What's the current price for the Trump YES token?"
- "Show me the full order book for this market"
- "What's the bid-ask spread on this token?"
- "Show me the price history for this market over the last week"
On-Chain Analytics (The Graph)
- "What are the current Polymarket global stats?"
- "Show me the latest 20 orderbook trades"
- "What are the positions for address 0x...?" (flags if wallet entered via OB buys only)
- "Get the P&L for trader 0x...?"
- "Which markets have the most open interest right now?" (flags dead-money OI on resolved markets)
- "Show me disputed markets on Polymarket"
- "Who are the top traders?" (flags any with OB volume not captured by Beefy P&L)
- "Show me the full trading history for wallet 0x..." (includes OB fills + entry type classification)
Development
git clone https://github.com/PaulieB14/graph-polymarket-mcp.git
cd graph-polymarket-mcp
npm install
npm run build
GRAPH_API_KEY=your-key node build/index.js
License
MIT
常见问题
io.github.PaulieB14/graph-polymarket-mcp 是什么?
通过 The Graph subgraphs 查询 Polymarket 数据的 MCP server,便于市场信息检索与分析。
相关 Skills
技术栈评估
by alirezarezvani
对比框架、数据库和云服务,结合 5 年 TCO、安全风险、生态活力与迁移复杂度做量化评估,适合技术选型、栈升级和替换路线决策。
✎ 帮你系统比较技术栈优劣,不只看功能,还把TCO、安全性和生态健康度一起量化,选型和迁移决策更稳。
资深数据科学家
by alirezarezvani
覆盖实验设计、特征工程、预测建模、因果推断与模型评估,适合用 Python/R/SQL 做 A/B 测试、时序分析和生产级 ML 落地,支撑数据驱动决策。
✎ 从 A/B 测试、因果分析到预测建模一条龙搞定,既有硬核统计方法也懂业务沟通,特别适合把数据结论真正落地。
资深架构师
by alirezarezvani
适合系统设计评审、ADR记录和扩展性规划,分析依赖与耦合,权衡单体或微服务、数据库与技术栈选型,并输出Mermaid、PlantUML、ASCII架构图。
✎ 搞系统设计、技术选型和扩展规划时,用它能更快理清架构决策与依赖关系,还能直接产出 Mermaid/PlantUML 图,方案讨论效率很高。
相关 MCP Server
SQLite 数据库
编辑精选by Anthropic
SQLite 是让 AI 直接查询本地数据库进行数据分析的 MCP 服务器。
✎ 这个服务器解决了 AI 无法直接访问 SQLite 数据库的问题,适合需要快速分析本地数据集的开发者。不过,作为参考实现,它可能缺乏生产级的安全特性,建议在受控环境中使用。
PostgreSQL 数据库
编辑精选by Anthropic
PostgreSQL 是让 Claude 直接查询和管理你的数据库的 MCP 服务器。
✎ 这个服务器解决了开发者需要手动编写 SQL 查询的痛点,特别适合数据分析师或后端开发者快速探索数据库结构。不过,由于是参考实现,生产环境使用前务必评估安全风险,别指望它能处理复杂事务。
Firecrawl 智能爬虫
编辑精选by Firecrawl
Firecrawl 是让 AI 直接抓取网页并提取结构化数据的 MCP 服务器。
✎ 它解决了手动写爬虫的麻烦,让 Claude 能直接访问动态网页内容。最适合需要实时数据的研究者或开发者,比如监控竞品价格或抓取新闻。但要注意,它依赖第三方 API,可能涉及隐私和成本问题。