mcpField
V
Vault MCP Server

Vault MCP Server

Local
github.com/mschuchardDeveloper Tools0Updated 1d ago

About Vault MCP Server

Vault MCP Server is a third-party open-source MCP server for Vault that runs locally or as a container. It exposes Vault state and configuration resources, plus tools and prompts spanning multiple backends; it is not recommended for enterprise production use.

Key features

  1. 01Vault status and configuration resources
  2. 02Manage ACL, auth, and audit
  3. 03Access secrets, PKI, and Transit backends
  4. 04Generate and diagnose ACL policies
  5. 05Multiple Vault authentication methods

Use cases

  1. 01Inspect Vault health and seal status
  2. 02Manage secrets engines and auth configuration
  3. 03Generate or refine ACL policies
  4. 04Scan cluster configuration for issues

MCP support

The MCP server exposes 8 resource types, 144 tools, and 4 prompts to clients for reading and operating Vault. It can run locally and is also available as a container image.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"vault": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"VAULT_URL",
"-e",
"VAULT_TOKEN",
"matthewschuchard/vault-mcp-server"
],
"env": {
"VAULT_URL": "<VAULT_URL>",
"VAULT_TOKEN": "<VAULT_TOKEN>"
}
}
}
}
Run commanddocker run -i --rm -e VAULT_URL -e VAULT_TOKEN matthewschuchard/vault-mcp-server
Environment variables to set
VAULT_URL
VAULT_TOKENSecret

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
ocimatthewschuchard/vault-mcp-server

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Vault MCP Server

There is now an official Vault MCP Server from Hashicorp. Therefore, the alternative third-party Vault MCP Server will continue to exist and be updated with features and fixes, but no attempt will be made to compete with the official product. The third-party Vault MCP Server can be executed locally instead of only remotely (although in many situations remote is preferable), and will continue to be available as a container image.

Due to this policy enacted because of the official product release, there will be no formal release process, versioning, or changelog. This product is also not recommended for enterprise production usage.

The MCP Server container image is hosted at Dockerhub, and it represents the code hosted here at HEAD.

Desktop Configs

These can hopefully be extrapolated and modified to fit other clients if you want to play with this server for whatever reason.

Claude
{
  "mcpServers": {
    "vault": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "ENV_VAR",
        "-e",
        "ENV_VAR_TWO",
        "matthewschuchard/vault-mcp-server"
      ],
      "env": {
        "ENV_VAR": "<ENV VAR VALUE>",
        "ENV_VAR_TWO": "<ENV VAR TWO VALUE>",
      }
    }
  }
}
VSCode

The MCP: Add Server --> Docker Image command can also streamline this configuration. The values below can be entered into the input prompts, and then the mcp.json file is automically opened within a pane afterward for further updates if necessary.

{
  "servers": {
    "vault": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "ENV_VAR",
        "-e",
        "ENV_VAR_TWO",
        "matthewschuchard/vault-mcp-server"
      ],
      "env": {
        "ENV_VAR": "<ENV VAR VALUE>",
        "ENV_VAR_TWO": "<ENV VAR TWO VALUE>",
      }
    }
  }
}
Environment Variables

These environment variables can all be defined and passed to the Vault MCP Server utilizing the pattern shown above for ENV_VAR.

  • CACHE_TTL: 60

Establishes the cache time for all read and list operations before new value(s) are retrieved instead of using the cached value.

  • VAULT_AUTH_METHOD: 'token'

Selects the Vault authentication method from among approle, jwt (beta), token, and userpass.

  • VAULT_AUTH_PATH: /

Path at which the utilized Vault authentication method is mounted.

  • VAULT_JWT: None

JSON Web Token for entity with the jwt authentication method.

  • VAULT_NAMESPACE: ''

Establishes the Vault namespace (enterprise only).

  • VAULT_PASSWORD: None

Password for user with the userpass authentication method.

  • VAULT_ROLE: None

Role for entity with the jwt authentication method.

  • VAULT_ROLE_ID: None

Role ID for entity with the approle authentication method.

  • VAULT_SECRET_ID: None

Secret ID for entity with the approle authentication method.

  • VAULT_TOKEN: None

Token for entity with the token authentication method.

Vault server URL.

  • VAULT_USERNAME: None

Username for user with the userpass authentication method.

Features

Resources (8)
  • Current Enabled ACL Policies
  • Current Enabled Audit Devices
  • Current Enabled Authentication Engines
  • Current Enabled Secret Engines
  • Current Namespaces (Enterprise only)
  • Current Raft Cluster Configuration
  • Current Vault Health
  • Current Vault Seal Status
Tools (144)
  • System Backend
    • ACL Policies
    • Audit Devices
    • Authentication Engines
    • Health
    • Namespace (Enterprise only)
    • Raft (Clustering and Storage Snapshots)
    • Seal Status
    • Secrets Engines
  • Secrets Backend
    • Database (Beta)
    • Identity/Alias
    • KV Version 2
    • PKI
    • Transit
Prompts (4)
  • mcp.vault.example-acl-policy: This displays an example Vault ACL Policy in JSON string format. The displayed policy can be modified and entered as-is to the LLM (verified with agentic Claude), and it will understand that you want to create an ACL Policy through the Vault MCP Server with your modified content (with an auto-generated name). However, it is probably more prudent to use it as an input to the tool instead.
  • mcp.vault.generate-acl-policy: This displays a pseudo-example Vault ACL Policy in JSON string format similar to the above prompt. The primary difference is that this prompt accepts a paths argument in list[str] type format, and the returned policy will contain the input paths. However, the capabilities will still be boilerplate, and need to be modified for your usage.
  • mcp.vault.generate-smart-acl-policy: This is an interactive workflow with an agentic LLM to create and optimize a Vault ACL policy based on user requirements and prompts. It will also return the policy in JSON string format.
  • mcp.vault.diagnose-vault-state: This is a diagnostic scanner to target your Vault server cluster with the resources available in this MCP server and report on any perceived deficiencies with respect to the server configuration.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.