Purpose
AI agents often need sensitive information at runtime—API keys, passwords, credentials. Currently, users usually paste this information directly into the chat, where it is permanently saved in the conversation history. The Volta MCP server solves this problem with burn-after-reading encrypted notes: users can create a note at voltanotes.com and send a one-time URL. After the agent calls read_volta_note to read it, the note is permanently destroyed, and the sensitive information no longer appears in the chat history; the reverse also works, as the agent can use create_volta_note to send credentials to the user via a self-destructing link.
Main capabilities
- create_volta_note: Creates an encrypted note and returns a one-time URL. The recipient can open it only once, and the content permanently disappears after reading.
- read_volta_note: Reads and permanently destroys a Volta note. Returns the decrypted content; the note is permanently deleted from the canister, and reading it again will fail.
- Notes use AES-256-GCM end-to-end encryption, with encryption performed locally before being sent to the canister.
- The decryption key exists only in the URL fragment (#...), and browsers and servers never transmit the fragment.
- The ICP canister stores only ciphertext, so even if compromised, none of the data can be read.
- Notes are destroyed on first read, and unread notes expire after 7 days.
- No account, no login, no tracking.
How to use
Claude Code (CLI and desktop app)
Step 1—Install globally.
Step 2—Register the server.
After completion, restart Claude Code, and the create_volta_note and read_volta_note tools will be available.
Note: Why use claude mcp add instead of editing the configuration file? Claude Code reads MCP servers from its own registry, not from ~/.claude/mcp.json. Using the CLI ensures the server is registered correctly. The -s user flag makes it available in all projects.
Can't find node? Use the full path: replace node with the output of which node (for example, /usr/local/bin/node).
Claude Desktop (standalone version))
Add it to claude_desktop_config.json.
Other MCP-compatible clients
The npx configuration above works with any client that supports the standard command / args MCP format—including Cursor, Windsurf, Cline, Continue.dev, and others. Look in your client's MCP documentation for where to add the server configuration.
Hermes Agent (Nous Research)
Volta MCP works with Hermes through its MCP integration. Add the server to the Hermes configuration (~/.hermes/config.yaml), restart Hermes, and the agent can use the create_volta_note and read_volta_note tools.
Agent-to-agent use case: autonomous Hermes agents often need to pass credentials between workflows without exposing them in logs or memory. Volta Notes is designed for this—one agent creates a note, passes the one-time URL to the next, and the secret is destroyed when read. Nothing is retained in conversation history or tool output logs.
Windows (Claude Code CLI)
The $(npm root -g) syntax does not work in PowerShell or CMD; use the alternative command instead, or use the Claude Desktop / npx method above, which works cross-platform.
Agent prompt snippet
Add the following to any agent's system prompt to enable secure credential handoff.
When to use
- A user passes sensitive information such as API keys, passwords, or credentials to an AI agent.
- An agent sends credentials to a user in the form of a self-destructing link.
- Agents pass credentials autonomously between agents, avoiding exposure in logs or memory.
Limitations
- Requires Node.js 18+ (uses the built-in Web Crypto API).
- Unread notes expire after 7 days.
- Notes can only be read once; a second read will fail.
Troubleshooting
- Check whether the server is connected: you should see volta: ... ✓ Connected; otherwise refer to the following instructions.
- Server not showing up: did you use claude mcp add? Manually editing ~/.claude/mcp.json does not work—Claude Code reads servers from its own registry, so always register with claude mcp add.
- Is node in PATH? Claude Code's shell uses a minimal PATH. If node cannot be found, use the full path: claude mcp add -s user volta -- $(which node) $(npm root -g)/@voltanotes/mcp/dist/index.js
- Restart required: after adding or changing an MCP server, fully restart Claude Code (quit and reopen).
- How do you know the server has started? When the server starts successfully, it outputs Volta MCP server started to stderr. Run claude mcp list to check the connection status.
License
MIT — Unprompted Labs