
Wundervault Mcp
io.github.wundervaultPublished by GitHub account wundervaultv2.2.0Updated Nov 7, 2026
AI agents use your API keys, SSH keys and wallets through a local broker, never holding them
Overview
Lets an AI agent use your API keys, SSH keys and wallets through a local broker that keeps the secrets and returns only results.
- What you can do
- Call web services with a stored secret attached, getting the answer back with the secret stripped out
- Run commands or rsync files on listed servers, with the broker signing the SSH login
- Pay x402 payment requests in USDC on Base or Solana within limits you set
- Sign data with a signing key, with your approval for each signature
- List the secrets this agent may use, with their kind and defined operations, never their values
- When to use it
- When an agent needs to call authenticated APIs, deploy to servers, pay for metered services or sign data, and you do not want the credentials pasted into chats, config files or logs. It suits users who want per-call approval and a local audit log rather than handing raw keys to the agent.
- Requirements
- A local install: Node.js 22.23.4, 24.22.1 or 26.12.1 or newer, administrator rights, and the broker installed in a system folder on the same computer as the agent. A free vault account, broker pairing with a fingerprint check, and an agent enrolled with a claim code. WUNDERVAULT_AGENT_NAME is required; WUNDERVAULT_AGENT_TOKEN optionally overrides the saved token. Linux, Windows and macOS are supported.
Installation
In SourceWeft
- Open Wundervault Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
@wundervault/mcp-server
[npm version] [MCP Registry] [License: AGPL-3.0] [Follow @wundervault1]
Your AI agent uses your secrets. It never holds them.
A secret you paste into a chat with an AI agent, or leave in a settings file it can read, gets copied into its memory, its transcripts and its logs. With Wundervault the agent never receives the secret at all. A small program on your own computer, the broker, keeps your secrets in an account of its own. Your agent asks it to call a web service, run a command on a server, pay for something or sign something; the broker does it with the secret and hands back the result, with the secret removed.
Your vault is encrypted in your browser, so our server stores it but can't read it. Secrets you mark "ask me first" wait for your approval, with your passkey, on your phone or computer.
This package is the MCP server your agent talks to, and the broker beside it. It works with any Model Context Protocol client: Claude Code, Codex, Cursor, Cline, OpenClaw and others.
Don't take our word for it: check the encryption claim on your own network, and verify the installer, at wundervault.com/verify.
What your agent can do
No tool returns a secret's value. Version 1's hand-over tools (vault_exec, vault_entry_get,
vault_entry_inject_env, vault_rsync) are gone; see Upgrading from version 1.
How it works
- Your agent asks for work: "call this API", "deploy to this server".
- The MCP server passes the request to the broker over a local socket. It holds no secrets.
- For an "ask me first" secret, the broker waits for you to approve that call.
- The broker makes the call with the secret, records it in a log on your computer, and returns the result. For web calls the secret goes to the service it belongs to, as it must; for SSH it never leaves the broker at all.
Install
You need Node.js 22.23.4, 24.22.1 or 26.12.1 or newer (the October 21, 2026 security release: the broker refuses to start on an older Node), and administrator rights on the computer your agents run on. Every step: wundervault.com/help/computer.
1. Create a vault at wundervault.com. It's free.
2. Install the package and the broker on the computer your agents use:
That is Linux: sudo, because the broker only runs a copy installed in a system folder, never
one inside your home folder.
Windows and macOS have their own installers; see wundervault.com/install. The installer downloads nothing and is short enough to read first.
3. Pair the broker with your account. Run the pairing command the installer printed last. It names node and the broker by their full paths, for example:
Use full paths with sudo, not bare names: sudo may look a name up on your own PATH, and a folder
on it that you (and so your agents) can write could hold another program by that name. That goes for
node too, because the broker's launcher starts with #!/usr/bin/env node.
Check that the fingerprint it shows matches the one in your vault, then confirm.
4. Add an agent. In your vault, add an agent and choose this computer. You get a claim code. Run this and enter it:
Then add Wundervault to your agent's MCP settings:
The config holds no secrets, and none go in command-line flags. Configs for other clients: README-AGENTS.md. If you're an AI agent installing this for someone: llms-install.md.
Upgrading from version 1
Version 2 moves your secrets into the broker. Your account, vault and passkeys carry over. Agents still on version 1 can't use your secrets, so move each one:
npm install -g @wundervault/mcp-server@2- Install the broker and pair it (steps 2 and 3 above).
- For each agent: open Agents in your vault, choose Repair, choose this computer,
then run
wundervault-agent --enroland enter the claim code. - When every agent has moved:
wundervault-agent --migrate --finishremoves the old credential store. - Your vault marks each secret your agents could read before version 2 with Replace it at the service. Replace those secrets at the services that issued them: treat them as seen.
Your agent can't do this for you. It needs an administrator command and your approval in the vault, by design. Details: wundervault.com/install#upgrade-to-2.
Supported platforms
On all three the broker runs under its own account, with its secrets in a folder your agents can't open. What differs is what surrounds that boundary:
- Linux adds
ProtectSystem=strict,ProtectHome,ProtectProc, a system-call filter and an empty capability set. The store key is sealed withsystemd-creds, to a TPM where there is one; without a TPM it is sealed to a host key on the same disk. - macOS has no launchd equivalent of that sandboxing, so the account split is very nearly the whole defence. The store key is a random key in a file only the broker's account can read: not sealed. FileVault is what protects a stolen disk.
- Windows has the same account split and none of the extra sandboxing. An elevated
administrator process can read the broker's files, as root can on Linux, and Windows
OpenSSH gives an administrator an elevated session. The store key is a random key in a file
only the broker's account can read; BitLocker protects a stolen disk.
packaging\verify-windows.ps1checks the boundary on your own machine.
If something on Windows or macOS fails, tell us what it printed: wundervault.com/contact.
Security model
- The agent never gets a secret. No tool returns a value. The broker attaches the secret to the request itself, the way you set for that secret (a header, a query parameter, a username and password, or part of the web address), and removes it from the answer. Secrets marked "stamped" (AWS, X and other OAuth 1.0a services, exchanges) never travel: the broker signs each request with them.
- A separate account. Your agents run as you; the broker doesn't. They can't read its files or its memory.
- End-to-end encrypted vault. Secrets are encrypted in your browser with AES-256-GCM. The vault key comes from your passphrase, mixed with an Account Key that never leaves your device, through Argon2id (PBKDF2 for a vault made where WebAssembly is off, such as iPhone Lockdown Mode). We store ciphertext only.
- Signed requests. The broker is paired to your account with a P-256 key whose fingerprint you confirm. The server serves a secret's ciphertext only to requests that broker signed, so a copied credential alone gets nothing.
- Approvals with your passkey. An "ask me first" web call waits until you approve that exact destination, method and path, once or for a short window. Every payment outside your rules and every signature is sealed by your browser to exactly what you saw, so a server that only says "approved" can't spend your money.
- A log on your computer. Every call is recorded by the broker, signed, and checked
against a copy of its chain we hold, so a changed log is detected. For "run without asking"
secrets, where the secret went and why stays on your computer; we never see it.
sudo /opt/wundervault/current/node /opt/wundervault/current/app/bin/wundervault-agent --destinationsopens it (full paths, as for pairing). - HTTPS only, with real certificate checks; redirects are not followed; private network addresses are refused unless you allowed one for that secret.
Honest limitations
- A "run without asking" secret goes where your agent sends it. A tricked agent could send it to a server someone else controls, because the request carries the secret. For secrets that matter, choose "ask me first".
- "Ask me first" approves a destination, method and path, not what the request says. Within an approval window, calls to the same place go ahead whatever they contain.
- The broker removes your secret from the answer as it was sent. A service that sends it back in another form, such as encoded, could get it past; and anything the call creates, such as a new API token, is your agent's.
- Agents that run under the same user account can use each other's access to the broker. Run an agent you trust less under another account.
- The broker must run on the same computer as the agent; fully air-gapped setups don't fit.
- The platform is open-core: this package and the browser crypto are AGPL-3.0, so you can audit everything that touches your secrets; the hosted service is not open source.
Every known limit, kept with the code: wundervault.com/limitations.
Tool reference
The full reference, with every argument: wundervault.com/mcp.
vault_call
vault_ssh_exec
vault_pay
USDC on Base, Base Sepolia, Solana and Solana devnet. Inside the owner's rules (trusted payees, a daily limit, allowed networks) it signs at once; anything else waits for the owner.
vault_sign
The owner approves every signature and is shown the data in full when it is text up to 64 KB.
vault_entries_list
No arguments. Each secret's id, name, tier and kind (web service, SSH, wallet or signing key), and any operations the owner defined. Never a value.
Sandbox / demo mode
Set WUNDERVAULT_MOCK=1 to run the server without a broker or any credentials. Every
tool call then returns a representative response clearly labelled [DEMO MODE] instead of
contacting the vault — no real secret is ever involved. It exists so you can try the tool
surface without an account, and so MCP directory scanners and CI (e.g.
Glama) can start the server and exercise each tool. It is off by
default.
Building from source
Stay updated
Releases and security notes go out on X as @wundervault1. Full release history: wundervault.com/changelog.
License
Licensed under the GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later).
See LICENSE.
Wundervault is open-core: this MCP server, the broker and the browser crypto are open source; the hosted service at wundervault.com is a commercial offering. For commercial or hosting inquiries: wundervault.com/contact.
Source: README.md at commit 800e0a0
Tools
0Version history
4- v2.2.0LatestNov 7, 2026
- v2.1.0Oct 30, 2026
- v2.0.3Oct 29, 2026
- v1.7.2Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts