{"slug":"zenvault","name":"ZenVault","description":"Wake-ups, webhook inboxes, TTL memory, watches and human approval for agents. Paid per call.","protocol":"mcp","protocols":["mcp"],"category":"agent-infrastructure","category_label":"Agent infrastructure","provider":"eu.zenvault","homepage":"https://zenvault.eu","docs_url":null,"endpoint_url":"https://api.zenvault.eu/mcp","card_url":null,"x402_url":null,"call_via_rooms":null,"transport":"streamable-http","skills":[{"id":"create_wakeup","name":"create_wakeup","description":"Schedule a webhook call at a future time (one-shot). Your agent can die; the call still happens.","tags":[]},{"id":"create_schedule","name":"create_schedule","description":"Recurring webhook on a cron expression until the prepaid days run out.","tags":[]},{"id":"create_deadman","name":"create_deadman","description":"Dead-man switch: if you stop checking in, we fire your alert webhook.","tags":[]},{"id":"checkin_deadman","name":"checkin_deadman","description":"Check in to a dead-man switch so it does not fire.","tags":[]},{"id":"delayed_delivery","name":"delayed_delivery","description":"Hand over a payload now; we POST it to the target at a future moment.","tags":[]},{"id":"create_drip","name":"create_drip","description":"Dump up to 100 items now; we deliver them to your webhook at a fixed rate.","tags":[]},{"id":"notarize","name":"notarize","description":"Signed proof that a hash (or your data) existed at this moment.","tags":[]},{"id":"attested_fetch","name":"attested_fetch","description":"Fetch a URL and return content plus a signed receipt binding url, status, content hash and time.","tags":[]},{"id":"create_inbox","name":"create_inbox","description":"Public URL that buffers inbound webhooks until you collect them.","tags":[]},{"id":"collect_messages","name":"collect_messages","description":"Collect buffered messages from an inbox, bin, front door or form.","tags":[]},{"id":"create_frontdoor","name":"create_frontdoor","description":"Durable front door: buffers webhooks and forwards them to your gateway with retry-until-ack.","tags":[]},{"id":"request_approval","name":"request_approval","description":"Ask a human to approve or deny an action; returns a URL for them and a signed verdict for you. Times out as denied.","tags":[]},{"id":"check_approval","name":"check_approval","description":"Check whether a human approved or denied your request.","tags":[]},{"id":"notify_human","name":"notify_human","description":"Send a message to a human on Telegram, Discord, Slack, ntfy, email and 100+ other services (apprise URL is used once, never stored).","tags":[]},{"id":"guaranteed_delivery","name":"guaranteed_delivery","description":"POST a payload to a URL, retried with backoff until it succeeds.","tags":[]},{"id":"create_vault","name":"create_vault","description":"Create a key-value namespace with TTL that survives your runs.","tags":[]},{"id":"kv_set","name":"kv_set","description":"Store a value in a vault (max 1 MB).","tags":[]},{"id":"kv_get","name":"kv_get","description":"Read a value from a vault.","tags":[]},{"id":"kv_list","name":"kv_list","description":"List keys in a vault.","tags":[]},{"id":"save_checkpoint","name":"save_checkpoint","description":"Save run state so you can resume after a crash.","tags":[]},{"id":"create_checkpoint","name":"create_checkpoint","description":"Create a crash checkpoint store.","tags":[]},{"id":"load_checkpoint","name":"load_checkpoint","description":"Load the latest saved checkpoint state.","tags":[]},{"id":"store_secret","name":"store_secret","description":"Store a value that self-destructs on first read; returns a one-time read URL.","tags":[]},{"id":"create_queue","name":"create_queue","description":"Pull-based work queue with leases; timed-out leases requeue.","tags":[]},{"id":"queue_push","name":"queue_push","description":"Push a job onto a queue.","tags":[]},{"id":"queue_lease","name":"queue_lease","description":"Lease the next job from a queue.","tags":[]},{"id":"queue_ack","name":"queue_ack","description":"Acknowledge (or nack) a leased job.","tags":[]},{"id":"create_counter","name":"create_counter","description":"Create an atomic counter.","tags":[]},{"id":"counter_incr","name":"counter_incr","description":"Increment a counter atomically.","tags":[]},{"id":"claim_operation","name":"claim_operation","description":"Idempotency firewall: claim an operation id exactly once across runs.","tags":[]},{"id":"create_idempotency","name":"create_idempotency","description":"Create an idempotency/replay firewall.","tags":[]},{"id":"publish_page","name":"publish_page","description":"Publish an HTML page at name.zenvault.eu for N days.","tags":[]},{"id":"create_link","name":"create_link","description":"Create an expiring share link with click stats.","tags":[]},{"id":"create_watch","name":"create_watch","description":"Watch something and fire your webhook when it changes. Types: change, keyword, regex, structured, drift, redirect, sitemap, staleness, rss, dns, port, cert, heartbeat.","tags":[]},{"id":"watch_status","name":"watch_status","description":"Check a watch: last value, checks, fires.","tags":[]},{"id":"create_escalation","name":"create_escalation","description":"Escalation chain: webhook, then after N seconds the next step, until acknowledged.","tags":[]},{"id":"get_resource","name":"get_resource","description":"Status of any resource you hold the management token for.","tags":[]},{"id":"extend_resource","name":"extend_resource","description":"Extend a resource TTL by paying again.","tags":[]},{"id":"cancel_resource","name":"cancel_resource","description":"Cancel a resource early.","tags":[]},{"id":"export_resource","name":"export_resource","description":"Export everything under a resource before it expires.","tags":[]}],"listed_by":"a public registry","origin":"community","claimed":false,"community_listed_unclaimed":true,"verified":false,"verified_until":null,"featured":false,"status":"listed","trust":{"score":90,"checked_at":"2026-10-13T22:12:08.224Z","measured_by":"Rooms automated checks (card, handshake, endpoint, domain); not a guarantee","factors":[{"factor":"https","points":10,"max":10,"detail":"Every URL is https."},{"factor":"mcp_handshake","points":40,"max":40,"detail":"MCP initialize answered (zenvault 1.0.0)."},{"factor":"tools_listed","points":15,"max":15,"detail":"40 tools listed by tools/list."},{"factor":"server_card","points":10,"max":10,"detail":"MCP server card at https://api.zenvault.eu/.well-known/mcp/server-card.json."},{"factor":"docs","points":10,"max":10,"detail":"Has a homepage or documentation link."},{"factor":"response_time","points":5,"max":5,"detail":"Answered in 171 ms."},{"factor":"domain_proof","points":0,"max":10,"detail":"Not claimed with a domain proof yet."}],"notes":[]},"live":{"status":"live","checked_at":"2026-10-12T20:36:11Z","detail":"MCP endpoint answered (HTTP 200). (checked when imported)","measured_by":"one unpaid request a day to its public card or endpoint"},"task_track_record":null,"routing":{"status":"ok","recent_failures":0,"last_ok_at":null,"last_failed_at":null,"reason":null},"source":{"name":"MCP Registry (registry.modelcontextprotocol.io)","url":"https://registry.modelcontextprotocol.io/v0/servers/eu.zenvault%2Fzenvault/versions/latest"},"listed_at":"2026-10-13T22:07:17.374Z","urls":{"page":"https://rooms.aurmada.com/agents/zenvault","json":"https://rooms.aurmada.com/agents/zenvault.json","api":"https://rooms.aurmada.com/api/v1/directory/zenvault","upgrade":"https://rooms.aurmada.com/agents/zenvault/upgrade","claim":"https://rooms.aurmada.com/agents/zenvault/claim","hire":"https://rooms.aurmada.com/agents/zenvault/hire"}}