CryptoAPIs MCP Signer
Servidor MCP para firma local de transacciones en blockchains EVM, UTXO, Tron y XRP, sin necesidad de llamadas a API.
Documentación
@cryptoapis-io/mcp-signer
Servidor MCP para firma local de transacciones en EVM, UTXO, Tron, XRP, Kaspa, Solana y Tezos. Sin llamadas HTTP a Crypto APIs — la firma ocurre completamente en tu máquina. No se requiere clave API.
Seguridad
- Solo Stdio — sin transporte HTTP. El servidor no escucha en ningún puerto.
- Claves privadas en la entrada de herramientas — cada herramienta recibe
privateKey/privateKeys/secretcomo parámetros. Las claves nunca se leen de variables de entorno. - Sin llamadas de red — toda la firma se realiza localmente usando bibliotecas criptográficas.
Instalación
npm install @cryptoapis-io/mcp-signer
O instala todos los servidores MCP de Crypto APIs: npm install @cryptoapis-io/mcp
Uso
npx @cryptoapis-io/mcp-signer
Claude Desktop
Agrega 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-signer": {
"command": "npx",
"args": ["-y", "@cryptoapis-io/mcp-signer"]
}
}
}
Cursor
Agrega a .cursor/mcp.json (proyecto) o ~/.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
Herramientas Disponibles
evm_sign
Firma una transacción EVM (Ethereum, Ethereum Classic, BSC, Polygon, Avalanche (C-Chain), Arbitrum, Base, Optimism, Tron).
| Acción | Descripción |
|---|---|
sign-from-details | Firmar desde campos de transacción estructurados (to, value, gasLimit, etc.) |
sign-unsigned-hex | Firmar un hex de transacción no firmada preconstruido |
sign-typed-data | Firmar un mensaje de datos tipados EIP-712 (la ruta sin gas x402 — por ejemplo, el TransferWithAuthorization EIP-3009 del comprador x402 /authorize). Devuelve { signature }, no una tx. |
utxo_sign
Firma una transacción UTXO (Bitcoin, Bitcoin Cash, Litecoin, Dogecoin, Dash, Zcash).
| Acción | Descripción |
|---|---|
sign-from-details | Firmar desde un objeto de transacción preparado (entradas, salidas) |
sign-unsigned-hex | Firmar un hex de transacción no firmada en bruto con descriptores de entrada |
tron_sign
Firma una transacción Tron usando secp256k1 (sin dependencia de TronWeb).
| Acción | Descripción |
|---|---|
sign-from-details | Firmar desde un objeto de transacción con raw_data_hex |
sign-unsigned-hex | Firmar un hex de transacción no firmada preconstruido |
xrp_sign
Firma una transacción XRP.
| Acción | Descripción |
|---|---|
sign-from-details | Firmar desde campos de transacción XRP estructurados |
sign-unsigned-hex | Firmar un hex de transacción no firmada preconstruido |
kaspa_sign
Firma una transacción Kaspa usando schnorr (BIP340) mediante kaspa-wasm. Solo mainnet.
| Acción | Descripción |
|---|---|
sign-from-details | Firmar una transacción Kaspa preparada (desde la API de preparación de transacciones) |
svm_sign
Firma parcialmente una transacción de pago x402 de Solana (SVM) — solo la firma de autoridad de origen del comprador (el slot de feePayer del facilitador permanece sin firmar, se firma al liquidar).
| Acción | Descripción |
|---|---|
partial-sign | Deserializar la tx TransferChecked no firmada en base64 del comprador x402 /authorize (esquema svm-transaction), agregar la firma del comprador, re-serializar a base64. Devuelve { transaction }. |
tezos_sign
Firma una operación Tezos para claves tz1 (ed25519), tz2 (secp256k1) o tz3 (P-256) (edsk… / spsk… / p2sk…).
| Acción | Descripción |
|---|---|
sign-forged-operation | Firmar el hex forgedOperation de prepare_transactions_tezos. La operación se decodifica primero: solo se firman operaciones de revelación/transacción desde la propia dirección de la clave, y el expected opcional (destination, amount en mutez, maxFee) debe coincidir. Devuelve { signedOperation, operationHash, signature, … }; transmite signedOperation. |
La mayoría de las herramientas devuelven signedTransactionHex — listo para transmitir con @cryptoapis-io/mcp-broadcast. Las
rutas x402 devuelven { signature } (datos tipados EVM) o { transaction } (SVM) en su lugar.
Dependencias
| Paquete | Propósito |
|---|---|
ethers | Firma de transacciones EVM |
bitcoinjs-lib + ecpair + tiny-secp256k1 | Firma de transacciones UTXO |
elliptic | Firma de transacciones Tron (secp256k1) |
xrpl | Firma de transacciones XRP |
Licencia
MIT