Supabase
Read-only project + SQL access
A local, encrypted credential store for any MCP-compatible AI agent. Works with Claude Desktop, Cursor, Cline, Windsurf, Continue and Zed. Keep many accounts per service. Switch between them from natural language.
$ npm install -g @elraian/mcpvault · macOS · Windows · Linux · from AISIDE
api, dashboard, billing.Works with your agent
Wraps services you already use
Pick your install method and platform. Copy the command, run it, you're unlocked in under a minute.
Works on macOS, Linux, and Windows. The installer puts the mcpvault binary on your PATH (with mvault and mcp-vault as aliases) and stores the encrypted vault at ~/.mcpvault. Upgrade later with npm i -g @elraian/mcpvault@latest.
Every MCP server expects one set of credentials in env vars. So you either restart your agent every time you change clients, or you give one agent access to everything at once. Neither is fine.
A CLI to manage accounts, a vault MCP server your agent can call, and per-service wrappers that re-read the active account on every request.
mcpvault add supabase walks you through label, description and PAT. The description is what fuzzy search matches.
Add four lines to your agent's MCP config (claude_desktop_config.json, .cursor/mcp.json, Cline settings, etc.). mcpvault becomes both the control plane and every per-service wrapper.
Your agent finds the right account, activates it, runs the tool. Each wrapper re-reads the active label on every call, so switching is instant.
Personal Supabase, work Supabase, a freelance client, a demo org. All live side by side. Labels stay alphanumeric; descriptions feed fuzzy search.
Wrappers re-read the active label on every tool call. Going from personal to work is one MCP call. Zero restart.
Write project or client names into descriptions. Your agent calls find_account("supabase", "work") and gets back the right label.
Argon2id KDF (m=64 MiB, t=3, p=1) from your master password. Vault file lives at ~/.mcpvault/vault.enc. The password never touches disk.
Derived session key cached in OS keychain (DPAPI on Windows, Keychain on macOS, Secret Service on Linux). Survives reboots until you explicitly lock.
Records which account was used per request, never the credential. Answer "what did the agent touch on Tuesday?" without exposing keys.
Wrappers decrypt the active credential in-process, call the upstream API, and return the result to your agent. The PAT never crosses the MCP wire. Stripe's wrapper is read-only by design. No create_charge, no refund.
m=64 MiB, t=3, p=1. The vault file is meaningless without the master password.
Protected by your OS login. Lock at any time to invalidate it.
Tools return API responses to your agent. Never the bearer token itself.
Append-only log of which label served which call. Easy to grep, easy to ship.
The credential never crosses the dotted line back to the agent.
Each wrapper exposes a small, opinionated set of tools that match the way you actually use the API from a chat, not the full surface area.
Read-only project + SQL access
Repos, issues, PRs, code search
Projects, deployments, domains
Customers, charges, subscriptions
Three commands and a config snippet. Works the same on macOS, Windows and Linux.
{
"mcpServers": {
"vault": {
"command": "mcpvault",
"args": ["server"]
},
"supabase": {
"command": "mcpvault",
"args": ["wrap", "supabase"]
},
"github": {
"command": "mcpvault",
"args": ["wrap", "github"]
}
}
}claude_desktop_config.jsonCursor.cursor/mcp.jsonClinecline_mcp_settings.jsonWindsurfmcp_config.jsonSame MCP block works for any MCP-compatible client. Restart the agent and you're live.
mcpvault lock before shutting down (or call lock_vault through your agent).create_charge, no refund, by design.mcpvault is open source, MIT-licensed, and runs entirely on your machine. Get it running in five minutes.