Zcash MCP

MCP server for Zcash with 22 tools for shielded transactions, attestation verification, and wallet management

zcash-mcp

npm MCP Registry downloads license

Zcash MCP server. Connects AI agents to shielded Zcash operations. Published on the MCP registry.

MCP (Model Context Protocol) is the standard way for AI models to call external tools. This server exposes 12 Zcash tools that any MCP client can use - Claude Desktop, ChatGPT, OpenClaw, or anything that speaks the protocol.

Tools

ToolWhat it does
get_balanceZAP1 attestation history and anchor status for a wallet hash
send_shieldedGenerate a zcash: payment URI (ZIP 321)
decode_memoDecode shielded memos - ZAP1 typed, ZIP 302, text, binary
attest_eventWrite a ZAP1 attestation to the Zcash blockchain
verify_proofVerify a ZAP1 Merkle proof
get_statsZAP1 protocol stats (leaves, anchors, types)
get_block_heightCurrent chain height from Zebra
lookup_transactionRaw transaction data by txid
get_anchor_historyAll ZAP1 Merkle root anchors with txids and block heights
get_anchor_statusCurrent Merkle tree state: root, unanchored leaves, recommendation
get_eventsRecent ZAP1 attestation events with type, wallet hash, leaf hash
get_agent_statusAttestation summary for a ZAP1 agent ID
zcash_create_invoiceCreate a ZAP1 payment invoice, returns address, amount, zcash: URI, expiry
zcash_watch_paymentPoll an invoice until paid or timeout, returns txid, height, amount
zcash_prove_paymentFetch the full Merkle proof bundle for a leaf hash
zcash_identity_registerRegister an agent identity via AGENT_REGISTER attestation
zcash_reputation_scoreFetch agent bond data and policy compliance as a reputation object
zcash_crosschain_swapCross-chain swap intent: ZEC transparent to BTC, USDC, USDT via Ika or NEAR
zcash_create_walletCreate a split-key wallet via Ika 2PC-MPC (secp256k1 signs for ZEC, BTC, ETH)
zcash_sign_mpcSign a message hash through Ika 2PC-MPC (neither party sees the full key)
zcash_shieldMove ZEC from transparent MPC custody to shielded Orchard pool
zcash_verify_evmVerify a ZAP1 Merkle proof on-chain via EVM contract (Sepolia, Base, Arbitrum)

Install

npx @frontiercompute/zcash-mcp

Or install globally:

npm install -g @frontiercompute/zcash-mcp

Configuration

Environment variables:

VariableDefaultDescription
ZEBRA_RPC_URLhttp://127.0.0.1:8232Zebra node JSON-RPC endpoint
ZAP1_API_URLhttps://pay.frontiercompute.ioZAP1 attestation API
ZAP1_API_KEYnoneAPI key for attest_event

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "zcash": {
      "command": "npx",
      "args": ["@frontiercompute/zcash-mcp"],
      "env": {
        "ZEBRA_RPC_URL": "http://127.0.0.1:8232",
        "ZAP1_API_KEY": "your-key-here"
      }
    }
  }
}

Any MCP client

The server communicates over stdio using JSON-RPC. Point your MCP client at the zcash-mcp binary.

Build from source

git clone https://github.com/Frontier-Compute/zcash-mcp.git
cd zcash-mcp
npm ci
npm run build
node dist/index.js

Testing

Offline verification covers the built stdio server and a clean-room install from the packed npm tarball:

npm run test:offline

Live verification hits a real Zebra RPC and ZAP1 API:

ZEBRA_RPC_URL=http://127.0.0.1:8232 \
ZAP1_API_URL=http://127.0.0.1:3080 \
ZAP1_API_KEY=your-key-here \
npm run test:live

test:live drives the MCP server over stdio and exercises the live tool surface, not just the underlying HTTP endpoints. Set ZAP1_AGENT_ID if you want the get_agent_status check to target a specific deployed agent.

GitHub Actions mirrors that split:

  • .github/workflows/offline-ci.yml runs deterministic packaging and MCP handshake checks on every push and pull request.
  • .github/workflows/live-e2e.yml runs secret-backed live checks on main, on a schedule, and by manual dispatch.

Dependencies

  • A running Zebra node for chain queries (get_block_height, lookup_transaction)
  • The ZAP1 API at pay.frontiercompute.io for attestation tools (get_balance, attest_event, verify_proof, get_stats, get_anchor_history, get_anchor_status, get_events, get_agent_status)
  • Memo decoding works locally with no external dependencies

Related Packages

PackageWhat it does
@frontiercompute/zcash-ikaZcash + Bitcoin signing via Ika 2PC-MPC
@frontiercompute/openclaw-zap1OpenClaw skill for ZAP1 attestation
@frontiercompute/zap1ZAP1 attestation client
@frontiercompute/silo-zap1Silo agent attestation via ZAP1

Links

License

MIT

quickstart (5 minutes)

add to your MCP config:

{
  "mcpServers": {
    "zcash": {
      "command": "npx",
      "args": ["@frontiercompute/zcash-mcp"]
    }
  }
}

restart your client. ask: "what is the current zcash block height?"

done. 22 tools available. no API key needed for read operations.

get a trial key for write operations:

curl -s -X POST https://frontiercompute.cash/api/trial-key

관련 서버

NotebookLM 웹 임포터

원클릭으로 웹 페이지와 YouTube 동영상을 NotebookLM에 가져오기. 200,000명 이상이 사용 중.

Chrome 확장 프로그램 설치