HashiCorp Vault

HashiCorp Vault

Read dynamic and static secrets from HashiCorp Vault inside agent workflows.

Score 54(?)Community / HashiCorpMPL-2.0Verified Top MCPs for Security

Quick answer

What it does

Reads from HashiCorp Vault — KV v2 secrets, dynamic database credentials, and PKI issuance — without leaking values into the conversation.

Best for

  • Dynamic database credential issuance
  • KV v2 secret reads
  • PKI certificate issuance
  • Per-token scoped agent access

Not for

  • Teams without an existing Vault deployment
  • Single-developer secret stores

Setup recipe

Pick your client, then follow the three steps.

  1. 1

    Install

    claude_desktop_config.json
    {
      "mcpServers": {
        "vault": {
          "command": "go",
          "args": [
            "install",
            "github.com/hashicorp/mcp-server-vault@latest"
          ],
          "env": {
            "VAULT_ADDR": "${VAULT_ADDR}",
            "VAULT_TOKEN": "${VAULT_TOKEN}",
            "VAULT_NAMESPACE": "${VAULT_NAMESPACE}"
          }
        }
      }
    }

    Paste under mcpServers. Fully quit and reopen Claude after editing.

    CLI or .mcp.json
    # export VAULT_ADDR=https://vault.example.com
    # export VAULT_TOKEN=hvs.…
    # export VAULT_NAMESPACE=admin (Enterprise only)
    claude mcp add vault -- go install github.com/hashicorp/mcp-server-vault@latest

    Run from your repo. Commit .mcp.json to share with your team.

    .cursor/mcp.json
    {
      "mcpServers": {
        "vault": {
          "command": "go",
          "args": [
            "install",
            "github.com/hashicorp/mcp-server-vault@latest"
          ],
          "env": {
            "VAULT_ADDR": "${VAULT_ADDR}",
            "VAULT_TOKEN": "${VAULT_TOKEN}",
            "VAULT_NAMESPACE": "${VAULT_NAMESPACE}"
          }
        }
      }
    }

    Global path: ~/.cursor/mcp.json. Reload window after editing.

    .vscode/mcp.json
    {
      "servers": {
        "vault": {
          "command": "go",
          "args": [
            "install",
            "github.com/hashicorp/mcp-server-vault@latest"
          ],
          "env": {
            "VAULT_ADDR": "${VAULT_ADDR}",
            "VAULT_TOKEN": "${VAULT_TOKEN}",
            "VAULT_NAMESPACE": "${VAULT_NAMESPACE}"
          }
        }
      }
    }

    VS Code uses the "servers" key (not "mcpServers").

    ~/.codeium/windsurf/mcp_config.json
    {
      "mcpServers": {
        "vault": {
          "command": "go",
          "args": [
            "install",
            "github.com/hashicorp/mcp-server-vault@latest"
          ],
          "env": {
            "VAULT_ADDR": "${VAULT_ADDR}",
            "VAULT_TOKEN": "${VAULT_TOKEN}",
            "VAULT_NAMESPACE": "${VAULT_NAMESPACE}"
          }
        }
      }
    }

    Open via Cascade → hammer icon → Configure.

    cline_mcp_settings.json
    {
      "mcpServers": {
        "vault": {
          "command": "go",
          "args": [
            "install",
            "github.com/hashicorp/mcp-server-vault@latest"
          ],
          "env": {
            "VAULT_ADDR": "${VAULT_ADDR}",
            "VAULT_TOKEN": "${VAULT_TOKEN}",
            "VAULT_NAMESPACE": "${VAULT_NAMESPACE}"
          }
        }
      }
    }

    Open via the Cline sidebar → MCP Servers → Edit.

    ~/.continue/config.json
    {
      "experimental": {
        "modelContextProtocolServers": [
          {
            "transport": {
              "type": "stdio",
              "command": "go",
              "args": [
                "install",
                "github.com/hashicorp/mcp-server-vault@latest"
              ],
              "env": {
                "VAULT_ADDR": "${VAULT_ADDR}",
                "VAULT_TOKEN": "${VAULT_TOKEN}",
                "VAULT_NAMESPACE": "${VAULT_NAMESPACE}"
              }
            }
          }
        ]
      }
    }

    Continue uses modelContextProtocolServers with a transport block.

    ~/.codex/config.toml
    # ~/.codex/config.toml
    [mcp_servers.vault]
    command = "go"
    args = [
      "install",
      "github.com/hashicorp/mcp-server-vault@latest",
    ]
    env = { VAULT_ADDR = "${VAULT_ADDR}", VAULT_TOKEN = "${VAULT_TOKEN}", VAULT_NAMESPACE = "${VAULT_NAMESPACE}" }

    Codex uses TOML. Each server is a [mcp_servers.<name>] subtable.

    ~/.config/zed/settings.json
    {
      "context_servers": {
        "vault": {
          "command": {
            "path": "go",
            "args": [
              "install",
              "github.com/hashicorp/mcp-server-vault@latest"
            ]
          },
          "env": {
            "VAULT_ADDR": "${VAULT_ADDR}",
            "VAULT_TOKEN": "${VAULT_TOKEN}",
            "VAULT_NAMESPACE": "${VAULT_NAMESPACE}"
          }
        }
      }
    }

    Zed calls them "context_servers". Settings live-reload on save.

    ChatGPT → Apps directory

    HashiCorp Vault doesn't ship a hosted HTTPS endpoint today. ChatGPT supports remote MCP servers only — to use this server in ChatGPT you'll need to deploy it to a public HTTPS URL first (e.g. via Cloudflare Workers or Vercel) or wait for an official remote build.

  2. 2

    Set required secrets

    Set VAULT_ADDR, VAULT_TOKEN, VAULT_NAMESPACE in your shell environment before launching your MCP client.

  3. 3

    Try a minimum working prompt

    Minimum working prompt pending verification. Try any prompt from the MCP’s README once installed.

