Resolved Markets MCP
Servidor MCP alojado para datos de libro de órdenes de Polymarket: libros en vivo, instantáneas históricas, velas OHLC, operaciones, resultados de liquidación y libros perpetuos de Hyperliquid para agentes de IA.
Servidor MCP alojado
npx add-mcp 'https://mcp.resolvedmarkets.com/mcp'Se instala en Claude Code, Codex, Cursor y más
Documentación
Agentes de IA sobre datos de Polymarket — MCP, OpenAPI y llms.txt
Resolved Markets ofrece todo lo que un agente de codificación autónomo o un asistente de chat necesita para llamar a nuestra API correctamente al primer intento: un servidor nativo de Model Context Protocol, una especificación completa de OpenAPI 3.1 y dos archivos de referencia en markdown optimizados para LLM. Colócalos en Claude, ChatGPT, Gemini, Cursor, Windsurf, LangChain, CrewAI o cualquier otra herramienta que soporte uso de herramientas.
Tres rutas de integración
Las tres usan la misma clave de API rm_. Elige la que coincida con el entorno de ejecución que estás configurando.
1. MCP nativo (Claude Desktop, Claude Code, Cursor, Windsurf, Cline)
El servidor MCP de Resolved Markets expone catorce herramientas — descubrimiento (list_categories, list_markets, list_historical_markets, get_market, get_market_metadata), libro de órdenes e historial (get_orderbook, get_snapshot, get_latest_snapshots, query_snapshots, get_trades, get_market_summary), intercambio (get_exchange_orderbook, get_exchange_snapshots) y get_system_stats — además de tres recursos (markets://live, prices://latest, reference://catalog). Configúralo una vez, y cualquier cliente compatible con MCP podrá llamarlos como herramientas de primera clase sin código adicional.
# Claude Desktop / Claude Code config (claude_desktop_config.json)
{
"mcpServers": {
"resolved-markets": {
"command": "npx",
"args": ["-y", "@elcara-hq/resolvedmarkets-mcp"],
"env": {
"HF_API_URL": "https://api.resolvedmarkets.com",
"HF_API_KEY": "rm_your_key_here"
}
}
}
}
También se admite transporte HTTP (MCP_TRANSPORT=http MCP_PORT=3002) para agentes autoalojados que prefieren MCP remoto sobre stdio.
2. Uso de herramientas / llamada a funciones con la especificación OpenAPI
La especificación OpenAPI 3.1 en https://resolvedmarkets.com/openapi.json se puede importar en Postman, Insomnia, RapidAPI, GPT Actions o cualquier generador de código. Para el uso de herramientas de Anthropic y OpenAI, expón las operaciones de la especificación como definiciones de herramientas y el modelo producirá llamadas tipadas automáticamente.
# Python — load the spec into an OpenAI function-calling tool
import requests, json
spec = requests.get("https://resolvedmarkets.com/openapi.json").json()
tools = []
for path, ops in spec["paths"].items():
for method, op in ops.items():
tools.append({
"type": "function",
"function": {
"name": op["operationId"],
"description": op.get("summary", ""),
"parameters": op.get("requestBody", {}).get("content", {})
.get("application/json", {}).get("schema", {}),
},
})
3. Contexto simple — pega llms.txt en el prompt del sistema
Para asistentes de chat sin uso de herramientas (o para preguntas de una sola vez), pega /llms.txt (resumen de ~10 KB) o /llms-full.txt (referencia completa de ~43 KB) en el prompt del sistema. El modelo podrá responder preguntas sobre endpoints, parámetros y formas de respuesta — y producir curl o Python correctos que apunten a URLs reales.
Prompt de sistema listo para usar
Copia esto en el prompt del sistema de cualquier LLM para darle conocimiento fundamentado de la API de Resolved Markets. El agente citará los endpoints correctos y dejará de alucinar rutas.
You have access to live and historical Polymarket prediction market and Hyperliquid perpetual futures orderbook data via the Resolved Markets API.
API base URL: https://api.resolvedmarkets.com
Authentication: header "X-API-Key: rm_..." (the user will provide their key)
Reference docs (read these first if you need details):
- Short reference: https://resolvedmarkets.com/llms.txt
- Full reference: https://resolvedmarkets.com/llms-full.txt
- OpenAPI spec: https://resolvedmarkets.com/openapi.json
Coverage: crypto (BTC, ETH, SOL, XRP, DOGE, HYPE, BNB), weather (daily temperature in 51 cities, hurricanes, climate), sports (NBA, NFL, EPL, ATP, WTA, IPL, FIFA World Cup), economics (FOMC, NFP), equities, and Hyperliquid perpetual futures. Snapshots include full bid/ask depth, mid, spread, sequence numbers, and the paired crypto spot price at capture time.
When answering questions about Polymarket markets, prefer calling these endpoints over guessing:
- GET /v1/markets/live — list active markets (filter with ?category= and ?subcategory=)
- GET /v1/markets/:id/orderbook — live UP and DOWN orderbook for a market
- GET /v1/markets/:id/snapshots — historical snapshots (?from= ?to= ?limit=500)
- GET /v1/markets/:id/summary — aggregated stats: spread, depth, price range
- GET /v1/public-stats — platform-wide stats (no auth required)
Probabilities are USDC prices in 0.01..0.99. Each market has UP and DOWN tokens; UP + DOWN ≈ 1.00.
Entornos de ejecución compatibles
- Clientes nativos MCP — Claude Desktop, Claude Code, Cursor, Windsurf, Cline, Continue, Zed.
- SDK de Anthropic — uso de herramientas con las operaciones OpenAPI como definiciones de herramientas.
- SDK de OpenAI — llamada a funciones, GPT Actions para GPTs personalizados de ChatGPT.
- SDK de Google AI — llamada a funciones de Gemini.
- Frameworks — LangChain, LlamaIndex, CrewAI, AutoGen, Haystack, Semantic Kernel.
- HTTP simple — cualquier cosa que pueda enviar
X-API-Keyy analizar JSON.
Inicio rápido en 60 segundos (Python)
import os, requests
BASE = "https://api.resolvedmarkets.com"
H = {"X-API-Key": os.environ["RM_API_KEY"]}
# 1. Find an active BTC market
markets = requests.get(f"{BASE}/v1/markets/live",
params={"category": "crypto", "subcategory": "BTC"},
headers=H).json()
market_id = markets["markets"][0]["condition_id"]
# 2. Pull live orderbook
ob = requests.get(f"{BASE}/v1/markets/{market_id}/orderbook", headers=H).json()
print(ob["up"]["best_bid"], ob["up"]["best_ask"])
# 3. Pull last hour of snapshots
snaps = requests.get(f"{BASE}/v1/markets/{market_id}/snapshots",
params={"limit": 500}, headers=H).json()
Preguntas frecuentes
¿Cómo llaman los agentes de IA a la API de Resolved Markets?
Tres opciones. (1) MCP nativo — apunta Claude Desktop, Claude Code o cualquier agente compatible con MCP a nuestro servidor MCP (stdio o HTTP) y el agente llamará a list_markets, get_orderbook, get_snapshot, query_snapshots, get_market_summary y get_system_stats como herramientas sin código adicional. (2) Uso de herramientas / llamada a funciones — proporciona al agente nuestra especificación OpenAPI en https://resolvedmarkets.com/openapi.json y deja que genere llamadas REST. (3) Contexto simple — pega https://resolvedmarkets.com/llms-full.txt en el prompt del sistema y el modelo podrá responder preguntas sobre endpoints, parámetros y formas de respuesta directamente.
¿Qué frameworks de agentes son compatibles?
Cualquier cosa que hable MCP (Claude Desktop, Claude Code, Cursor, Windsurf, Cline, Continue) funciona de inmediato. Cualquier cosa que hable uso de herramientas de OpenAI, uso de herramientas de Anthropic, llamada a funciones de Gemini, LangChain, LlamaIndex, CrewAI, AutoGen o clientes HTTP personalizados puede usar la API REST directamente con la especificación OpenAPI.
¿Necesito una clave de API separada para MCP?
No. La misma clave de API rm_ funciona para REST, WebSocket y MCP. Configura HF_API_KEY=rm_your_key en el entorno de tu servidor MCP.
¿Cómo hago que mi agente de IA cite información correcta de endpoints?
Pega el contenido de https://resolvedmarkets.com/llms.txt o https://resolvedmarkets.com/llms-full.txt en el prompt del sistema del agente. Ambos archivos son markdown simple optimizado para ventanas de contexto de LLM. El llms.txt más corto (~10 KB) cubre lo básico; llms-full.txt (~43 KB) incluye cada endpoint, cada parámetro y ejemplos de código.
¿Existe una especificación OpenAPI?
Sí — OpenAPI 3.1 en https://resolvedmarkets.com/openapi.json. Impórtala en Postman, Insomnia, RapidAPI, GPT Actions, Cursor o cualquier generador de código para crear un cliente tipado en segundos.
¿Las solicitudes MCP contarán contra mi límite de tasa?
Sí — MCP y REST comparten el mismo límite de tasa por clave y presupuesto de créditos. Gratis: 300 req/min, historial ilimitado, MCP completo, 5K créditos/mes. Pro: 300 req/min, 50K créditos, MCP completo. Escala: 1,000 req/min, 500K créditos, todas las categorías. Empresa: 3,000 req/min, 5M créditos.