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
- Node.js 18+
- Conta e chave de API do Crypto APIs (cadastre-se | obtenha a chave de API)
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
- Inicie o servidor no modo HTTP:
npx @cryptoapis-io/mcp-prepare-transactions --transport http --port 3000 --api-key YOUR_API_KEY - No seu fluxo de trabalho do n8n, adicione um nó AI Agent
- Em Tools, adicione uma MCP Client Tool e defina a URL para
http://localhost:3000/mcp
n8n no Docker:
localhostdentro do contêiner não é a sua máquina. Inicie o servidor com--host 0.0.0.0eMCP_AUTH_TOKENdefinidos (veja Expondo o servidor além do localhost), usehttp://host.docker.internal:3000/mcpcomo URL e adicione um cabeçalhoAuthorization: Bearer <token>à credencial da MCP Client Tool.
Todos os servidores usam a porta 3000 por padrão. Use
--portpara atribuir portas diferentes ao executar vários servidores.
Ferramentas Disponíveis
prepare_transactions_evm
Prepare transações EVM não assinadas.
| Ação | Descrição |
|---|---|
prepare-transaction-from-address | Prepare uma transferência de moeda nativa a partir de um endereço |
prepare-fungible-token-transfer | Prepare uma transferência de token ERC-20 |
prepare-nft-transfer | Prepare uma transferência de NFT ERC-721 |
prepare_transactions_tezos
Prepare operações Tezos não assinadas (mainnet, shadownet).
| Ação | Descrição |
|---|---|
native-coins | Prepare uma transferência de XTZ nativo |
fa1-2-tokens | Prepare uma transferência de token FA1.2 |
fa2-tokens | Prepare uma transferência de token FA2 |
prepare_transactions_solana
Prepare transações Solana não assinadas (mainnet, devnet).
| Ação | Descrição |
|---|---|
native-coins | Prepare uma transferência de SOL nativo |
spl-tokens | Prepare uma transferência de token SPL |
prepare_transactions_kaspa
Prepare transações Kaspa não assinadas (somente mainnet).
| Ação | Descrição |
|---|---|
native-coins | Prepare 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ção | Descrição |
|---|---|
native-coins | Prepare 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ção | Descrição |
|---|---|
native-coins | Prepare 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ção | Descrição |
|---|---|
native-coins | Prepare uma transferência de TRX nativo |
trc20-tokens | Prepare uma transferência de token TRC-20 |
non-fungible-tokens | Prepare uma transferência de NFT TRC-721/TRC-1155 |
Argumentos de CLI
| Argumento | Descrição | Padrão |
|---|---|---|
--api-key | Chave de API do Crypto APIs | variável de ambiente CRYPTOAPIS_API_KEY |
--transport | Tipo de transporte: stdio ou http | stdio |
--host | Host 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-token | Token Bearer que os chamadores devem enviar (Authorization: Bearer <token>); prefira a variável de ambiente MCP_AUTH_TOKEN | variável de ambiente MCP_AUTH_TOKEN |
--allowed-hosts | Lista de permissões de cabeçalho Host separada por vírgulas para binds não loopback | — |
--port | Porta HTTP | 3000 |
--path | Caminho HTTP | /mcp |
--stateless | Ativar modo HTTP sem estado | false |
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çãox-api-keysão ignorados. - Sem
--api-key: Cada solicitação deve incluir um cabeçalhox-api-keycom 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