mcpvault
Provides tools for interacting with GitHub, including listing repositories, viewing repositories, managing issues, pull requests, reading files, and searching code.
Provides read-only access to Stripe data, including listing customers, charges, subscriptions, and retrieving objects.
Provides tools for managing Supabase projects, organizations, running SQL queries, listing tables, and retrieving logs.
Provides tools for managing Vercel projects, deployments, and domains.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcpvaultSwitch to Acme Supabase account and list projects"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcpvault
Local, encrypted credential vault for AI agents. Keep many accounts per service (Supabase, GitHub, Vercel, Stripe), and let Claude / Cursor / Codex pick the right one mid-conversation.
"I'm working on the Acme project today — switch me to that Supabase account and list the projects."
The agent calls a vault tool, the right credentials are loaded, the request executes against the real API. No restart, no manual token-swapping.
Install
npm i -g mcpvaultRequires Node 20+. Works on Windows, macOS, Linux.
Setup in 3 commands
mcpvault init # create vault, set master password
mcpvault add supabase # paste a PAT — validated immediately against the API
mcpvault setup # auto-wire into Claude Code / Desktop / CursorThen restart your chat client. That's it.
Day-to-day
Command | What it does |
| Add an account. Validates the token live, suggests a label. |
| See all accounts. The currently active one is marked ● per service. |
| Rotate a token, edit description/tags. |
| Delete an account (with type-the-label confirmation). |
| Set the active account. Wrappers pick it up on next call. |
| Show what's active per service. |
| Vault lock state. |
| Diagnose vault / keyring / file issues. |
| Re-run to wire additional clients later. |
mcpvault, mvault, and mcp-vault all work — they're aliases.
What you can ask the agent
After mcpvault setup + restart, your agent has these tools available:
vault (control plane)
unlock_vault, lock_vault, vault_status, list_accounts, find_account, get_active, activate_account, add_account, update_account, delete_account, export_redacted
vault-supabase
supabase_list_projects, supabase_list_organizations, supabase_run_sql, supabase_list_tables, supabase_get_logs
vault-github
github_list_repos, github_get_repo, github_list_issues, github_create_issue, github_list_pulls, github_get_file, github_search_code
vault-vercel
vercel_list_projects, vercel_list_deployments, vercel_get_deployment, vercel_list_domains
vault-stripe (read-only by design — no writes)
stripe_list_customers, stripe_retrieve_customer, stripe_list_charges, stripe_list_subscriptions, stripe_retrieve
Example flow
You: Switch to the Acme Supabase account and list its projects.
Agent: [find_account "Acme"] → matched "client-acme"
[activate_account supabase client-acme]
[supabase_list_projects]
Active is now client-acme. 3 projects: acme-prod, acme-staging, acme-internal.
You: Now switch to my personal one and show me its orgs.
Agent: [activate_account supabase personal]
[supabase_list_organizations]
Personal account has 1 org: my-projects.Same wrapper process. Zero restart between switches.
Security model
Layer | Mechanism |
Vault file on disk | AES-256-GCM, Argon2id KDF (m=64 MiB, t=3, p=1) |
Master password | Never written to disk; held in memory after |
Session key (after unlock) | OS keyring (Windows Credential Manager / macOS Keychain / libsecret on Linux). Survives reboots so you don't re-type your password daily. |
Wrapper MCP processes | Read decrypted creds from keyring per request. Credentials never returned through MCP — only the API result is. |
Stripe wrapper | Read-only by design. No |
Audit log |
|
If you want stricter behavior (re-enter master password every boot), run mcpvault lock before shutdown, or call lock_vault through your agent.
Files on disk
~/.mvault/
├── vault.enc # AES-256-GCM, Argon2id-derived key
├── active.json # plain JSON, only labels — no secrets
└── vault.log # append-only audit logThe legacy path
~/.mcp-vault/is also recognized for existing users.
Architecture
Chat client (Claude Code / Desktop / Cursor)
│
├── spawns: mcpvault server ← control plane (list/find/activate/add)
├── spawns: mcpvault wrap supabase ← per-service wrapper
├── spawns: mcpvault wrap github
├── spawns: mcpvault wrap vercel
└── spawns: mcpvault wrap stripe
│
├── reads: ~/.mvault/active.json (which label per service)
└── reads: ~/.mvault/vault.enc (encrypted creds)
│
decrypted with key from
OS keyring (cached at unlock)Each wrapper re-reads the active label on every tool call, so switching accounts is instant — no process restart.
Development
git clone https://github.com/Elraian/mcpvault.git
cd mcpvault
npm install
npm run build
npm test # ~22 unit + e2e tests
npm link # exposes `mcpvault` globally for local testingWhy this exists
Most MCP servers are locked to one account at startup. If you have 10 Supabase projects across 4 clients, you either register the Supabase MCP 10 times or constantly swap tokens by hand. mcpvault lets the agent search and switch accounts naturally during a conversation. Same idea applies to any service Anthropic / Cursor / etc. don't natively multi-account.
Roadmap
v2: OAuth-based services (Gmail, Drive, Slack — needs refresh logic)
v3: 1Password / Bitwarden CLI integration
v3: Account "contexts" — switch Supabase + GitHub + Vercel + Stripe atomically per project
v4: Web UI (Tauri / system tray)
Credits
Built by AISIDE — @Elraian. Marketing site: mcpvault-website (coming soon).
If you find this useful, the cheapest way to say thanks is a star on the repo.
License
MIT — see LICENSE.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Elraian/mcpvault'
If you have feedback or need assistance with the MCP directory API, please join our Discord server