Zero-infrastructure secrets manager with MCP server for AI agents. Free and open source.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"localvault": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Zero-infrastructure secrets manager with MCP server for AI agents. Free and open source.
This server supports HTTP transport. Be the first to test it — help the community know if it works.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
This server is missing a description.If you've used it, help the community.
Add informationBe the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in security
An evil MCP server used for redteam testing
Proof primitive for AI agents on MultiversX. Anchor file hashes on-chain as verifiable proofs.
AI-powered reverse engineering assistant that bridges IDA Pro with language models through MCP.
Security-first platform for AI agents. 38 specialized agents, 15 AI-powered extensions, zero-knowledge multi-agent orchestration. SENTINEL WAF, Ed25519 auth, 2.6M grounding facts.
MCP Security Weekly
Get CVE alerts and security updates for Localvault and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Encrypted local secrets vault with MCP server for AI agents. Zero infrastructure, zero cloud dependency.
Try the interactive demo — explore every command in your browser.
Part of InventList Tools — free, open-source developer utilities for indie builders.
brew install inventlist/tap/localvault
gem install localvault
Requires libsodium:
# macOS
brew install libsodium
# Ubuntu/Debian
sudo apt-get install libsodium-dev
# Fedora
sudo dnf install libsodium-devel
# Create a vault (prompts for passphrase)
localvault init
# Store secrets
localvault set OPENAI_API_KEY "sk-proj-..."
localvault set STRIPE_SECRET_KEY "sk_live_..."
localvault set DATABASE_URL "postgres://localhost/myapp"
# Retrieve a secret (raw, pipeable)
localvault get OPENAI_API_KEY
# View all secrets (masked by default)
localvault show
# Reveal values
localvault show --reveal
# Export as shell variables
eval $(localvault env)
# Run a command with secrets injected
localvault exec -- rails server
| Command | Description |
|---|---|
init [NAME] | Create a vault (Argon2id key derivation) |
set KEY VALUE | Store a secret (supports dot-notation: project.KEY) |
get KEY | Retrieve a secret (raw, pipeable) |
show | Display all secrets in a table (masked by default) |
show --reveal | Display with values visible |
show --group | Group by dot-notation prefix (one table per project) |
list | List key names only |
delete KEY | Remove a secret |
rename OLD NEW | Rename a secret key |
copy KEY --to VAULT | Copy a secret to another vault |
import FILE | Bulk-import from .env / .json / .yml |
env | Export as export KEY="value" lines |
exec -- CMD | Run a command with secrets injected as env vars |
| Command | Description |
|---|---|
vaults | List all vaults with secret counts |
switch [VAULT] | Switch default vault |
unlock | Cache passphrase for the session |
lock [NAME] | Clear cached passphrase |
rekey [NAME] | Change vault passphrase (re-encrypts all secrets) |
reset [NAME] | Destroy and reinitialize a vault |
| Command | Description |
|---|---|
login [TOKEN] | Log in to InventList — auto-generates X25519 keypair + publishes public key |
login --status | Show current login status |
logout | Clear stored credentials |
sync | Sync all vaults bidirectionally (push local, pull remote, detect conflicts) |
sync --dry-run | Preview what sync would do without making changes |
sync push [NAME] | Push one vault to cloud |
sync pull [NAME] | Pull one vault from cloud (auto-unlocks if you have a key slot) |
sync status | Show sync state for all vaults |
config set server URL | Point at a custom server (default: inventlist.com) |
Vault-level operations live under team. Person operations (the @handle
already signals a person) are top-level.
| Command | Description |
|---|---|
team init | Convert vault to team vault (sets you as owner, SyncBundle v3) |
team list | List vault members |
team rotate | Re-key vault with new passphrase, keep all members |
verify @handle | Check if a user has a published public key (dry-run) |
add @handle | Add teammate with full vault access |
add @handle --scope KEY... | Add teammate with access to specific keys only |
remove @handle | Remove teammate's access |
remove @handle --scope KEY | Remove one scoped key (keeps other scopes) |
remove @handle --rotate | Full revocation + re-encrypt with new passphrase |
The team add, team remove, and team verify aliases still work for
backward compatibility bu