Skip to content

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.

Deletes · 1Final · 2Changes · 35

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

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/mcp

Tools

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_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/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.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.