CryptoAPIs MCP HD Wallet

Servidor MCP para gestión de carteras HD, recuperación de saldos y sincronización en blockchains EVM, UTXO y XRP a través de Crypto APIs

Documentación

@cryptoapis-io/mcp-hd-wallet

Servidor MCP para el producto HD Wallet (Wallet as a Service) de Crypto APIs. Realiza un seguimiento y gestiona carteras HD mediante su clave pública extendida (xPub/yPub/zPub) — las claves privadas nunca salen de tu dispositivo.

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

Cómo Funciona

Las carteras HD (Jerárquicas Deterministas) derivan todas las direcciones a partir de una única clave pública extendida (xPub). Sincronizas tu xPub con Crypto APIs, y el servicio realiza un seguimiento de todas las direcciones derivadas, saldos y transacciones en tu nombre.

  1. Sincroniza tu xPub — proporciona tu clave pública extendida (xPub, yPub o zPub) para comenzar el seguimiento
  2. Deriva direcciones — genera nuevas direcciones de recepción y de cambio a partir del xPub
  3. Consulta los datos de la cartera — obtén saldos, lista de transacciones, lista de UTXOs y visualiza activos en todas las direcciones derivadas
  4. Prepara transacciones — crea transacciones sin firmar listas para firmarlas localmente con @cryptoapis-io/mcp-signer

Tus claves privadas nunca se envían ni se almacenan en Crypto APIs. Solo se utiliza la clave pública extendida para la derivación de direcciones y el seguimiento de saldos.

Características

  • Sincroniza carteras mediante clave pública extendida (xPub/yPub/zPub)
  • Deriva direcciones de recepción y de cambio a partir del xPub
  • Consulta saldos agregados, transacciones y activos en todas las direcciones derivadas
  • Lista UTXOs para carteras basadas en UTXO
  • Prepara transacciones sin firmar directamente desde la cartera
  • Compatible con EVM (Ethereum, Ethereum Classic, BSC, Polygon, Avalanche (C-Chain), Arbitrum, Base, Optimism, Tron), UTXO (Bitcoin, Bitcoin Cash, Litecoin, Dogecoin, Dash, Zcash) y XRP

Requisitos Previos

Instalación

npm install @cryptoapis-io/mcp-hd-wallet

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

Uso

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

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

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

Cursor

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

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

MCP Inspector

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

n8n

  1. Inicia el servidor en modo HTTP:
    npx @cryptoapis-io/mcp-hd-wallet --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 en 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 varios servidores.

Herramientas Disponibles

manage_hd_wallet

Gestiona carteras HD (sincronizar, activar, eliminar, listar, estado).

AcciónDescripción
sync-walletSincroniza una cartera HD mediante clave pública extendida (xPub/yPub/zPub)
list-walletsLista todas las carteras HD sincronizadas
activate-walletActiva una cartera previamente sincronizada
delete-walletElimina una cartera sincronizada
get-statusObtiene el estado de sincronización de una cartera

hd_wallet_data_utxo

Consulta datos de carteras HD UTXO (Bitcoin, Bitcoin Cash, Litecoin, Dogecoin, Dash, Zcash).

AcciónDescripción
get-detailsObtiene el saldo y los detalles de la cartera
derive-receiving-addressDeriva la siguiente dirección de recepción
derive-change-addressDeriva la siguiente dirección de cambio
list-addressesLista todas las direcciones derivadas
list-transactionsLista las transacciones de la cartera
list-utxosLista las salidas de transacciones no gastadas
list-assetsLista los activos que posee la cartera
prepare-transactionPrepara una transacción sin firmar desde la cartera

hd_wallet_data_evm

Consulta datos de carteras HD EVM (Ethereum, Ethereum Classic, BSC, Polygon, Avalanche (C-Chain), Arbitrum, Base, Optimism, Tron).

AcciónDescripción
get-detailsObtiene el saldo y los detalles de la cartera
derive-receiving-addressDeriva la siguiente dirección de recepción
list-addressesLista todas las direcciones derivadas
list-transactionsLista las transacciones de la cartera
list-assetsLista los tokens que posee la cartera
prepare-transactionPrepara una transacción sin firmar desde la cartera

hd_wallet_data_xrp

Consulta datos de carteras HD XRP.

AcciónDescripción
get-detailsObtiene el saldo y los detalles de la cartera
derive-receiving-addressDeriva la siguiente dirección de recepción
list-addressesLista todas las direcciones derivadas
list-transactionsLista las transacciones de la cartera
list-assetsLista los activos que posee la cartera

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 deben enviar los llamadores (Authorization: Bearer <token>); prefiere la variable de entorno MCP_AUTH_TOKENvariable de entorno MCP_AUTH_TOKEN
--allowed-hostsLista blanca de encabezados Host separados 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-hd-wallet --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 desde 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-hd-wallet --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-hd-wallet --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