Skip to main content
MCP server CX Codex

enigmagent-mcp — Claude Code MCP server: a local vault for secrets

A local encrypted vault for API keys. Your agent reads entry names, not the values themselves.

Install into Claude Code · Platform CLI All methods and platforms ↓
claude mcp add --env VAULT_PASSWORD=<VAULT_PASSWORD> --env VAULT_PATH=<VAULT_PATH> --transport stdio enigmagent-mcp -- npx -y enigmagent-mcp
Open on GitHub

What enigmagent-mcp does

enigmagent-mcp keeps secret values in a vault file encrypted with AES-256-GCM, using a key derived through Argon2id. The file stays encrypted on disk, so it will not leak through a repo or a log. Version 2.0.0 still reads version 1 vaults and writes new ones in format version 2.

MCP starts in metadata-only mode. The enigmagent_list tool returns names, domains and creation timestamps. The tool that hands back an actual value, enigmagent_resolve, stays off until the operator passes --allow-raw-resolve or sets ENIGMAGENT_ALLOW_RAW_RESOLVE=1. The author is blunt about this switch: leave it off for an untrusted client or a shared process, since a trusted client can still forward the plaintext it receives to its model.

A REST mode exists too. It binds to 127.0.0.1 only, wants a Bearer token of 32 to 256 characters, and turns away browser-origin requests. GET /health answers without auth; everything else needs the token. On a first run attached to a terminal the server asks for the vault credentials, and a headless process should carry ENIGMAGENT_USER and ENIGMAGENT_PASS in its own environment. Vault writes go through a temporary file with a recovery backup, so an interrupted write will not leave you with a broken vault.

What it helps with

  • keep API keys out of the model context
  • expose secret names to an agent without the values
  • encrypt a vault on disk behind a password
  • run a local token-protected REST endpoint over secrets
  • carry a version 1 vault over to format version 2

Example prompts for the agent

  • List my secrets with enigmagent_list
  • Resolve the value bound to api.example.com via enigmagent_resolve
  • Start the server in REST mode on port 3737 with the vault ./my.vault.json

How to install enigmagent-mcp

Platform CLI

claude mcp add --env VAULT_PASSWORD=<VAULT_PASSWORD> --env VAULT_PATH=<VAULT_PATH> --transport stdio enigmagent-mcp -- npx -y enigmagent-mcp

Replace <…> with your own values

Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more

Questions about enigmagent-mcp

How do I install enigmagent-mcp in Claude Code?

Add the server with claude mcp add enigmagent-mcp -e VAULT_PASSWORD=<VAULT_PASSWORD> -- npx -y enigmagent-mcp. Or point it at a vault path: claude mcp add --env VAULT_PASSWORD=<VAULT_PASSWORD> --env VAULT_PATH=<VAULT_PATH> --transport stdio enigmagent-mcp -- npx -y enigmagent-mcp.

What does enigmagent-mcp do?

It is a local MCP server holding secrets in an encrypted vault. Values sit under an AES-256-GCM key, and by default the agent only gets metadata about the entries.

Can the model ever see a real key?

Only when the operator turns on raw resolution with --allow-raw-resolve or ENIGMAGENT_ALLOW_RAW_RESOLVE=1. Then enigmagent_resolve returns a value if the requested origin matches the entry's domain binding.

Similar MCP servers

All MCP servers for Security →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor