CryptoAPIs MCP Simulate

Servidor MCP para simulación de transacciones EVM en seco a través de Crypto APIs

Documentación

@cryptoapis-io/mcp-simulate

Servidor MCP para el producto Simulate de Crypto APIs. Ejecuta transacciones Ethereum en modo de prueba para previsualizar resultados sin transmitirlas.

Versión de API: Compatible con la versión 2024-12-12 de Crypto APIs

Características

  • Simula transacciones Ethereum antes de transmitirlas
  • Previsualiza resultados de transacciones, uso de gas y cambios de estado
  • Solo Ethereum (mainnet, sepolia) — el endpoint subyacente de la API no tiene parámetro de blockchain

Requisitos previos

Instalación

npm install @cryptoapis-io/mcp-simulate

O instala todos los servidores MCP de Crypto APIs: npm install @cryptoapis-io/mcp

Uso

# Run with API key
npx @cryptoapis-io/mcp-simulate --api-key YOUR_API_KEY

# Or use environment variable
export CRYPTOAPIS_API_KEY=YOUR_API_KEY
npx @cryptoapis-io/mcp-simulate

# HTTP transport (listens on 127.0.0.1; see "Exposing the server beyond localhost")
npx @cryptoapis-io/mcp-simulate --transport http --port 3000 --api-key YOUR_API_KEY

Claude Desktop

Añade a tu configuración de Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json en macOS, %APPDATA%\Claude\claude_desktop_config.json en Windows):

{
  "mcpServers": {
    "cryptoapis-simulate": {
      "command": "npx",
      "args": ["-y", "@cryptoapis-io/mcp-simulate"],
      "env": {
        "CRYPTOAPIS_API_KEY": "your_api_key_here"
      }
    }
  }
}

Cursor

Añade a .cursor/mcp.json (proyecto) o ~/.cursor/mcp.json (global):

{
  "mcpServers": {
    "cryptoapis-simulate": {
      "command": "npx",
      "args": ["-y", "@cryptoapis-io/mcp-simulate"],
      "env": {
        "CRYPTOAPIS_API_KEY": "your_api_key_here"
      }
    }
  }
}

MCP Inspector

npx @modelcontextprotocol/inspector npx @cryptoapis-io/mcp-simulate --api-key YOUR_API_KEY

n8n

  1. Inicia el servidor en modo HTTP:
    npx @cryptoapis-io/mcp-simulate --transport http --port 3000 --api-key YOUR_API_KEY
    
  2. En tu flujo de trabajo de n8n, añade un nodo AI Agent
  3. En Tools, añade un MCP Client Tool y establece la URL a http://localhost:3000/mcp

n8n en Docker: localhost dentro del contenedor no es tu máquina. Inicia el servidor con --host 0.0.0.0 y MCP_AUTH_TOKEN configurados (consulta Exponer el servidor más allá de localhost), usa http://host.docker.internal:3000/mcp como URL y añade un encabezado Authorization: Bearer <token> a la credencial del MCP Client Tool.

Todos los servidores usan el puerto 3000 por defecto. Usa --port para asignar diferentes puertos al ejecutar múltiples servidores.

Herramientas disponibles

simulate_evm

Simula una transacción Ethereum (prueba en seco). Solo Ethereum — el endpoint subyacente no tiene parámetro de blockchain.

ParámetroDescripción
networkRed: mainnet o sepolia
fromAddressDirección del remitente
toAddressDirección del destinatario
valueCantidad a enviar (en moneda nativa)
dataDatos de llamada al contrato (hex)
gasLimitLímite de gas
gasPricePrecio del gas

Argumentos de CLI

ArgumentoDescripciónPredeterminado
--api-keyClave de API de Crypto APIsVariable de entorno CRYPTOAPIS_API_KEY
--transportTipo de transporte: stdio o httpstdio
--hostHost HTTP (usa 0.0.0.0 para aceptar conexiones remotas — requiere un token de autenticación con --api-key)127.0.0.1
--auth-tokenToken Bearer que los llamadores deben enviar (Authorization: Bearer <token>); prefiere la variable de entorno MCP_AUTH_TOKENVariable de entorno MCP_AUTH_TOKEN
--allowed-hostsLista de permitidos del encabezado Host separada por comas para enlaces no loopback—
--portPuerto HTTP3000
--pathRuta HTTP/mcp
--statelessHabilitar modo HTTP sin estadofalse

Modos de clave de API HTTP

Al usar transporte HTTP, el servidor admite dos modos de clave de API:

  • Con --api-key: La clave se usa para todas las solicitudes. Los encabezados de solicitud x-api-key se ignoran.
  • Sin --api-key: Cada solicitud debe incluir un encabezado x-api-key con una clave válida de Crypto APIs. Esto permite alojar un servidor público donde cada usuario proporciona su propia clave.
# Per-request key mode (multi-tenant)
npx @cryptoapis-io/mcp-simulate --transport http --port 3000
# Clients send x-api-key header with each request

Exponer el servidor más allá de localhost

El modo HTTP escucha en 127.0.0.1 por defecto, por lo que solo los procesos en la misma máquina pueden acceder a él. Para aceptar conexiones de otras máquinas o contenedores, vincula explícitamente y protege el puerto:

# Startup-key mode: callers must present the token (the server refuses to start without one)
export MCP_AUTH_TOKEN=$(openssl rand -hex 32)
npx @cryptoapis-io/mcp-simulate --transport http --host 0.0.0.0 --port 3000 --api-key YOUR_API_KEY \
  --allowed-hosts mcp.internal.example
# Clients send: Authorization: Bearer $MCP_AUTH_TOKEN

# Per-request key mode: no startup key, every request must carry the caller's own x-api-key
npx @cryptoapis-io/mcp-simulate --transport http --host 0.0.0.0 --port 3000

--allowed-hosts restringe el encabezado Host (protección contra rebinding de DNS) cuando no está vinculado a loopback. Prefiere MCP_AUTH_TOKEN sobre --auth-token: los argumentos de línea de comandos son visibles en la lista de procesos.

El transporte Stdio siempre requiere una clave de API al inicio.

Importante: Clave de API requerida

Advertencia: Realizar solicitudes sin una clave de API válida — o con una incorrecta — puede resultar en el bloqueo de tu IP en el ecosistema de Crypto APIs. Asegúrate siempre de tener una clave de API válida configurada antes de iniciar cualquier servidor.

Servidor MCP remoto

Crypto APIs proporciona un servidor MCP remoto oficial con todas las herramientas disponibles a través del transporte HTTP Streamable en https://ai.cryptoapis.io/mcp. Pasa tu clave de API a través del encabezado x-api-key — no se requiere instalación.

Licencia

MIT