Limitless MCP

Servidor MCP para mercados de previsão da Limitless Exchange na Base. 34 ferramentas para acesso ao mercado, negociação com ordens limitadas, gerenciamento de carteira e rastreamento de posições.

Documentação

Servidor Limitless MCP

Negociação de Mercados de Previsão na Base via Limitless Exchange

Crie agentes de negociação com IA para mercados de previsão da Limitless usando o Model Context Protocol (MCP)

License: PolyForm Noncommercial Node.js Base Chain


⚠️ Aviso: A Quantish está encerrando as atividades. A plataforma Quantish (quantish.live) está sendo descontinuada. Este servidor MCP é auto-hospedado e continuará funcionando de forma independente, mas a equipe da Quantish não fará mais manutenção nem atualizações neste projeto. Se você está desenvolvendo no espaço de mercados de previsão e precisa de infraestrutura de dados em tempo real, confira polynode.dev.


Recursos

  • Gerenciamento Seguro de Carteiras

    • Gere novas carteiras Base com armazenamento criptografado de chaves privadas
    • Traga Sua Própria Carteira (BYOW) - Importe carteiras existentes com criptografia no lado do cliente
    • Chaves privadas são criptografadas com AES-256-GCM antes do armazenamento
  • Acesso Completo aos Mercados da Limitless

    • Descoberta de mercados em tempo real via API da Limitless Exchange
    • Acesso a todos os mercados de previsão: Política, Esportes, Cripto e mais
    • Dados de livro de ofertas ao vivo e histórico de preços
    • Busca semântica para descoberta de mercados
  • Operações de Negociação

    • Coloque ordens limitadas com autenticação assinada via EIP-712
    • Cancele ordens (individual, em lote ou todas)
    • Verifique e defina aprovações de tokens (USDC, CTF)
    • Acompanhamento de posições com cálculos de lucro e perda (P&L)
  • Integração com Agentes de IA

    • Suporte completo ao MCP (Model Context Protocol)
    • Funciona com Claude, IDE Cursor e outras ferramentas de IA compatíveis com MCP
    • 34 ferramentas de negociação pré-construídas organizadas por categoria
  • Segurança Empresarial

    • Criptografia AES-256-GCM para todos os dados sensíveis
    • Autenticação por chave de API com hash SHA-256
    • Sistema de parceiros de plataforma para integrações B2B
    • Limitação de taxa e registro de requisições

Início Rápido

1. Configure o MCP (IDE Cursor)

Adicione ao ~/.cursor/mcp.json:

{
  "mcpServers": {
    "limitless": {
      "url": "https://limitless-mcp-server-production.up.railway.app/mcp",
      "headers": {
        "x-api-key": "YOUR_API_KEY"
      }
    }
  }
}

2. Obtenha Sua Chave de API

Via ferramenta MCP:

{
  "tool": "limitless_signup",
  "args": {
    "externalId": "your-unique-id"
  }
}

3. Comece a Negociar

"Search for bitcoin prediction markets"
"Buy 10 YES shares at $0.60 on the BTC market"
"Show my current positions"
"Cancel my open orders"

Ferramentas MCP Disponíveis (34 no Total)

Nota: Todos os nomes de ferramentas são prefixados com limitless_ para evitar colisões com outros MCPs.

Autenticação e Configuração (6 ferramentas)

FerramentaDescrição
limitless_signupCrie uma nova conta com uma carteira Base nova
limitless_request_api_keyObtenha uma nova chave de API (requer assinatura HMAC)
limitless_setup_walletGere uma nova carteira Base
limitless_import_walletImporte uma carteira existente (criptografada)
limitless_get_wallet_import_instructionsInstruções para exportação segura de carteira
limitless_import_private_keyImportação direta de chave privada

Informações da Carteira (4 ferramentas)

FerramentaDescrição
limitless_get_wallet_infoObtenha o endereço e o tipo da carteira
limitless_get_wallet_statusStatus completo da carteira com saldos
limitless_get_balancesVerifique saldos de ETH e USDC
limitless_get_deposit_addressObtenha o endereço para financiamento

Descoberta de Mercados (6 ferramentas)

