OpenMM MCP

Servidor de trading cripto nativo de IA con 13 herramientas para datos de mercado, ejecución de órdenes, estrategias de cuadrícula y Cardano DeFi en múltiples exchanges.

Documentación

@qbtlabs/openmm-mcp

smithery badge npm version npm downloads License: MIT Ask DeepWiki

📚 Documentación · 🤖 Portal de Habilidades de IA · 🔌 Referencia de API

Servidor MCP para OpenMM — expone herramientas de datos de mercado, cuentas, trading y estrategias a agentes de IA a través de cualquier cliente MCP.

openmm-mcp MCP server

Dos formas de uso

OpciónIdeal paraClaves APIPagos
Local (npm)Control total, tus propias clavesBóveda cifradaGratis
Alojado (mcp.openmm.io)Sin configuración, pago por usoNo necesario para datos públicosx402 USDC

Configuración local

Requisitos previos: Node.js 20 o posterior.

1. Instalar y configurar

npm install -g @qbtlabs/openmm-mcp
openmm-mcp --setup

El asistente de configuración escribe la configuración MCP correcta para tu cliente (Claude Desktop, Claude Code, Cursor, Windsurf). No se almacenan credenciales en archivos de configuración — solo la ruta del socket.

2. Inicializar la bóveda cifrada

openmm-init

Esto crea una bóveda cifrada en ~/.openmm/vault.enc que contiene tu clave de wallet y credenciales de API de exchange. Establecerás una contraseña, generarás (o importarás) un wallet y opcionalmente agregarás claves de exchange.

3. Iniciar el servidor

openmm serve

Escribe tu contraseña de bóveda una vez. El socket unificado se inicia en /tmp/openmm.sock — todos los clientes MCP se conectan aquí. No existen credenciales en ningún archivo de configuración.

Configuración manual

Si prefieres editar archivos de configuración directamente en lugar de usar --setup:

ClienteArchivo de configuración
Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.json
Claude Code~/.claude.json
Cursor.cursor/mcp.json
Windsurf~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "openmm": {
      "command": "node",
      "args": ["/path/to/openmm-mcp/dist/index.js"],
      "env": {
        "MCP_TRANSPORT": "stdio",
        "OPENMM_SOCKET": "/tmp/openmm.sock",
        "PAYMENT_SERVER": "https://mcp.openmm.io",
        "X402_TESTNET": "true"
      }
    }
  }
}

Reemplaza /path/to/openmm-mcp con la ruta de instalación real. Para Claude Desktop, usa la ruta completa a node (por ejemplo, desde which node) para evitar problemas de nvm/PATH.

Consejo: Ejecuta openmm-mcp --setup en su lugar — escribe automáticamente las rutas absolutas correctas.

Sin claves API. Sin claves privadas. Sin contraseñas. Solo la ruta del socket.

Sin bóveda (inicio rápido)

Puedes omitir la bóveda y pasar las claves API directamente en el bloque env:

{
  "mcpServers": {
    "openmm": {
      "command": "npx",
      "args": ["@qbtlabs/openmm-mcp"],
      "env": {
        "MEXC_API_KEY": "your_key",
        "MEXC_SECRET": "your_secret"
      }
    }
  }
}

La bóveda fortalece cada escenario — nada sensible existe en ningún archivo de configuración, entorno de proceso o memoria del cliente.

Compatibilidad de clientes

ClienteSin bóvedaCon bóveda
Claude DesktopClaves API en envSolo OPENMM_SOCKET
Claude CodeClaves API en envSolo OPENMM_SOCKET
CursorClaves API en envSolo OPENMM_SOCKET
WindsurfClaves API en envSolo OPENMM_SOCKET

Todos los clientes se conectan al mismo openmm serve en ejecución — una bóveda, un socket, cualquier cliente.


Servidor alojado con pagos x402

Conéctate a mcp.openmm.io — no se necesita instalación local para datos públicos. Paga por llamada de herramienta con USDC en Base.

Cómo funciona

AI Agent (Claude / Cursor / Windsurf)
│  MCP stdio — no keys in config
▼
MCP Client Process
(reads OPENMM_SOCKET — credentials never here)
│  Unix socket /tmp/openmm.sock (mode 0600)
▼
openmm serve — unified vault process
┌──────────────────────────────────┐
│  ~/.openmm/vault.enc             │
│  AES-256-GCM + PBKDF2           │  ← wallet key + exchange keys, one vault
│            │                     │
│  Policy Engine                   │  ← maxPerTx, maxPerDay, allowedChains
│  (checked before key is touched) │
│            │                     │
│  signAndWipe()                   │  ← key used inline, wiped from memory
└──────────────────────────────────┘
│  EIP-3009 signature only
▼
mcp.openmm.io → x402 verification → Base L2 settlement

Propiedades de seguridad

PropiedadCómo
Claves cifradas en reposoAES-256-GCM + PBKDF2 en ~/.openmm/vault.enc
Claves nunca en memoria del clienteEl proceso MCP solo contiene la ruta del socket
Claves nunca en archivos de configuraciónSin claves API, sin claves privadas en ninguna configuración
Aislamiento de procesosLa firma ocurre en openmm serve, no en el proceso del agente de IA
Aplicación de políticasLímites de gasto verificados antes de acceder a la clave privada
Seguridad de memoriasignAndWipe() — clave usada una vez, sale del alcance inmediatamente