Tools & permissions

ToolDescriptionArgsSide effects
kv_v2_getRead a KV v2 secret at a path.mount: string, path: stringRead
database_credsRequest dynamic database credentials.mount: string, role: stringRead
pki_issueIssue a certificate from a PKI role.mount: string, role: string, common_name: stringWrite

Security & scope

Access scope
Read-only
Sandbox
Vault token in env. All capability checks happen at the Vault side — the MCP is a thin client. Treat the token as a high-value credential and prefer short-lived tokens issued at session start.
Gotchas
  • A wildcard policy on the agent token defeats the entire purpose. Mint narrowly-scoped tokens, one per workflow.
  • Dynamic credentials revoke when their TTL expires — design the workflow around that lifetime.
  • Audit logs on the Vault side are your forensic trail. Make sure they are enabled and shipped off-host.

Agent prompt pack

— copy into Claude, Cursor, or ChatGPT.
Paste into Claude, Cursor, or ChatGPT. Edit the [brackets] before sending.
Recommend the best MCP servers for [task: e.g. security work] in [client: Claude].

Constraints:
- Prefer tools that are [official | open-source | read-only] — pick what matters for my use case.
- Exclude MCPs that require [e.g. a paid plan, OAuth-only flows, remote-only transport].
- Return at most 3 picks, ranked.

For each pick include:
1. One-sentence rationale.
2. The ready-to-paste install snippet for my client.
3. Any required secrets I need to create before installing.

Cross-check the top-mcps.com listing: https://top-mcps.com/top-mcps-for-security
Compare HashiCorp Vault against a real alternative. Swap the second MCP in [brackets] if you want a different match.
Compare HashiCorp Vault MCP vs [1Password MCP] for the following job: [describe the job, e.g. "let an agent create GitHub issues on bug triage"].

Judge them on:
- Setup time and complexity (what a new user hits first).
- Auth model (none / API key / OAuth 2.1) and credential risk.
- Transport (stdio / Streamable HTTP / SSE) and where the server runs.
- Required secrets and the blast radius if they leak.
- Operational risk in an unattended agent loop.
- Which one is "good enough" for a weekend prototype vs. production.

End with one sentence: which should I pick for my scenario, which is: [my scenario].

References:
- https://top-mcps.com/mcp/vault
- top-mcps.com listing for 1Password
Asks the agent to install and verify. Works inside Claude Code, Cursor Agent, Codex CLI.
Install the HashiCorp Vault MCP server for my [client: Claude] at the default config path for that client.

Use the exact install snippet published at https://top-mcps.com/mcp/vault (fetch https://top-mcps.com/mcp/vault.json for the canonical server.json if you can read URLs).

Before finishing:
1. Create the required secrets (VAULT_ADDR, VAULT_TOKEN, VAULT_NAMESPACE) and put them in the appropriate env block — do not hard-code them.
2. Restart or reload the client so it picks up the new server.
3. Verify the server is connected (green / running state) and at least one tool is listed.
4. If anything fails, read the client's MCP logs and report the exact error — do not silently retry.

Confirm when done and list the tools the server now exposes.

Frequently asked questions

What changed

2 updates tracked.
  1. Refreshed install snippets and fact sheet; verified for 2026.

  2. Initial directory listing.

More Security MCPs

Other tools in the same category worth evaluating.

Sentry
Official

Triage errors, inspect traces, and query events from Sentry.

sentry, errors, monitoring, observability
3 minLow
Cloudflare
Official

Manage Workers, R2 buckets, DNS, and edge policies on Cloudflare.

cloudflare, edge, workers, dns
10 minMedium
1Password
Official

Inject 1Password secrets into an AI agent's tool calls without exposing them in chat.

security, secrets, 1password, vault
8 minLow

Compared with HashiCorp Vault

Side-by-side breakdowns for the choices people most often weigh against this MCP.

Exploring Top MCPs for Security? See all Security MCPs →