FerramentaDescrição
limitless_get_marketsListe mercados ativos com paginação
limitless_search_marketsBusca semântica por mercados
limitless_get_marketObtenha detalhes do mercado, incluindo local
limitless_get_orderbookObtenha o livro de ofertas com ofertas de compra/venda
limitless_get_price_historyDados históricos de preços
limitless_get_categoriesListe categorias de mercados

Negociação (8 ferramentas)

FerramentaDescrição
limitless_place_orderColoque uma ordem limitada
limitless_cancel_orderCancele uma única ordem
limitless_cancel_all_ordersCancele todas as ordens em um mercado
limitless_get_ordersListe suas ordens
limitless_check_approvalsVerifique aprovações de tokens
limitless_set_approvalsDefina aprovações de tokens
limitless_get_locked_balanceObtenha USDC bloqueado em ordens
limitless_get_quoteEstime o preço de execução

Posições (4 ferramentas)

FerramentaDescrição
limitless_get_positionsObtenha posições ativas com P&L
limitless_get_tradesObtenha histórico de negociações
limitless_get_portfolio_historyHistórico completo do portfólio
limitless_sync_positionsSincronize posições da API

Transferências (3 ferramentas)

FerramentaDescrição
limitless_send_ethEnvie ETH para outro endereço
limitless_send_usdcEnvie USDC para outro endereço
limitless_export_private_keyExporte a chave privada da carteira

Gerenciamento de Chaves de API (3 ferramentas)

FerramentaDescrição
limitless_list_api_keysListe suas chaves de API
limitless_create_api_keyCrie uma nova chave de API
limitless_revoke_api_keyRevogue uma chave de API

Auto-Hospedagem

Pré-requisitos

  • Node.js 20+
  • PostgreSQL 15+
  • Acesso RPC da Base (mainnet.base.org)

Instalação

# 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

Variáveis de Ambiente

Crie um arquivo .env com:

# 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=""

Implantação com 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

Implantação na 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

Referência da API

Verificação de Saúde

curl https://your-server/health

Resposta:

{
  "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 Dados 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"

Arquitetura de Segurança

Clique para expandir os detalhes de segurança

Criptografia em Repouso

Todos os dados sensíveis são criptografados usando AES-256-GCM:

  • Chaves privadas criptografadas antes do armazenamento no banco de dados
  • Tokens de sessão criptografados com IVs únicos
  • Segredos de API criptografados (apenas o hash SHA-256 é armazenado para consulta)

Segurança das Chaves de API

API Key Format: pk_limitless_<32 base64url chars>
API Secret Format: sk_limitless_<43 base64url chars>
  • As chaves são submetidas a hash SHA-256 antes do armazenamento (nunca armazenadas em texto puro)
  • Os segredos são criptografados com AES-256-GCM
  • Comparação segura em termos de tempo usando crypto.timingSafeEqual

Isolamento de Plataforma (B2B)

Para parceiros de plataforma:

  • Chaves de administrador da plataforma: plt_limitless_* / psk_limitless_*
  • Todas as consultas são limitadas por platformId no nível do banco de dados
  • Registro de atividades para trilha de auditoria
  • Limites de usuário aplicados por plataforma

Limitação de Taxa

  • 60 requisições/minuto por chave de API (geral)
  • 30 requisições/minuto para listagem de usuários (administrador de plataforma)
  • 5 requisições/hora para registro de plataforma

Importação Segura de Carteira (BYOW)

Importe sua carteira MetaMask/hardware existente com segurança:

Etapa 1: Exporte Sua Chave Privada

No MetaMask: Configurações > Segurança > Exportar Chave Privada

Etapa 2: Criptografe 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'
});

Etapa 3: Importe para o SDK

{
  "tool": "limitless_import_wallet",
  "args": {
    "encryptedKey": "...",
    "salt": "...",
    "iv": "...",
    "publicKey": "0x...",
    "password": "YourSecurePassword123!"
  }
}

Nota de Segurança: Sua chave privada bruta NUNCA sai da sua máquina. Apenas o pacote criptografado é enviado aos nossos servidores, e não podemos descriptografá-lo sem a sua senha.


Recursos Relacionados

RecursoURL
Limitless Exchangehttps://limitless.exchange
Documentação da API da Limitlesshttps://api.limitless.exchange/api-v1
Explorador da Cadeia Basehttps://basescan.org
Contrato USDC da Base0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

Licença

PolyForm Noncommercial 1.0.0 © Quantish


Suporte


Construído com precisão por Quantish