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
- Node.js 18+
- Cuenta y clave de API de Crypto APIs (regístrate | obtén clave de API)
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
- Inicia el servidor en modo HTTP:
npx @cryptoapis-io/mcp-prepare-transactions --transport http --port 3000 --api-key YOUR_API_KEY - En tu flujo de trabajo de n8n, añade un nodo AI Agent
- En Tools, añade un MCP Client Tool y establece la URL a
http://localhost:3000/mcp
n8n en Docker:
localhostdentro del contenedor no es tu máquina. Inicia el servidor con--host 0.0.0.0yMCP_AUTH_TOKENconfigurados (consulta Exponiendo el servidor más allá de localhost), usahttp://host.docker.internal:3000/mcpcomo URL y añade un encabezadoAuthorization: Bearer <token>a la credencial del MCP Client Tool.
Todos los servidores usan el puerto 3000 por defecto. Usa
--portpara asignar diferentes puertos al ejecutar múltiples servidores.
Herramientas disponibles
prepare_transactions_evm
Prepara transacciones EVM sin firmar.
| Acción | Descripción |
|---|---|
prepare-transaction-from-address | Prepara una transferencia de moneda nativa desde una dirección |
prepare-fungible-token-transfer | Prepara una transferencia de token ERC-20 |
prepare-nft-transfer | Prepara una transferencia de NFT ERC-721 |
prepare_transactions_tezos
Prepara operaciones de Tezos sin firmar (mainnet, shadownet).
| Acción | Descripción |
|---|---|
native-coins | Prepara una transferencia de XTZ nativo |
fa1-2-tokens | Prepara una transferencia de token FA1.2 |
fa2-tokens | Prepara una transferencia de token FA2 |
prepare_transactions_solana
Prepara transacciones de Solana sin firmar (mainnet, devnet).
| Acción | Descripción |
|---|---|
native-coins | Prepara una transferencia de SOL nativo |
spl-tokens | Prepara una transferencia de token SPL |
prepare_transactions_kaspa
Prepara transacciones de Kaspa sin firmar (solo mainnet).
| Acción | Descripción |
|---|---|
native-coins | Prepara 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ón | Descripción |
|---|---|
native-coins | Prepara una transferencia de XRP nativo |
prepare_transactions_utxo
Prepara transacciones UTXO sin firmar (Bitcoin, Bitcoin Cash, Litecoin, Dogecoin, Dash, Zcash; mainnet, testnet).
| Acción | Descripción |
|---|---|
native-coins | Prepara 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ón | Descripción |
|---|---|
native-coins | Prepara una transferencia de TRX nativo |
trc20-tokens | Prepara una transferencia de token TRC-20 |
non-fungible-tokens | Prepara una transferencia de NFT TRC-721/TRC-1155 |
Argumentos de CLI
| Argumento | Descripción | Predeterminado |
|---|---|---|
--api-key | Clave de API de Crypto APIs | Variable de entorno CRYPTOAPIS_API_KEY |
--transport | Tipo de transporte: stdio o http | stdio |
--host | Host HTTP (usa 0.0.0.0 para aceptar conexiones remotas — requiere un token de autenticación con --api-key) | 127.0.0.1 |
--auth-token | Token Bearer que los llamadores deben enviar (Authorization: Bearer <token>); prefiere la variable de entorno MCP_AUTH_TOKEN | Variable de entorno MCP_AUTH_TOKEN |
--allowed-hosts | Lista de permitidos del encabezado Host separada por comas para enlaces no loopback | — |
--port | Puerto HTTP | 3000 |
--path | Ruta HTTP | /mcp |
--stateless | Habilita el modo HTTP sin estado | false |
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 solicitudx-api-keyse ignoran. - Sin
--api-key: Cada solicitud debe incluir un encabezadox-api-keycon 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