Polymarket MCP

Servidor MCP autoalojado para trading de agentes de IA en Polymarket. 42 herramientas para descubrimiento de mercados, colocación de órdenes, inteligencia de billeteras, copy trading y descubrimiento de recompensas.

Documentación

Servidor MCP de Polymarket

⚠️ Aviso: Quantish está cerrando. La plataforma Quantish (quantish.live) está cesando operaciones. Este servidor MCP es autoalojado y seguirá funcionando de forma independiente, pero el equipo de Quantish ya no mantendrá ni actualizará este proyecto. Si estás construyendo en el espacio de mercados de predicción y necesitas infraestructura de datos en tiempo real, consulta polynode.dev.

Servidor MCP autoalojado para operar en los mercados de predicción de Polymarket.

Descripción general

Este paquete proporciona un servidor MCP (Protocolo de Contexto de Modelos) que permite a los agentes de IA operar en los mercados de predicción de Polymarket a través de la red Polygon.

Características

  • Operaciones completas en Polymarket - Compra/venta en cualquier mercado de Polymarket
  • Gestión de billeteras Polygon - Genera y gestiona billeteras con integración Safe
  • Transacciones sin gas - La mayoría de las operaciones usan el relayer de Polymarket (no se necesita MATIC)
  • Compatible con MCP - Funciona con Claude, Cursor y cualquier cliente MCP
  • Autoalojable - Ejecútalo en Railway, Fly.io o cualquier host Node.js

Inicio rápido

git clone https://github.com/joinQuantish/polymarket-mcp
cd polymarket-mcp
npm install

Variables de entorno

VariableRequeridaDescripción
DATABASE_URLSíCadena de conexión PostgreSQL
ENCRYPTION_KEYSíCadena hexadecimal de 32 bytes para cifrado de billetera
POLYGON_RPC_URLSíEndpoint RPC de Polygon
BOT_SIGNING_SECRETNoSecreto para autenticación HMAC de bots confiables
PORTNoPuerto del servidor (por defecto 3000)

Generar claves de cifrado

# 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'))"

Configuración de la base de datos

Cualquier base de datos PostgreSQL funciona. Opciones:

ProveedorNotas
RailwayAgrega el servicio PostgreSQL, copia DATABASE_URL de las variables
SupabaseNivel gratuito en supabase.com, copia la cadena de conexión desde Configuración > Base de datos
NeonPostgres serverless en neon.tech, nivel gratuito disponible
Docker localdocker run -e POSTGRES_PASSWORD=pass -p 5432:5432 postgres

Configura tu DATABASE_URL y luego ejecuta:

# Generate Prisma client
npm run db:generate

# Create tables
npm run db:push

Ejecutar el servidor

# Development
npm run dev

# Production
npm run build
npm start

Herramientas disponibles

Cuenta y billetera

HerramientaDescripción
request_api_keyCrear cuenta con nueva billetera (o recuperar una existente)
setup_walletImplementar billetera Safe y establecer aprobaciones
get_wallet_statusVerificar el estado de implementación y aprobación de la billetera
get_balancesObtener saldos de USDC/MATIC
get_deposit_addressesObtener direcciones para depósitos (EVM, Solana, BTC)
export_private_keyExportar clave privada de la billetera
import_private_keyImportar billetera existente

Operaciones

HerramientaDescripción
place_orderColocar orden de compra/venta
cancel_orderCancelar una orden abierta
cancel_all_ordersCancelar todas las órdenes abiertas
get_ordersObtener historial de órdenes
execute_atomic_ordersEjecutar múltiples órdenes atómicamente
get_orderbookObtener ofertas/demandas del mercado
get_priceObtener precio medio del mercado

Posiciones

HerramientaDescripción
get_positionsObtener tus posiciones
sync_positionsSincronizar posiciones desde la API de Polymarket
get_claimable_winningsVerificar ganancias canjeables
claim_winningsReclamar ganancias de mercados resueltos
get_onchain_sharesObtener todas las tenencias ERC-1155 (incluidas las regaladas)

Transferencias e intercambios

HerramientaDescripción
transfer_usdcEnviar USDC puenteado
transfer_native_usdcEnviar USDC nativo de Circle
transfer_sharesEnviar acciones ERC-1155
send_maticEnviar MATIC desde EOA
swap_tokensIntercambiar tokens vía LI.FI
get_swap_quoteObtener cotización de intercambio

Claves API

HerramientaDescripción
list_api_keysListar tus claves API
create_additional_api_keyCrear nueva clave API
revoke_api_keyRevocar una clave API

Nota: Las herramientas de búsqueda de mercados (search_markets, get_market, get_active_markets) están disponibles a través del Discovery MCP.

Formato de API

El servidor expone un endpoint JSON-RPC 2.0 en /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
  }'

Configuración del cliente MCP

Claude Desktop / Cursor

{
  "mcpServers": {
    "polymarket": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://your-server.com/mcp",
        "--header",
        "x-api-key: YOUR_API_KEY"
      ]
    }
  }
}

Seguridad

Usuarios recurrentes

Por seguridad, los usuarios recurrentes (externalId existentes) no pueden obtener nuevas claves API sin autenticación. Opciones:

  1. Usar clave API existente - Si la tienes guardada
  2. Autenticación HMAC (solo bots confiables) - Firma con BOT_SIGNING_SECRET:
    signature = HMAC-SHA256(externalId:timestamp, BOT_SIGNING_SECRET)
    
  3. Nueva cuenta - Usa un externalId diferente

Desarrollo

# Install dependencies
npm install

# Generate Prisma client
npm run db:generate

# Run migrations
npm run db:push

# Start development server
npm run dev

Recursos

Licencia

Este proyecto está licenciado bajo la Licencia No Comercial PolyForm 1.0.0.

Gratis para uso personal, investigación y fines no comerciales. El uso comercial requiere permiso explícito de Quantish Inc. Contacta a hello@quantish.live para licencias comerciales.


Construido por Quantish Inc.