Zcash MCP
Servidor MCP para Zcash con 22 herramientas para transacciones blindadas, verificación de atestaciones y gestión de carteras
Documentación
zcash-mcp
Recibos ZAP1 para agentes de Zcash: verifica flujos de trabajo sin confiar en el servidor.
ZAP1 es un carril de atestación y prueba para flujos de trabajo de Zcash. Frontier Compute mantiene la implementación de referencia de ZAP1.
Un envoltorio te hace confiar en el servidor. ZAP1 hace que el servidor sea innecesario de confiar.
Regla principal: observa el estado, delimita la afirmación, hashea la evidencia, emite un recibo, verifica después.
MCP es la forma estándar para que los agentes de IA llamen a herramientas externas. zcash-mcp
expone la capa de atestación de ZAP1 para agentes que necesitan recibos verificables
alrededor de flujos de trabajo de Zcash: crea hojas de atestación ZAP1, consulta el estado del ancla,
y verifica recibos de prueba.
Este no es un MCP de billetera completo. El escaneo de saldos, la custodia de claves privadas, el manejo de semillas, la firma de PCZT, la construcción de gastos blindados y la sincronización de billetera con lightwalletd o Zaino son trabajo complementario de la capa de billetera, no el alcance de este servidor.
Por qué ZAP1
Los MCP de billetera pueden mover valor. ZAP1 prueba el flujo de trabajo alrededor del valor, y la contraparte puede verificar la prueba sin confiar en Frontier.
Los servidores de herramientas exponen lo que un backend dice en este momento. ZAP1 produce un recibo que otra parte puede verificar después desde el esquema, el material de prueba y el ancla de Zcash.
ZAP1 es el carril de prueba para flujos de trabajo de agentes de Zcash:
attest: crea una hoja de evento tipada.anchor: compromete hojas en una raíz Merkle anclada a Zcash.prove: devuelve un paquete de recibo para una hoja.verify: permite que otra parte verifique el recibo sin confiar en el agente original.
Los sistemas de agentes necesitan más que un pago o una consulta de transacción. Necesitan un recibo que otro agente, usuario, auditor o servicio pueda verificar después:
- qué evento se afirmó
- qué agente o flujo de trabajo lo afirmó
- qué hoja ZAP1 lo registra
- qué raíz Merkle lo incluye
- qué transacción de Zcash ancló esa raíz
- cómo verificar la prueba sin confiar en el agente original
Ese es el carril para este servidor. Da a los agentes de Zcash una capa de recibos que puede ubicarse junto a cualquier billetera, firmante, sistema de custodia, pila lightwalletd, pila Zaino, o flujo de pago específico de la aplicación.
Consulta Carril de Prueba ZAP1 para el límite de categoría, el modelo de recibo, el patrón de integración y los rechazos del equipo rojo. Consulta Conformidad ZAP1 para el contrato de recibo que los agentes e integraciones deberían satisfacer. Consulta Integración de Recibos de Billetera para el patrón de traspaso de acciones de billetera. Consulta Recibos de Carril Externo para solicitudes genéricas de recibos de acciones externas, y Perfiles de Divulgación de Recibos para formas de paquetes públicas, de contraparte, de auditor, de subvención, de cumplimiento e internas.
Límite de Capacidad
La herramienta zcash_capability_manifest da a los agentes un mapa de alcance legible por máquina:
- cubierto aquí: recibos ZAP1, atestaciones de ciclo de vida, verificación de pruebas, estado del ancla, decodificación de memos y contexto público de la cadena
- excluido aquí: custodia, manejo de semillas, escaneo de saldos, firma de PCZT, construcción de gastos blindados y sincronización de servidor de billetera
- regla de composición: usa este servidor antes o después de acciones de la capa de billetera para crear, consultar y verificar recibos
Buenos ajustes:
- recibos de acciones de agente
- paquetes de prueba de pago y factura
- recibos de acciones de billetera
- recibos de acciones externas
- eventos de ciclo de vida del operador
- paquetes de prueba de subvención
- paquetes de auditoría de cumplimiento
- atestaciones de política y reputación
- verificación pública de anclas para flujos de trabajo privados
- traspasos entre agentes donde el receptor necesita prueba, no custodia
Malos ajustes:
- mantener claves
- escanear saldos de billetera
- firmar PCZTs
- transmitir gastos blindados
- reemplazar un SDK de billetera
Flujo del Cliente
Usa zcash_receipt_template primero cuando estés integrando ZAP1 en un producto. Devuelve
un flujo de trabajo listo para el cliente para el tipo de recibo que quieras:
agent_action: prueba que un agente realizó una acción nombrada con hashes de entrada y salida específicospayment_receipt: vincula metadatos de factura o pago a una hoja ZAP1 y después prueba la inclusión bajo una raíz ancladaoperator_lifecycle: registra despliegue, actualización, incidente, recuperación o estado de política como un evento de ciclo de vida verificablepolicy_attestation: registra una decisión de política de un agente, servicio o flujo de trabajo como un evento verificable
Flujo esperado:
- Llama a
zcash_capability_manifestpara confirmar el límite de atestación. - Llama a
zcash_receipt_templatepara el caso de uso. - Para acciones de billetera, llama a
zap1_wallet_receipt_requestpara convertir el resultado de la billetera en argumentosattest_eventsolo de hash. - Llama a
attest_eventpara crear la hoja ZAP1 tipada. - Llama a
get_anchor_statuspara verificar si la hoja está anclada o en espera. - Llama a
verify_proofpara verificar la inclusión en el árbol. - Llama a
zap1_prove_receiptpara obtener un paquete de prueba de traspaso.
Comprobaciones de aceptación:
- el recibo tiene un hash de hoja
- la hoja se verifica bajo una raíz Merkle devuelta
- los recibos v2 conservan cada posición de hermano y el
leaf_countcomprometido - la finalidad del ancla proviene de un artefacto de apertura de raíz verificado por separado, no solo de txid, altura o metadatos de estado
- otro verificador puede repetir la verificación sin confiar en el agente original
- no se enviaron claves privadas, semillas, PCZTs ni estado de escaneo de billetera a este servidor
Rechazos del equipo rojo:
- tratar un URI de pago como prueba de pago
- tratar una hoja no anclada como evidencia de liquidación final
- tratar una cotización, ruta o hash de intención como evidencia de liquidación por sí sola
- pedir a este servidor que firme, escanee saldos, recupere semillas o mantenga claves
- mezclar afirmaciones de custodia en afirmaciones de recibo ZAP1
- ocultar la distinción entre acción de billetera y verificación de recibo
ZAP1 verifica recibos ZAP1. No audita ni garantiza ninguna billetera externa, ruta, pago, puente, intercambio o sistema de liquidación referenciado por un recibo.
Herramientas
| Herramienta | Qué hace |
|---|---|
zcash_capability_manifest | Mapa de alcance legible por máquina para uso de agentes: superficies cubiertas, funciones de billetera excluidas y reglas de composición |
zcash_conformance_check | Valida solo la forma de un paquete de recibo v1 congelado; v1 no puede probar inclusión o confirmación de ancla |
zcash_receipt_template | Flujo de trabajo de recibo listo para el cliente para acciones de agente, recibos de pago, eventos de ciclo de vida del operador y atestaciones de política |
zap1_wallet_receipt_request | Convierte un resultado de acción de la capa de billetera en campos de solicitud de recibo ZAP1 solo de hash |
zap1_attest_external_action | Mapea evidencia de verificación externa delimitada en el contrato de escritura AGENT_ACTION de ZAP1 compatible y precalcula la hoja tipada esperada |
zap1_verify_external_receipt | Valida la forma de recibo externo v1 heredado sin afirmar inclusión criptográfica o confirmación de ancla |
zap1_verify_receipt_v2 | Verifica el paquete de prueba oficial v2 más el testigo AGENT_ACTION retenido, o un recibo de integración v2; la confirmación del ancla sigue siendo separada |
zap1_extract_proof_artifact | Extrae el artefacto de prueba portátil de un recibo ZAP1 |
zap1_check_anchor_freshness_at_height | Calcula la aritmética de profundidad a partir de alturas proporcionadas sin afirmar confirmación de cadena |
zap1_verify_receipt_chain | Valida la forma de secuencia de recibo v1 heredada sin afirmar validez de prueba o ancla |
zap1_compare_receipt_claims | Compara dos recibos ZAP1 para divergencia de afirmación, evidencia, evento y ancla |
zap1_audit_event_log | Reproduce una secuencia de recibo contra una política de tipo de evento proporcionada por el llamador |
attest_event | Crea una hoja de atestación ZAP1 tipada para anclaje posterior |
verify_proof | Verifica una prueba Merkle ZAP1 |
zap1_prove_receipt | Obtiene el paquete completo de prueba Merkle para un hash de hoja |
get_anchor_history | Todos los anclajes de raíz Merkle ZAP1 con txids y alturas de bloque |
get_anchor_status | Estado actual del árbol Merkle: raíz, hojas no ancladas, recomendación |
get_stats | Estadísticas del protocolo ZAP1: hojas, anclas, tipos |
get_events | Eventos de atestación ZAP1 recientes con tipo, hash de billetera, hash de hoja |
get_agent_status | Resumen de atestación para un ID de agente ZAP1 |
zcash_identity_register | Registra una identidad de agente mediante atestación AGENT_REGISTER |
zcash_reputation_score | Obtiene datos de fianza del agente y cumplimiento de política como un objeto de reputación |
decode_memo | Decodifica cargas útiles de memo de Zcash: ZAP1 tipado, ZIP 302, texto, binario |
zap1_create_receipt_invoice | Crea metadatos de recibo ZAP1 para un flujo de trabajo de pago externo |
zap1_watch_receipt_invoice | Consulta el estado de recibo-factura hasta que se pague o se agote el tiempo |
get_block_height | Altura actual de la cadena desde Zebra |
lookup_transaction | Datos de transacción en bruto por txid |
zap1_verify_evm | Verifica una prueba Merkle ZAP1 en cadena mediante contrato EVM |
Instalación
npx @frontiercompute/zcash-mcp
O instala globalmente:
npm install -g @frontiercompute/zcash-mcp
Inicio Rápido
Agrega esto a tu configuración de MCP:
{
"mcpServers": {
"zcash": {
"command": "npx",
"args": ["@frontiercompute/zcash-mcp"]
}
}
}
Reinicia tu cliente y pide la altura de bloque actual de Zcash. Las herramientas de solo lectura no necesitan una clave API.
Obtén una clave de prueba para operaciones de escritura:
curl -s -X POST https://api.frontiercompute.cash/trial-key
Configuración
Variables de entorno:
| Variable | Predeterminado | Descripción |
|---|---|---|
ZEBRA_RPC_URL | http://127.0.0.1:8232 | Endpoint JSON-RPC del nodo Zebra |
ZAP1_API_URL | https://api.frontiercompute.cash | API de atestación ZAP1 |
ZAP1_API_KEY | ninguno | Clave API para operaciones de escritura |
Claude Desktop
Agrega a ~/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"
}
}
}
}
Cualquier Cliente MCP
El servidor se comunica a través de stdio usando JSON-RPC. Apunta tu cliente MCP al
binario zcash-mcp.
Compilar desde el Código Fuente
git clone https://github.com/Frontier-Compute/zcash-mcp.git
cd zcash-mcp
npm ci
npm run build
node dist/index.js
Pruebas
La verificación fuera de línea cubre el servidor stdio compilado y una instalación limpia desde el tarball npm empaquetado:
npm run test:offline
La verificación en vivo alcanza un RPC de Zebra real y la API ZAP1:
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 impulsa el servidor MCP a través de stdio y ejercita la superficie de herramientas en vivo,
no solo los endpoints HTTP subyacentes. Establece ZAP1_AGENT_ID si quieres que la
verificación get_agent_status apunte a un agente desplegado específico.
GitHub Actions refleja esa división:
.github/workflows/offline-ci.ymlejecuta empaquetado determinista y verificaciones de protocolo de enlace MCP en cada push y pull request..github/workflows/live-e2e.ymlejecuta verificaciones en vivo respaldadas por secretos enmain, en un horario y por despacho manual.
Dependencias
- Un nodo Zebra en ejecución para consultas de cadena
- La API ZAP1 para herramientas de atestación, prueba, ancla, evento y recibo
- La decodificación de memos funciona localmente sin dependencias externas
Paquetes Relacionados
| Paquete | Qué hace |
|---|---|
| @frontiercompute/zcash-ika | Firma de Zcash y Bitcoin mediante Ika 2PC-MPC |
| @frontiercompute/openclaw-zap1 | Habilidad de OpenClaw para atestación ZAP1 |
| @frontiercompute/zap1 | Cliente de atestación ZAP1 |
| @frontiercompute/silo-zap1 | Atestación de agente Silo mediante ZAP1 |
Enlaces
Licencia
MIT