CryptoAPIs MCP Prepare Transactions

servidor MCP para construir transacciones no firmadas en múltiples blockchains a través de Crypto APIs

Documentación

@cryptoapis-io/mcp-prepare-transactions

Servidor MCP para el producto Prepare Transactions de Crypto APIs. Construye transacciones sin firmar para EVM, Tezos, Solana, Kaspa, XRP, UTXO y Tron.

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

Características

  • Prepara transacciones de transferencia de moneda nativa EVM, tokens fungibles ERC-20 y NFTs ERC-721
  • Prepara operaciones de transferencia de tokens nativos de Tezos (XTZ), FA1.2 y FA2
  • Prepara transacciones de transferencia de SOL nativo y tokens SPL en Solana
  • Prepara transferencias de KAS nativo en Kaspa, con soporte para múltiples destinatarios
  • Prepara transferencias de XRP nativo
  • Prepara transferencias de moneda nativa en 6 cadenas UTXO (Bitcoin, Bitcoin Cash, Litecoin, Dogecoin, Dash, Zcash)
  • Prepara transferencias de TRX nativo, TRC-20 y NFT mediante los endpoints dedicados de prepare-transactions de Tron
  • Devuelve datos de transacciones sin firmar listos para firma local

Requisitos previos

Instalación

npm install @cryptoapis-io/mcp-prepare-transactions

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

Uso

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

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

# HTTP transport (listens on 127.0.0.1; see "Exposing the server beyond localhost")
npx @cryptoapis-io/mcp-prepare-transactions --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-prepare-transactions": {
      "command": "npx",
      "args": ["-y", "@cryptoapis-io/mcp-prepare-transactions"],
      "env": {
        "CRYPTOAPIS_API_KEY": "your_api_key_here"
      }
    }
  }
}

Cursor

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

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

MCP Inspector

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

n8n

  1. Inicia el servidor en modo HTTP:
    npx @cryptoapis-io/mcp-prepare-transactions --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 Exponiendo 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

prepare_transactions_evm

Prepara transacciones EVM sin firmar.

AcciónDescripción
prepare-transaction-from-addressPrepara una transferencia de moneda nativa desde una dirección
prepare-fungible-token-transferPrepara una transferencia de token ERC-20
prepare-nft-transferPrepara una transferencia de NFT ERC-721

prepare_transactions_tezos

Prepara operaciones de Tezos sin firmar (mainnet, shadownet).

AcciónDescripción
native-coinsPrepara una transferencia de XTZ nativo
fa1-2-tokensPrepara una transferencia de token FA1.2
fa2-tokensPrepara una transferencia de token FA2

prepare_transactions_solana

Prepara transacciones de Solana sin firmar (mainnet, devnet).

AcciónDescripción
native-coinsPrepara una transferencia de SOL nativo
spl-tokensPrepara una transferencia de token SPL

prepare_transactions_kaspa

Prepara transacciones de Kaspa sin firmar (solo mainnet).

AcciónDescripción
native-coinsPrepara una transferencia de KAS nativo, con soporte para múltiples destinatarios en una sola transacción

prepare_transactions_xrp

Prepara transacciones de XRP sin firmar (mainnet, testnet).

AcciónDescripción
native-coinsPrepara una transferencia de XRP nativo

prepare_transactions_utxo

Prepara transacciones UTXO sin firmar (Bitcoin, Bitcoin Cash, Litecoin, Dogecoin, Dash, Zcash; mainnet, testnet).

AcciónDescripción
native-coinsPrepara una transferencia de moneda nativa, con soporte para múltiples destinatarios. Requiere feePriority o exactFee

prepare_transactions_tron

Prepara transacciones de Tron sin firmar mediante los endpoints dedicados de prepare-transactions de Tron (mainnet, nile).

AcciónDescripción
native-coinsPrepara una transferencia de TRX nativo
trc20-tokensPrepara una transferencia de token TRC-20
non-fungible-tokensPrepara una transferencia de NFT TRC-721/TRC-1155

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
--statelessHabilita el 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-prepare-transactions --transport http --port 3000
# Clients send x-api-key header with each request

Exponiendo 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 alcanzarlo. Para aceptar conexiones de otras máquinas o contenedores, enlaza 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-prepare-transactions --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-prepare-transactions --transport http --host 0.0.0.0 --port 3000

--allowed-hosts restringe el encabezado Host (protección contra rebinding de DNS) cuando no está enlazado 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 mediante transporte HTTP Streamable en https://ai.cryptoapis.io/mcp. Pasa tu clave de API mediante el encabezado x-api-key — no se requiere instalación.

Licencia

MIT