Labsco
MCP SERVER

Attest what an agent did, anchor it to Zcash, and hand a counterparty a receipt they can verify without trusting you.

Agent Guardrails, Content Safety & AuditVerified
Summary
A wrapper makes you trust the server; a receipt makes the server unnecessary to trust.

What comes back is not an answer from a backend — it is a leaf hash, a Merkle path, a root, and the Zcash transaction that anchored that root. A counterparty checks it themselves, months later, without calling this service or believing a word it said.

What it is

The ZAP1 attestation layer for Zcash agent workflows. It creates typed event leaves, commits them into a Merkle root anchored on Zcash, and returns receipt packets another party can check from the schema, the proof material and the anchor — without trusting the server that issued them.

What you get
  • Attestation — attest_event creates a typed leaf and returns its hash; get_events lists recent events; get_stats reports leaves, anchors, type distribution and tree height
  • Anchoring — get_anchor_status returns the current root, unanchored leaves and an anchor recommendation; get_anchor_history lists every root with its Zcash txid and block height
  • Proof — verify_proof checks a leaf is in the tree and returns the path; zap1_prove_receipt fetches the full bundle; zap1_extract_proof_artifact pulls the portable artifact out of a receipt; zap1_verify_evm checks a proof on-chain through the ZAP1Verifier contract on Sepolia, Base or Arbitrum
  • Receipt contract — zcash_conformance_check classifies a packet as malformed, pending or anchored; zap1_verify_external_receipt, zap1_verify_receipt_chain, zap1_compare_receipt_claims, zap1_audit_event_log and zap1_check_anchor_freshness_at_height cover the rest
  • Workflow starters — zcash_capability_manifest states what is covered and what is deliberately excluded, in a form an agent can read; zcash_receipt_template returns a ready workflow for agent actions, payment receipts, operator lifecycle events or policy attestations
  • Wallet and rail handoff — zap1_wallet_receipt_request converts a wallet action result into hash-only attestation arguments; zap1_attest_external_action does the same for an action executed by an external rail
  • Identity — zcash_identity_register, zcash_reputation_score
  • Chain context — get_block_height, lookup_transaction, decode_memo for ZAP1 typed memos, ZIP 302, plain text and raw binary
Requirements

The npm package @frontiercompute/zcash-mcp over stdio. ZAP1_API_KEY is optional and only needed for write operations. This is not a wallet: balance scanning, private key custody, seed handling, PCZT signing, shielded spend construction and lightwalletd or Zaino synchronisation are all outside its scope. Compose it before or after a wallet-layer action, not instead of one.

Setup effort

One command plus a key — npx @frontiercompute/zcash-mcp, then supply credentials