CryptoAPIs MCP Prepare Transactions

Servidor MCP para construir transações não assinadas em múltiplas blockchains via Crypto APIs

Documentação

@cryptoapis-io/mcp-prepare-transactions

Servidor MCP para o produto Crypto APIs Prepare Transactions. Construa transações não assinadas para EVM, Tezos, Solana, Kaspa, XRP, UTXO e Tron.

Versão da API: Compatível com a versão 2024-12-12 do Crypto APIs

Recursos

  • Prepare transações de transferência de moeda nativa EVM, tokens fungíveis ERC-20 e NFTs ERC-721
  • Prepare operações de transferência de tokens nativos Tezos (XTZ), FA1.2 e FA2
  • Prepare transações de transferência de SOL nativo e tokens SPL na Solana
  • Prepare transferências de KAS nativo na Kaspa, com suporte a múltiplos destinatários
  • Prepare transferências de XRP nativo
  • Prepare transferências de moeda nativa em 6 blockchains UTXO (Bitcoin, Bitcoin Cash, Litecoin, Dogecoin, Dash, Zcash)
  • Prepare transferências de TRX nativo, TRC-20 e NFT por meio dos endpoints dedicados de prepare-transactions da Tron
  • Retorna dados de transação não assinados prontos para assinatura local

Pré-requisitos

Instalação

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

Ou instale todos os servidores MCP do 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

Adicione à configuração do Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json no macOS, %APPDATA%\Claude\claude_desktop_config.json no Windows):

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

Cursor

Adicione a .cursor/mcp.json (projeto) ou ~/.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. Inicie o servidor no modo HTTP:
    npx @cryptoapis-io/mcp-prepare-transactions --transport http --port 3000 --api-key YOUR_API_KEY
    
  2. No seu fluxo de trabalho do n8n, adicione um nó AI Agent
  3. Em Tools, adicione uma MCP Client Tool e defina a URL para http://localhost:3000/mcp

n8n no Docker: localhost dentro do contêiner não é a sua máquina. Inicie o servidor com --host 0.0.0.0 e MCP_AUTH_TOKEN definidos (veja Expondo o servidor além do localhost), use http://host.docker.internal:3000/mcp como URL e adicione um cabeçalho Authorization: Bearer <token> à credencial da MCP Client Tool.

Todos os servidores usam a porta 3000 por padrão. Use --port para atribuir portas diferentes ao executar vários servidores.

Ferramentas Disponíveis

prepare_transactions_evm

Prepare transações EVM não assinadas.

AçãoDescrição
prepare-transaction-from-addressPrepare uma transferência de moeda nativa a partir de um endereço
prepare-fungible-token-transferPrepare uma transferência de token ERC-20
prepare-nft-transferPrepare uma transferência de NFT ERC-721

prepare_transactions_tezos

Prepare operações Tezos não assinadas (mainnet, shadownet).

AçãoDescrição
native-coinsPrepare uma transferência de XTZ nativo
fa1-2-tokensPrepare uma transferência de token FA1.2
fa2-tokensPrepare uma transferência de token FA2

prepare_transactions_solana

Prepare transações Solana não assinadas (mainnet, devnet).

AçãoDescrição
native-coinsPrepare uma transferência de SOL nativo
spl-tokensPrepare uma transferência de token SPL

prepare_transactions_kaspa

Prepare transações Kaspa não assinadas (somente mainnet).

AçãoDescrição
native-coinsPrepare uma transferência de KAS nativo, com suporte a múltiplos destinatários em uma única transação

prepare_transactions_xrp

Prepare transações XRP não assinadas (mainnet, testnet).

AçãoDescrição
native-coinsPrepare uma transferência de XRP nativo

prepare_transactions_utxo

Prepare transações UTXO não assinadas (Bitcoin, Bitcoin Cash, Litecoin, Dogecoin, Dash, Zcash; mainnet, testnet).

AçãoDescrição
native-coinsPrepare uma transferência de moeda nativa, com suporte a múltiplos destinatários. Requer feePriority ou exactFee

prepare_transactions_tron

Prepare transações Tron não assinadas por meio dos endpoints dedicados de prepare-transactions da Tron (mainnet, nile).

AçãoDescrição
native-coinsPrepare uma transferência de TRX nativo
trc20-tokensPrepare uma transferência de token TRC-20
non-fungible-tokensPrepare uma transferência de NFT TRC-721/TRC-1155

Argumentos de CLI

ArgumentoDescriçãoPadrão
--api-keyChave de API do Crypto APIsvariável de ambiente CRYPTOAPIS_API_KEY
--transportTipo de transporte: stdio ou httpstdio
--hostHost HTTP (use 0.0.0.0 para aceitar conexões remotas — requer um token de autenticação com --api-key)127.0.0.1
--auth-tokenToken Bearer que os chamadores devem enviar (Authorization: Bearer <token>); prefira a variável de ambiente MCP_AUTH_TOKENvariável de ambiente MCP_AUTH_TOKEN
--allowed-hostsLista de permissões de cabeçalho Host separada por vírgulas para binds não loopback—
--portPorta HTTP3000
--pathCaminho HTTP/mcp
--statelessAtivar modo HTTP sem estadofalse

Modos de Chave de API HTTP

Ao usar transporte HTTP, o servidor suporta dois modos de chave de API:

  • Com --api-key: A chave é usada para todas as solicitações. Cabeçalhos de solicitação x-api-key são ignorados.
  • Sem --api-key: Cada solicitação deve incluir um cabeçalho x-api-key com uma chave válida do Crypto APIs. Isso permite hospedar um servidor público onde cada usuário fornece sua própria chave.
# 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

Expondo o servidor além do localhost

O modo HTTP escuta em 127.0.0.1 por padrão, portanto, apenas processos na mesma máquina podem alcançá-lo. Para aceitar conexões de outras máquinas ou contêineres, faça o bind explicitamente e proteja a porta:

# 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 o cabeçalho Host (proteção contra rebinding de DNS) quando não está vinculado ao loopback. Prefira MCP_AUTH_TOKEN em vez de --auth-token: argumentos de linha de comando são visíveis na lista de processos.

O transporte Stdio sempre requer uma chave de API na inicialização.

Importante: Chave de API Necessária

Aviso: Fazer solicitações sem uma chave de API válida — ou com uma incorreta — pode resultar no banimento do seu IP do ecossistema Crypto APIs. Sempre garanta que uma chave de API válida esteja configurada antes de iniciar qualquer servidor.

Servidor MCP Remoto

O Crypto APIs fornece um servidor MCP remoto oficial com todas as ferramentas disponíveis via transporte HTTP Streamable em https://ai.cryptoapis.io/mcp. Envie sua chave de API pelo cabeçalho x-api-key — sem necessidade de instalação.

Licença

MIT