Mcp Signer

io.github.CryptoAPIs-ioPublished by GitHub account CryptoAPIs-iov0.5.0Updated Oct 24, 2026

Local transaction signing for EVM, UTXO, Tron, XRP, Kaspa, Solana and Tezos — no API calls

VerifiedSTDIODesktop onlyFinanceSecurity & Monitoring

Overview

AI-generated overview

A local MCP server that lets an assistant sign cryptocurrency transactions for EVM, UTXO, Tron, XRP, Kaspa, Solana and Tezos chains, entirely on the user's own

What you can do
Sign EVM transactions from structured fields, unsigned hex, or EIP-712 typed data (including x402 gasless authorizations).
When to use it
Use it when an assistant needs to produce signed transactions or signatures for supported chains locally, for example to prepare transactions for broadcasting or to complete x402 payment flows, without sending keys to a remote service.
Requirements
Runs as a local stdio process via npx from the npm package @cryptoapis-io/mcp-signer, so Node.js is needed. No API key, environment variables or headers are required. Desktop client configuration is described for Claude Desktop and Cursor.
Before you install
Private keys are passed directly in tool input (privateKey, privateKeys, secret) rather than read from environment variables, so keys appear in the conversation and tool calls. Signing produces valid signatures that can move funds if broadcast; review transactions and destinations before use. The server makes no network calls itself, but signed output is meant to be broadcast elsewhere.

Installation

In SourceWeft

  1. Open Mcp Signer in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

@cryptoapis-io/mcp-signer

MCP server for local transaction signing across EVM, UTXO, Tron, XRP, Kaspa, Solana and Tezos. No Crypto APIs HTTP calls — signing happens entirely on your machine. No API key required.

Security

  • Stdio only — no HTTP transport. The server does not listen on any port.
  • Private keys in tool input — each tool receives privateKey / privateKeys / secret as parameters. Keys are never read from environment variables.
  • No network calls — all signing is done locally using cryptographic libraries.

Installation

bash
npm install @cryptoapis-io/mcp-signer

Or install all Crypto APIs MCP servers: npm install @cryptoapis-io/mcp

Usage

bash
npx @cryptoapis-io/mcp-signer

Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows):

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

Cursor

Add to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):

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

MCP Inspector

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

Available Tools

evm_sign

Sign an EVM transaction (Ethereum, Ethereum Classic, BSC, Polygon, Avalanche (C-Chain), Arbitrum, Base, Optimism, Tron).

ActionDescription
sign-from-detailsSign from structured transaction fields (to, value, gasLimit, etc.)
sign-unsigned-hexSign a pre-built unsigned transaction hex
sign-typed-dataSign an EIP-712 typed-data message (the x402 gasless path — e.g. the EIP-3009 TransferWithAuthorization from the x402 buyer /authorize). Returns { signature }, not a tx.

utxo_sign

Sign a UTXO transaction (Bitcoin, Bitcoin Cash, Litecoin, Dogecoin, Dash, Zcash).

ActionDescription
sign-from-detailsSign from a prepared transaction object (inputs, outputs). For zcash, produces a v5 (ZIP 225/244) transaction and requires exactly one of targetHeight (current chain tip + 1) or consensusBranchId (e.g. a node's getblockchaininfo consensus.nextblock)
sign-unsigned-hexSign a raw unsigned transaction hex with input descriptors. Does not support zcash

tron_sign

Sign a Tron transaction using secp256k1 (no TronWeb dependency).

ActionDescription
sign-from-detailsSign from a transaction object with raw_data_hex
sign-unsigned-hexSign a pre-built unsigned transaction hex

xrp_sign

Sign an XRP transaction.

ActionDescription
sign-from-detailsSign from structured XRP transaction fields
sign-unsigned-hexSign a pre-built unsigned transaction hex

kaspa_sign

Sign a Kaspa transaction using schnorr (BIP340) via kaspa-wasm. Mainnet only.

ActionDescription
sign-from-detailsSign a prepared Kaspa transaction (from the prepare-transaction API)

svm_sign

Partial-sign a Solana (SVM) x402 payment transaction — the buyer's source-authority signature only (the facilitator's feePayer slot stays unsigned, signed at settle).

ActionDescription
partial-signDeserialize the base64 unsigned TransferChecked tx from the x402 buyer /authorize (scheme svm-transaction), add the buyer signature, re-serialize to base64. Returns { transaction }.

tezos_sign

Sign a Tezos operation for tz1 (ed25519), tz2 (secp256k1) or tz3 (P-256) keys (edsk… / spsk… / p2sk…).

ActionDescription
sign-forged-operationSign the forgedOperation hex from prepare_transactions_tezos. The operation is decoded first: only reveal/transaction ops from the key's own address are signed, and the optional expected (destination, amount in mutez, maxFee) must match. Returns { signedOperation, operationHash, signature, … }; broadcast signedOperation.

Most tools return signedTransactionHex — ready to broadcast with @cryptoapis-io/mcp-broadcast. The x402 paths return { signature } (EVM typed-data) or { transaction } (SVM) instead.

Dependencies

PackagePurpose
ethersEVM transaction signing
bitcoinjs-lib + ecpair + tiny-secp256k1UTXO transaction signing
ellipticTron transaction signing (secp256k1)
xrplXRP transaction signing

License

MIT

Source: README.md at commit a929bc3

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

3
  1. v0.5.0LatestSep 24, 2026
  2. v0.4.1Sep 24, 2026
  3. v0.4.0Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts