ZenVault
by zenvault.eu · remote · no sign-in to list tools · v1.0.2 · published by eu.zenvault
Wake-ups, webhook inboxes, TTL memory, watches and human approval for agents. Paid per call.
44 tools: 1 can delete or cancel things, 2 do something that can't be undone, 35 change things and 6 only read.
Scanned Oct 21, 2026
- Deletes or cancels1Claude Code: deny: see these tools
- Can't be undone2Claude Code: ask: see these tools
- Changes things35Claude Code: ask: see these tools
- Only reads6Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http zenvault https://api.zenvault.eu/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
44 tools
Deletes or cancels 1Claude Code: deny
cancel_resourceCancel a resource early.No findings
Why it is in this group
- The name "cancel_resource" says "cancel": a word for removing or ending something.
Description, as the server wrote it Cancel a resource early.
Can't be undone 2Claude Code: ask
notify_humanSend a message to a human on Telegram, Discord, Slack, ntfy, email and 100+ other services (apprise URL is used once, never stored).No findings
Why it is in this group
- The name "notify_human" says "notify": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Send a message to a human on Telegram, Discord, Slack, ntfy, email and 100+ other services (apprise URL is used once, never stored).
publish_pagePublish an HTML page at name.zenvault.eu for N days.No findings
Why it is in this group
- The name "publish_page" says "publish": a word for a change that another call does not undo.
Description, as the server wrote it Publish an HTML page at name.zenvault.eu for N days.
Changes things 35Claude Code: ask
check_approvalCheck whether a human approved or denied your request.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Check whether a human approved or denied your request.
checkin_deadmanCheck in to a dead-man switch so it does not fire.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Check in to a dead-man switch so it does not fire.
claim_operationIdempotency firewall: claim an operation id exactly once across runs.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Idempotency firewall: claim an operation id exactly once across runs.
collect_messagesCollect buffered messages from an inbox, bin, front door or form.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Collect buffered messages from an inbox, bin, front door or form.
counter_incrIncrement a counter atomically.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Increment a counter atomically.
create_checkpointCreate a crash checkpoint store.No findings
Why it is in this group
- The name "create_checkpoint" says "create": a word for a change.
Description, as the server wrote it Create a crash checkpoint store.
create_counterCreate an atomic counter.No findings
Why it is in this group
- The name "create_counter" says "create": a word for a change.
Description, as the server wrote it Create an atomic counter.
create_deadmanDead-man switch: if you stop checking in, we fire your alert webhook.No findings
Why it is in this group
- The name "create_deadman" says "create": a word for a change.
Description, as the server wrote it Dead-man switch: if you stop checking in, we fire your alert webhook.
create_dripDump up to 100 items now; we deliver them to your webhook at a fixed rate.No findings
Why it is in this group
- The name "create_drip" says "create": a word for a change.
Description, as the server wrote it Dump up to 100 items now; we deliver them to your webhook at a fixed rate.
create_escalationEscalation chain: webhook, then after N seconds the next step, until acknowledged.No findings
Why it is in this group
- The name "create_escalation" says "create": a word for a change.
Description, as the server wrote it Escalation chain: webhook, then after N seconds the next step, until acknowledged.
create_frontdoorDurable front door: buffers webhooks and forwards them to your gateway with retry-until-ack.No findings
Why it is in this group
- The name "create_frontdoor" says "create": a word for a change.
Description, as the server wrote it Durable front door: buffers webhooks and forwards them to your gateway with retry-until-ack.
create_idempotencyCreate an idempotency/replay firewall.No findings
Why it is in this group
- The name "create_idempotency" says "create": a word for a change.
Description, as the server wrote it Create an idempotency/replay firewall.
create_inboxPublic URL that buffers inbound webhooks until you collect them.No findings
Why it is in this group
- The name "create_inbox" says "create": a word for a change.
Description, as the server wrote it Public URL that buffers inbound webhooks until you collect them.
create_linkCreate an expiring share link with click stats.No findings
Why it is in this group
- The name "create_link" says "create": a word for a change.
Description, as the server wrote it Create an expiring share link with click stats.
create_queuePull-based work queue with leases; timed-out leases requeue.No findings
Why it is in this group
- The name "create_queue" says "create": a word for a change.
Description, as the server wrote it Pull-based work queue with leases; timed-out leases requeue.
create_scheduleRecurring webhook on a cron expression until the prepaid days run out.No findings
Why it is in this group
- The name "create_schedule" says "create": a word for a change.
Description, as the server wrote it Recurring webhook on a cron expression until the prepaid days run out.
create_subtokenMint a spend-capped child token for a sub-agent.No findings
Why it is in this group
- The name "create_subtoken" says "create": a word for a change.
Description, as the server wrote it Mint a spend-capped child token for a sub-agent.
create_vaultCreate a key-value namespace with TTL that survives your runs.No findings
Why it is in this group
- The name "create_vault" says "create": a word for a change.
Description, as the server wrote it Create a key-value namespace with TTL that survives your runs.
create_wakeupSchedule a webhook call at a future time (one-shot).No findings
Why it is in this group
- The name "create_wakeup" says "create": a word for a change.
Description, as the server wrote it Schedule a webhook call at a future time (one-shot). Your agent can die; the call still happens.
create_watchWatch something and fire your webhook when it changes.No findings
Why it is in this group
- The name "create_watch" says "create": a word for a change.
Description, as the server wrote it Watch something and fire your webhook when it changes. Types: change, keyword, regex, structured, drift, redirect, sitemap, staleness, rss, dns, port, cert, heartbeat.
credit_balanceCheck the balance of your prepaid credit token.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Check the balance of your prepaid credit token.
delayed_deliveryHand over a payload now; we POST it to the target at a future moment.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Hand over a payload now; we POST it to the target at a future moment.
export_resourceExport everything under a resource before it expires.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Export everything under a resource before it expires.
extend_resourceExtend a resource TTL by paying again.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Extend a resource TTL by paying again.
guaranteed_deliveryPOST a payload to a URL, retried with backoff until it succeeds.No findings
Why it is in this group
- The description's first verb is "post": a word for a change.
Description, as the server wrote it POST a payload to a URL, retried with backoff until it succeeds.
kv_setStore a value in a vault (max 1 MB).No findings
Why it is in this group
- The name "kv_set" says "set": a word for a change.
Description, as the server wrote it Store a value in a vault (max 1 MB).
load_checkpointLoad the latest saved checkpoint state.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Load the latest saved checkpoint state.
notarizeSigned proof that a hash (or your data) existed at this moment.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Signed proof that a hash (or your data) existed at this moment.
queue_ackAcknowledge (or nack) a leased job.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Acknowledge (or nack) a leased job.
queue_leaseLease the next job from a queue.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Lease the next job from a queue.
queue_pushPush a job onto a queue.No findings
Why it is in this group
- The name "queue_push" says "push": a word for a change.
Description, as the server wrote it Push a job onto a queue.
request_approvalAsk a human to approve or deny an action; returns a URL for them and a signed verdict for you.No findings
Why it is in this group
- The name "request_approval" says "request": a word for a change.
Description, as the server wrote it Ask a human to approve or deny an action; returns a URL for them and a signed verdict for you. Times out as denied.
request_featureTell the operator what ZenVault is missing.No findings
Why it is in this group
- The name "request_feature" says "request": a word for a change.
Description, as the server wrote it Tell the operator what ZenVault is missing. Free.
save_checkpointSave run state so you can resume after a crash.No findings
Why it is in this group
- The name "save_checkpoint" says "save": a word for a change.
Description, as the server wrote it Save run state so you can resume after a crash.
store_secretStore a value that self-destructs on first read; returns a one-time read URL.No findings
Why it is in this group
- The name "store_secret" says "store": a word for a change.
Description, as the server wrote it Store a value that self-destructs on first read; returns a one-time read URL.
Only reads 6Claude Code: allow
attested_fetchFetch a URL and return content plus a signed receipt binding url, status, content hash and time.No findings
Why it is in this group
- The name "attested_fetch" says "fetch": a word for reading.
Description, as the server wrote it Fetch a URL and return content plus a signed receipt binding url, status, content hash and time.
get_resourceStatus of any resource you hold the management token for.No findings
Why it is in this group
- The name "get_resource" says "get": a word for reading.
Description, as the server wrote it Status of any resource you hold the management token for.
kv_getRead a value from a vault.No findings
Why it is in this group
- The name "kv_get" says "get": a word for reading.
Description, as the server wrote it Read a value from a vault.
kv_listList keys in a vault.No findings
Why it is in this group
- The name "kv_list" says "list": a word for reading.
Description, as the server wrote it List keys in a vault.
list_pricesMachine-readable price list for every ZenVault service, in USD.No findings
Why it is in this group
- The name "list_prices" says "list": a word for reading.
Description, as the server wrote it Machine-readable price list for every ZenVault service, in USD.
watch_statusCheck a watch: last value, checks, fires.No findings
Why it is in this group
- The name "watch_status" says "status": a word for reading.
Description, as the server wrote it Check a watch: last value, checks, fires.
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.2. Values in angle brackets are yours to fill in.
claude mcp add --transport http zenvault https://api.zenvault.eu/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__zenvault__attested_fetch",
"mcp__zenvault__kv_get",
"mcp__zenvault__kv_list",
"mcp__zenvault__watch_status",
"mcp__zenvault__get_resource",
"mcp__zenvault__list_prices"
],
"ask": [
"mcp__zenvault__create_wakeup",
"mcp__zenvault__create_schedule",
"mcp__zenvault__create_deadman",
"mcp__zenvault__checkin_deadman",
"mcp__zenvault__delayed_delivery",
"mcp__zenvault__create_drip",
"mcp__zenvault__notarize",
"mcp__zenvault__create_inbox",
"mcp__zenvault__collect_messages",
"mcp__zenvault__create_frontdoor",
"mcp__zenvault__request_approval",
"mcp__zenvault__check_approval",
"mcp__zenvault__notify_human",
"mcp__zenvault__guaranteed_delivery",
"mcp__zenvault__create_vault",
"mcp__zenvault__kv_set",
"mcp__zenvault__save_checkpoint",
"mcp__zenvault__create_checkpoint",
"mcp__zenvault__load_checkpoint",
"mcp__zenvault__store_secret",
"mcp__zenvault__create_queue",
"mcp__zenvault__queue_push",
"mcp__zenvault__queue_lease",
"mcp__zenvault__queue_ack",
"mcp__zenvault__create_counter",
"mcp__zenvault__counter_incr",
"mcp__zenvault__claim_operation",
"mcp__zenvault__create_idempotency",
"mcp__zenvault__publish_page",
"mcp__zenvault__create_link",
"mcp__zenvault__create_watch",
"mcp__zenvault__create_escalation",
"mcp__zenvault__extend_resource",
"mcp__zenvault__export_resource",
"mcp__zenvault__credit_balance",
"mcp__zenvault__create_subtoken",
"mcp__zenvault__request_feature"
],
"deny": [
"mcp__zenvault__cancel_resource"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as zenvault. Review it before you use it.