CryptoAPIs MCP Signer

Servidor MCP para assinatura local de transações nas blockchains EVM, UTXO, Tron e XRP — sem necessidade de chamadas de API

Documentação

@cryptoapis-io/mcp-signer

Servidor MCP para assinatura local de transações nas blockchains EVM, UTXO, Tron e XRP. Sem chamadas HTTP da Crypto APIs — a assinatura acontece inteiramente na sua máquina. Nenhuma chave de API necessária.

Segurança

  • Somente Stdio — sem transporte HTTP. O servidor não escuta em nenhuma porta.
  • Chaves privadas na entrada da ferramenta — cada ferramenta recebe privateKey / privateKeys / secret como parâmetros. As chaves nunca são lidas de variáveis de ambiente.
  • Sem chamadas de rede — toda a assinatura é feita localmente usando bibliotecas criptográficas.

Instalação

npm install @cryptoapis-io/mcp-signer

Ou instale todos os servidores MCP da Crypto APIs: npm install @cryptoapis-io/mcp

Uso

npx @cryptoapis-io/mcp-signer

Claude Desktop

Adicione à sua 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-signer": {
      "command": "npx",
      "args": ["-y", "@cryptoapis-io/mcp-signer"]
    }
  }
}

Cursor

Adicione a .cursor/mcp.json (projeto) ou ~/.cursor/mcp.json (global):

{
  "mcpServers": {
    "cryptoapis-signer": {
      "command": "npx",
      "args": ["-y", "@cryptoapis-io/mcp-signer"]
    }
  }
}

MCP Inspector

npx @modelcontextprotocol/inspector npx @cryptoapis-io/mcp-signer

Ferramentas Disponíveis

evm_sign

Assine uma transação EVM (Ethereum, Ethereum Classic, BSC, Polygon, Avalanche (C-Chain), Arbitrum, Base, Optimism, Tron).

AçãoDescrição
sign-from-detailsAssinar a partir de campos de transação estruturados (to, value, gasLimit, etc.)
sign-unsigned-hexAssinar um hex de transação não assinada pré-construída
sign-typed-dataAssinar uma mensagem de dados tipados EIP-712 (o caminho sem gás x402 — ex.: o TransferWithAuthorization EIP-3009 do /authorize do comprador x402). Retorna { signature }, não uma tx.

utxo_sign

Assine uma transação UTXO (Bitcoin, Bitcoin Cash, Litecoin, Dogecoin, Dash, Zcash).

AçãoDescrição
sign-from-detailsAssinar a partir de um objeto de transação preparado (inputs, outputs)
sign-unsigned-hexAssinar um hex de transação não assinada bruto com descritores de entrada

tron_sign

Assine uma transação Tron usando secp256k1 (sem dependência do TronWeb).

AçãoDescrição
sign-from-detailsAssinar a partir de um objeto de transação com raw_data_hex
sign-unsigned-hexAssinar um hex de transação não assinada pré-construída

xrp_sign

Assine uma transação XRP.

AçãoDescrição
sign-from-detailsAssinar a partir de campos de transação XRP estruturados
sign-unsigned-hexAssinar um hex de transação não assinada pré-construída

kaspa_sign

Assine uma transação Kaspa usando schnorr (BIP340) via kaspa-wasm. Somente mainnet.

AçãoDescrição
sign-from-detailsAssinar uma transação Kaspa preparada (da API prepare-transaction)

svm_sign

Assine parcialmente uma transação de pagamento x402 Solana (SVM) — apenas a assinatura da autoridade de origem do comprador (o slot feePayer do facilitador permanece não assinado, assinado no settle).

AçãoDescrição
partial-signDesserializar a tx TransferChecked não assinada em base64 do /authorize do comprador x402 (esquema svm-transaction), adicionar a assinatura do comprador, re-serializar para base64. Retorna { transaction }.

A maioria das ferramentas retorna signedTransactionHex — pronta para transmissão com @cryptoapis-io/mcp-broadcast. Os caminhos x402 retornam { signature } (dados tipados EVM) ou { transaction } (SVM) em vez disso.

Dependências

PacoteFinalidade
ethersAssinatura de transações EVM
bitcoinjs-lib + ecpair + tiny-secp256k1Assinatura de transações UTXO
ellipticAssinatura de transações Tron (secp256k1)
xrplAssinatura de transações XRP

Licença

MIT