Limitless MCP
Servidor MCP para los mercados de predicción de Limitless Exchange en Base. 34 herramientas para acceso al mercado, trading con órdenes limitadas, gestión de billetera y seguimiento de posiciones.
Documentación
Limitless MCP Server
Trading de Mercados de Predicción en Base vía Limitless Exchange
Construye agentes de trading impulsados por IA para los mercados de predicción de Limitless usando el Protocolo de Contexto del Modelo (MCP)
⚠️ Aviso: Quantish está cerrando. La plataforma Quantish (quantish.live) está cerrando. 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.
Características
-
Gestión Segura de Wallets
- Genera nuevas wallets de Base con almacenamiento cifrado de claves privadas
- Trae Tu Propia Wallet (BYOW) - Importa wallets existentes con cifrado del lado del cliente
- Las claves privadas se cifran con AES-256-GCM antes de almacenarse
-
Acceso Completo a los Mercados de Limitless
- Descubrimiento de mercados en tiempo real vía API de Limitless Exchange
- Acceso a todos los mercados de predicción: Política, Deportes, Cripto y más
- Datos de orderbook en vivo e historial de precios
- Búsqueda semántica para descubrimiento de mercados
-
Operaciones de Trading
- Coloca órdenes límite con autenticación firmada EIP-712
- Cancela órdenes (individuales, por lote o todas)
- Verifica y establece aprobaciones de tokens (USDC, CTF)
- Seguimiento de posiciones con cálculos de P&L
-
Integración con Agentes de IA
- Soporte completo de MCP (Protocolo de Contexto del Modelo)
- Funciona con Claude, Cursor IDE y otras herramientas de IA compatibles con MCP
- 34 herramientas de trading preconstruidas organizadas por categoría
-
Seguridad Empresarial
- Cifrado AES-256-GCM para todos los datos sensibles
- Autenticación de claves API con hash SHA-256
- Sistema de socios de plataforma para integraciones B2B
- Límites de tasa y registro de solicitudes
Inicio Rápido
1. Configura MCP (Cursor IDE)
Añade a ~/.cursor/mcp.json:
{
"mcpServers": {
"limitless": {
"url": "https://limitless-mcp-server-production.up.railway.app/mcp",
"headers": {
"x-api-key": "YOUR_API_KEY"
}
}
}
}
2. Obtén Tu Clave API
Vía herramienta MCP:
{
"tool": "limitless_signup",
"args": {
"externalId": "your-unique-id"
}
}
3. Comienza a Operar
"Search for bitcoin prediction markets"
"Buy 10 YES shares at $0.60 on the BTC market"
"Show my current positions"
"Cancel my open orders"
Herramientas MCP Disponibles (34 en Total)
Nota: Todos los nombres de herramientas llevan el prefijo
limitless_para evitar colisiones con otros MCP.
Autenticación y Configuración (6 herramientas)
| Herramienta | Descripción |
|---|---|
limitless_signup | Crea una nueva cuenta con una wallet Base nueva |
limitless_request_api_key | Obtén una nueva clave API (requiere firma HMAC) |
limitless_setup_wallet | Genera una nueva wallet Base |
limitless_import_wallet | Importa una wallet existente (cifrada) |
limitless_get_wallet_import_instructions | Instrucciones para exportación segura de wallet |
limitless_import_private_key | Importación directa de clave privada |
Información de Wallet (4 herramientas)
| Herramienta | Descripción |
|---|---|
limitless_get_wallet_info | Obtén la dirección y el tipo de wallet |
limitless_get_wallet_status | Estado completo de la wallet con saldos |
limitless_get_balances | Verifica saldos de ETH y USDC |
limitless_get_deposit_address | Obtén la dirección para financiar |
Descubrimiento de Mercados (6 herramientas)
| Herramienta | Descripción |
|---|---|
limitless_get_markets | Lista mercados activos con paginación |
limitless_search_markets | Búsqueda semántica de mercados |
limitless_get_market | Obtén detalles del mercado incluyendo el venue |
limitless_get_orderbook | Obtén el orderbook con ofertas/demandas |
limitless_get_price_history | Datos históricos de precios |
limitless_get_categories | Lista categorías de mercados |
Trading (8 herramientas)
| Herramienta | Descripción |
|---|---|
limitless_place_order | Coloca una orden límite |
limitless_cancel_order | Cancela una orden individual |
limitless_cancel_all_orders | Cancela todas las órdenes en un mercado |
limitless_get_orders | Lista tus órdenes |
limitless_check_approvals | Verifica aprobaciones de tokens |
limitless_set_approvals | Establece aprobaciones de tokens |
limitless_get_locked_balance | Obtén USDC bloqueado en órdenes |
limitless_get_quote | Estima el precio de ejecución |
Posiciones (4 herramientas)
| Herramienta | Descripción |
|---|---|
limitless_get_positions | Obtén posiciones activas con P&L |
limitless_get_trades | Obtén historial de operaciones |
limitless_get_portfolio_history | Historial completo del portafolio |
limitless_sync_positions | Sincroniza posiciones desde la API |
Transferencias (3 herramientas)
| Herramienta | Descripción |
|---|---|
limitless_send_eth | Envía ETH a otra dirección |
limitless_send_usdc | Envía USDC a otra dirección |
limitless_export_private_key | Exporta la clave privada de la wallet |
Gestión de Claves API (3 herramientas)
| Herramienta | Descripción |
|---|---|
limitless_list_api_keys | Lista tus claves API |
limitless_create_api_key | Crea una nueva clave API |
limitless_revoke_api_key | Revoca una clave API |
Autoalojamiento
Requisitos previos
- Node.js 20+
- PostgreSQL 15+
- Acceso RPC de Base (mainnet.base.org)
Instalación
# Clone the repository
git clone https://github.com/joinQuantish/limitless-mcp.git
cd limitless-mcp
# Install dependencies
npm install
# Copy environment template
cp .env.example .env
# Edit .env with your values (see Environment Variables below)
# Generate Prisma client
npx prisma generate
# Push database schema
npx prisma db push
# Build and start
npm run build
npm start
Variables de Entorno
Crea un archivo .env con:
# Database (PostgreSQL)
DATABASE_URL="postgresql://user:password@host:5432/limitless_mcp?schema=public"
# Encryption (generate with: openssl rand -hex 32)
ENCRYPTION_KEY="your-64-character-hex-encryption-key-here"
# Blockchain - Base L2
BASE_RPC_URL="https://mainnet.base.org"
# Limitless Exchange API
LIMITLESS_API_URL="https://api.limitless.exchange"
# Server
PORT=3003
NODE_ENV=production
# Admin API Key (generate with: openssl rand -hex 32)
ADMIN_API_KEY="your-admin-api-key-here"
# Optional: Bot signing secret for returning user verification
BOT_SIGNING_SECRET=""
Despliegue con Docker
# Build the image
docker build -t limitless-mcp .
# Run the container
docker run -d \
-p 3003:3003 \
-e DATABASE_URL="postgresql://..." \
-e ENCRYPTION_KEY="..." \
-e ADMIN_API_KEY="..." \
-e BASE_RPC_URL="https://mainnet.base.org" \
-e LIMITLESS_API_URL="https://api.limitless.exchange" \
-e NODE_ENV=production \
limitless-mcp
Despliegue en Railway
# Install Railway CLI
npm install -g @railway/cli
# Login and initialize
railway login
railway init
# Add PostgreSQL via Railway dashboard
# Set environment variables
railway variables set DATABASE_URL="postgresql://..."
railway variables set ENCRYPTION_KEY="$(openssl rand -hex 32)"
railway variables set ADMIN_API_KEY="$(openssl rand -hex 32)"
railway variables set BASE_RPC_URL="https://mainnet.base.org"
railway variables set LIMITLESS_API_URL="https://api.limitless.exchange"
railway variables set NODE_ENV="production"
# Deploy
railway up
Referencia de API
Verificación de Salud
curl https://your-server/health
Respuesta:
{
"status": "healthy",
"timestamp": "2026-01-17T12:00:00.000Z",
"version": "1.0.0",
"service": "limitless-mcp",
"database": "connected",
"environment": "production"
}
Endpoint MCP
# List available tools
curl -X POST https://your-server/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
# Call a tool (authenticated)
curl -X POST https://your-server/mcp \
-H "Content-Type: application/json" \
-H "x-api-key: pk_limitless_..." \
-d '{
"jsonrpc":"2.0",
"id":1,
"method":"tools/call",
"params":{
"name":"limitless_get_balances",
"arguments":{}
}
}'
API de Datos de Mercado
# Get active markets
curl "https://your-server/api/markets?limit=10&page=1"
# Search markets
curl "https://your-server/api/markets/search?query=bitcoin&limit=5"
# Get market details
curl "https://your-server/api/markets/your-market-slug"
# Get orderbook
curl "https://your-server/api/markets/your-market-slug/orderbook"
Arquitectura de Seguridad
Haz clic para expandir los detalles de seguridad
Cifrado en Reposo
Todos los datos sensibles se cifran usando AES-256-GCM:
- Claves privadas cifradas antes del almacenamiento en base de datos
- Tokens de sesión cifrados con IV únicos
- Secretos de API cifrados (solo se almacena el hash SHA-256 para búsqueda)
Seguridad de Claves API
API Key Format: pk_limitless_<32 base64url chars>
API Secret Format: sk_limitless_<43 base64url chars>
- Las claves se procesan con hash SHA-256 antes del almacenamiento (nunca se almacenan en texto plano)
- Los secretos se cifran con AES-256-GCM
- Comparación segura contra timing usando
crypto.timingSafeEqual
Aislamiento de Plataforma (B2B)
Para socios de plataforma:
- Claves de administrador de plataforma:
plt_limitless_*/psk_limitless_* - Todas las consultas se limitan por platformId a nivel de base de datos
- Registro de actividad para pista de auditoría
- Límites de usuario aplicados por plataforma
Límites de Tasa
- 60 solicitudes/minuto por clave API (general)
- 30 solicitudes/minuto para listado de usuarios (admin de plataforma)
- 5 solicitudes/hora para registro de plataforma
Importación Segura de Wallet (BYOW)
Importa tu wallet existente de MetaMask/hardware de forma segura:
Paso 1: Exporta Tu Clave Privada
En MetaMask: Configuración > Seguridad > Exportar Clave Privada
Paso 2: Cifra Localmente
const crypto = require('crypto');
const privateKey = 'YOUR_PRIVATE_KEY_WITHOUT_0x_PREFIX';
const password = 'YourSecurePassword123!'; // min 12 chars
const salt = crypto.randomBytes(32);
const iv = crypto.randomBytes(16);
const derivedKey = crypto.scryptSync(password, salt, 32, { N: 16384, r: 8, p: 1 });
const cipher = crypto.createCipheriv('aes-256-gcm', derivedKey, iv);
let encrypted = cipher.update(privateKey, 'utf8', 'hex');
encrypted += cipher.final('hex');
const authTag = cipher.getAuthTag().toString('hex');
console.log({
encryptedKey: `${encrypted}:${authTag}`,
salt: salt.toString('hex'),
iv: iv.toString('hex'),
publicKey: 'YOUR_WALLET_ADDRESS'
});
Paso 3: Importa al SDK
{
"tool": "limitless_import_wallet",
"args": {
"encryptedKey": "...",
"salt": "...",
"iv": "...",
"publicKey": "0x...",
"password": "YourSecurePassword123!"
}
}
Nota de Seguridad: Tu clave privada sin procesar NUNCA sale de tu máquina. Solo el paquete cifrado se envía a nuestros servidores, y no podemos descifrarlo sin tu contraseña.
Recursos Relacionados
| Recurso | URL |
|---|---|
| Limitless Exchange | https://limitless.exchange |
| Documentación de API de Limitless | https://api.limitless.exchange/api-v1 |
| Explorador de Base Chain | https://basescan.org |
| Contrato USDC de Base | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 |
Licencia
PolyForm Noncommercial 1.0.0 © Quantish
Soporte
- Problemas: Issues de GitHub
- Correo electrónico: hello@quantish.live