Secure Vault

io.github.mdfifty50-boopPublished by GitHub account mdfifty50-boopv0.1.1Updated Oct 24, 2026

Encrypted secrets and credential management for agents

VerifiedSTDIODesktop onlyDeveloper ToolsSecurity & Monitoring

Overview

AI-generated overview

A local MCP server that stores secrets encrypted, issues short-lived scoped tokens, and injects credentials into request templates so the assistant never sees a

What you can do
Store encrypted secrets with optional rotation policies and list stored secret names and metadata without values. Issue short-lived, scoped agent tokens for a service, and rotate a service's secrets, invalidating old tokens. Inject a secret into a request template server-side using a token ID. Scan pasted config text for exposed credentials such as cloud, API, chat and payment keys. Review an audit trail of secret access over a time range, filtered by agent or secret.
When to use it
Useful when an assistant needs to call APIs with credentials but should not handle plaintext values, and when you want token scoping, rotation and an access audit trail. Also handy for checking config files for leaked keys before committing them.
Requirements
Runs locally over stdio, typically launched with npx from the npm package secure-vault-mcp; Node.js is needed. No accounts, API keys, environment variables or headers are declared. Secrets are held in memory only for the server session lifetime.
Before you install
The assistant can store, rotate and inject real credentials, so treat token scopes and TTLs carefully. Secrets are in-memory only and disappear when the session ends, so plan how to re-supply them. The leak scanner sends the pasted config text to the server for regex matching. The encryption key is server-generated, and the README does not describe where it is kept.

Installation

In SourceWeft

  1. Open Secure Vault in the dashboard and add it to a workspace.
  2. 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

secure-vault-mcp

MCP server for agent-native secrets management. 24,008 secrets have been found in MCP config files on public GitHub. This server solves that.

Agents need secrets to call APIs, but they shouldn't see raw values. secure-vault-mcp stores secrets encrypted with AES-256-GCM, issues short-lived scoped tokens, and injects secrets into requests server-side so the agent never handles plaintext credentials.

Install

bash
npx secure-vault-mcp

Claude Desktop

Add to claude_desktop_config.json:

json
{  "mcpServers": {    "secure-vault": {      "command": "npx",      "args": ["secure-vault-mcp"]    }  }}

From source

bash
git clone https://github.com/mdfifty50-boop/secure-vault-mcp.gitcd secure-vault-mcpnpm installnode src/index.js

Tools

store_secret

Store an encrypted secret with optional rotation policy.

ParamTypeDefaultDescription
namestringrequiredSecret name (e.g. "openai_api_key")
valuestringrequiredSecret value — encrypted immediately
servicestring"default"Service this secret belongs to
rotation_policystring"none""none", "daily", "weekly", "monthly"

get_agent_token

Issue a short-lived, scoped token. The agent receives an opaque token ID, never the raw secret.

ParamTypeDefaultDescription
agent_idstringrequiredRequesting agent identifier
servicestringrequiredService to get a token for
scopestring"read""read", "write", "admin"
ttl_secondsnumber300Token TTL (10s to 86400s)

rotate_secrets

Rotate all secrets for a service. Old tokens are invalidated.

ParamTypeDescription
servicestringService whose secrets to rotate
new_valuestringNew secret value

audit_secret_access

View who accessed what secrets over a time range.

ParamTypeDefaultDescription
time_rangestring"24h""1h", "6h", "24h", "7d", "all"
agent_idstringoptionalFilter by agent
secret_namestringoptionalFilter by secret

scan_config_for_leaks

Scan config text for exposed secrets. Detects AWS keys, GitHub tokens, OpenAI/Anthropic keys, Slack tokens, Stripe keys, private key blocks, bearer tokens, and generic credentials using 12 regex patterns.

ParamTypeDefaultDescription
config_textstringrequiredConfig content to scan
source_labelstring"unknown"Label for audit trail

inject_secret_to_request

Return a request with the secret injected server-side. The agent provides a template with {{SECRET}} placeholder and a valid token ID.

ParamTypeDescription
token_idstringToken from get_agent_token
request_templatestringTemplate with {{SECRET}} placeholder

Resources

URIDescription
secure-vault://secretsAll stored secret names with metadata (no raw values)

Usage Pattern

1. store_secret — store credentials at setup time2. get_agent_token — agent requests a scoped, time-limited token3. inject_secret_to_request — inject secret into API call template4. rotate_secrets — rotate when needed, old tokens auto-invalidate5. scan_config_for_leaks — check config files before committing6. audit_secret_access — review access trail

Security Model

  • Secrets encrypted at rest with AES-256-GCM using a server-generated key
  • Agents receive opaque token IDs, never raw secret values
  • Tokens are scoped (read/write/admin) and time-limited (default 5 minutes)
  • Token rotation invalidates all outstanding tokens for the rotated secret
  • Full audit trail of every store, token issuance, and injection
  • In-memory storage — secrets exist only for the server session lifetime

Tests

bash
npm test

License

MIT

Source: README.md at commit 8b3aff4

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

40% 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

    Declare a license in the repository or the registry entry.