Flujo de pago

  1. El agente llama a una herramienta
  2. El servidor devuelve 402 Payment Required con el precio
  3. openmm serve firma la autorización EIP-3009 (sin gas — no se necesita ETH)
  4. El servidor envía el pago en cadena y devuelve los datos

Precios de herramientas

CategoríaHerramientasPrecio (USDC)
Gratislist_exchanges$0.00
Lecturaget_ticker, get_orderbook, get_trades, get_ohlcv, get_balance, list_orders, get_cardano_price, discover_pools, get_strategy_status$0.001
Escrituracreate_order, cancel_order, cancel_all_orders, start_grid_strategy, stop_strategy$0.01

Herramientas disponibles (15)

HerramientaDescripciónParámetros
Datos de mercado
list_exchangesListar exchanges compatibles—
get_tickerPrecio en tiempo real, bid/ask, spread, volumenexchange, symbol
get_orderbookProfundidad del libro de órdenes (bids/asks)exchange, symbol, limit?
get_tradesOperaciones recientes con resumen de compra/ventaexchange, symbol, limit?
get_ohlcvDatos de velas OHLCVexchange, symbol, timeframe?, limit?
Cuenta
get_balanceSaldos de cuenta (todos o filtrados)exchange, asset?
list_ordersÓrdenes abiertas (todas o por símbolo)exchange, symbol?
Trading
create_orderColocar orden de límite o de mercadoexchange, symbol, type, side, amount, price?
cancel_orderCancelar orden por IDexchange, symbol, orderId
cancel_all_ordersCancelar todas las órdenes para un parexchange, symbol
Cardano DEX
get_cardano_pricePrecio de token agregado de DEXessymbol
discover_poolsDescubrir pools ADA directos vía Minswap y SundaeSwapsymbol
Estrategia
start_grid_strategyIniciar trading de cuadrículaexchange, symbol, lowerPrice, upperPrice, gridLevels?, totalAmount
stop_strategyDetener una estrategia en ejecuciónstrategyId, cancelOrders?
get_strategy_statusObtener estado de la estrategiastrategyId

Referencia de CLI

Configuración y servidor

ComandoDescripción
openmm-initCrear bóveda, generar/importar wallet, agregar exchanges
openmm-init --import <key>Crear bóveda con una clave privada existente
openmm serveDesbloquear bóveda, iniciar socket unificado
openmm-statusMostrar estado de bóveda, socket, wallet y exchange (sin contraseña)

Credenciales de exchange

ComandoDescripción
openmm-exchange listListar exchanges configurados
openmm-exchange add <id>Agregar credenciales de exchange
openmm-exchange remove <id>Eliminar credenciales de exchange

Exchanges compatibles: mexc, gateio, bitget, kraken, binance, coinbase, okx

Wallet

ComandoDescripción
openmm-wallet infoMostrar dirección del wallet y cadena
openmm-wallet setEstablecer credenciales del wallet
openmm-wallet exportMostrar clave privada (requiere confirmación)

Política de gasto

ComandoDescripción
openmm-policy showMostrar política actual
openmm-policy set max-per-tx <amount>Máximo USDC por transacción
openmm-policy set max-per-day <amount>Máximo USDC por día
openmm-policy set allowed-chains <chains>IDs de cadena separados por comas
openmm-policy resetBorrar todos los límites de política

Avanzado

ComandoDescripción
openmm-vault infoMostrar metadatos de la bóveda
openmm-vault change-passwordCambiar contraseña de la bóveda
openmm-vault exportExportar todas las credenciales (peligroso)
openmm-vault destroyEliminar la bóveda

Ejemplo de uso

Consultar precio de BTC:

"Get me the BTC/USDT ticker on MEXC"

Colocar una orden:

"Buy 0.1 ETH at $2400 on Kraken"

Iniciar estrategia de cuadrícula:

"Start a grid strategy on MEXC for INDY/USDT between $0.10 and $0.15 with 10 levels and $500 total"

Consultar token de Cardano:

"What's the current price of SNEK on Cardano DEXes?"

Seguridad

  • Bóveda: Cifrada con AES-256-GCM en ~/.openmm/vault.enc
  • Contraseña: Solo terminal interactiva — nunca en ningún archivo de configuración, variable de entorno o flag de CLI
  • Socket: Modo /tmp/openmm.sock 0600 — el socket es el límite de autenticación
  • Política: Límites de gasto aplicados en el socket antes de tocar la clave privada
  • Aislamiento: La clave privada nunca entra en la memoria de ningún proceso de cliente MCP — la firma ocurre en el proceso openmm serve vía IPC

Desarrollo

git clone https://github.com/QBT-Labs/openMM-MCP.git
cd openMM-MCP
npm install
npm run typecheck
npm run lint
npm test
npm run build

Recursos

Licencia

MIT

Implementación alojada

Una implementación alojada está disponible en Fronteir AI.