GitHub Application: Grant Application - Zcash MCP Server for AI Agent Integration · Issue #300 · ZcashCommunityGrants/zcashcommunitygrants · GitHub (Issue #300)
The Model Context Protocol (MCP) is the emerging standard for AI agents to interact with external tools. Anthropic Claude, Cursor, Windsurf, and Trezor Suite all use MCP for agent-tool integration. Bitcoin, Ethereum, and Solana already have MCP servers. Zcash does not.
This grant builds a production-ready MCP server that enables AI agents to interact with Zcash natively — checking balances, generating addresses, constructing shielded transactions, and querying network state through standardized tool calls. No full node required. It connects to the modern light client stack (lightwalletd/Zaino) and supports Orchard and Sapling shielded pools.
What it does
The MCP server exposes 11 tools for AI agents:
- Wallet Operations: Check balances across transparent, Sapling, and Orchard pools. Generate unified addresses. List transactions with pool filtering.
- Shielded Transactions: Construct and submit shielded Orchard/Sapling sends with memo support. Shield transparent funds (coinbase shielding). Track async operation status.
- Network State: Query network height, sync status, fee estimation (ZIP-317), and lightwalletd/Zaino server health.
- PCZT Integration: Build Partially Created Zcash Transactions for hardware wallet signing workflows (Keystone, OneKey, Ledger).
- Viewing Key Support: Import viewing keys for read-only wallet monitoring without spending capability.
Architecture: TypeScript MCP interface + Rust wallet engine (child process via stdio IPC). The Rust engine wraps canonical Zcash crates (zcash_client_backend, orchard, sapling, pczt) and connects to lightwalletd/Zaino via gRPC. This is the same pattern used by Ywallet, Zingo, and Zecwallet.
Why now
Three factors make this urgent:
-
OWS (#255**) opened the door.** The Open Wallet Standard already includes Zcash with an MCP interface for agent wallet signing. But OWS manages keys and signs transactions — there is no standalone MCP server that provides comprehensive Zcash network interaction for AI agents.
-
zcashd deprecation. The existing coin_daemon_mcp community project wraps zcashd RPC directly, which requires a full node being actively deprecated in favor of Zebra/Zaino. Our server uses the modern light client stack — no full node needed.
-
AI agent ecosystem is maturing fast. Agentic payments are moving from experimental to production (x402, MPP, A2A). The chains with MCP servers get distribution through AI agents. The chains without don’t. If Zcash isn’t in the standard when it matures, adding it later gets harder.
What already exists
The proposal is technically validated against the actual codebase:
- @modelcontextprotocol/sdk (npm v1.29.0, 35.7M weekly downloads) — confirmed available
- lightwalletd CompactTxStreamer gRPC — all RPCs confirmed in service.proto
- Zaino uses identical proto (packages/zaino-proto/) — backend compatibility verified
- pczt crate in librustzcash (v0.6.0, MIT/Apache-2.0) — PCZT construction confirmed
- ZIP-317 fee mechanism (StandardFeeRule::Zip317 in fees.rs) — fee calculation confirmed
- zcash_client_backend structure (18 source files) — wallet engine integration path clear
Budget & Timeline
$20,000 — 8 weeks — 3 milestones
- M1 ($8K, 3 weeks): Core MCP server + Rust wallet engine scaffold. 5 read-only tools (balance, address generation, transaction listing, network info, fee estimation). npm + Smithery publishing.
- M2 ($6K, 3 weeks): Shielded transactions via Rust engine. Note selection, ZK proof generation, transaction submission. Tools: send_shielded, shield_funds, get_operation_status.
- M3 ($6K, 2 weeks): PCZT construction, viewing key import, subtree root queries. Resources and prompts. Security review. Documentation.
Full application details with technical architecture, risk assessment, success metrics, and detailed acceptance criteria are in the GitHub issue linked above. Questions welcome.