mcpField
V
Vault MCP Server

Vault MCP Server

本地服务
github.com/mschuchard开发工具01 天前更新

关于 Vault MCP Server

Vault MCP Server 是用于 Vault 的第三方开源 MCP 服务,可在本地或容器中运行。它提供 Vault 配置与状态资源,以及涵盖多种后端的工具和提示词;项目不建议用于企业生产环境。

主要功能

  1. 01Vault 状态与配置资源
  2. 02管理 ACL、认证及审计
  3. 03访问密钥、PKI 与 Transit 后端
  4. 04生成及诊断 ACL 策略
  5. 05支持多种 Vault 认证方式

适用场景

  1. 01查看 Vault 健康与封存状态
  2. 02管理密钥引擎和认证配置
  3. 03生成或优化 ACL 策略
  4. 04扫描集群配置问题

MCP 相关

该项目作为 MCP 服务,向客户端提供 8 类资源、144 个工具和 4 个提示词,用于读取及操作 Vault。可本地运行,也提供容器镜像。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"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>"
}
}
}
}
启动命令docker run -i --rm -e VAULT_URL -e VAULT_TOKEN matthewschuchard/vault-mcp-server
需要配置的环境变量
VAULT_URL
VAULT_TOKEN密钥

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocimatthewschuchard/vault-mcp-server

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Vault MCP 服务

现在,Hashicorp 已推出官方 Vault MCP 服务。因此,第三方 Vault MCP 服务替代方案将继续存在,并持续更新功能和修复问题,但不会尝试与官方产品竞争。第三方 Vault MCP 服务可以在本地运行,而不必仅通过远程方式运行(尽管在许多情况下,远程方式更可取),并将继续以容器镜像的形式提供。

由于官方产品发布后制定了这项政策,因此不会有正式的发布流程、版本管理或变更日志。也不建议将此产品用于企业生产环境。

MCP 服务容器镜像托管在 Dockerhub,对应此处托管的代码 HEAD。

桌面端配置

希望你可以据此推导并修改配置,以适配其他客户端,从而根据需要试用此服务。

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

MCP: Add Server --> Docker Image 命令也可以简化此配置。你可以在输入提示中填写下方的值,之后 mcp.json 文件会自动在一个窗格中打开,以便在需要时进一步更新。

{
  "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>",
      }
    }
  }
}
环境变量

可以按照上方针对 ENV_VAR 展示的模式定义这些环境变量,并将其传递给 Vault MCP 服务。

  • CACHE_TTL:60

设置所有读取和列表操作的缓存时间;超过该时间后,将获取新值,而不是使用缓存值。

  • VAULT_AUTH_METHOD:'token'

从 approle、jwt(测试版)、token 和 userpass 中选择 Vault 身份验证方法。

  • VAULT_AUTH_PATH:/

所使用的 Vault 身份验证方法的挂载路径。

  • VAULT_JWT:None

使用 jwt 身份验证方法的实体的 JSON Web Token。

  • VAULT_NAMESPACE:''

设置 Vault 命名空间(仅限企业版)。

  • VAULT_PASSWORD:None

使用 userpass 身份验证方法的用户密码。

  • VAULT_ROLE:None

使用 jwt 身份验证方法的实体角色。

  • VAULT_ROLE_ID:None

使用 approle 身份验证方法的实体角色 ID。

  • VAULT_SECRET_ID:None

使用 approle 身份验证方法的实体密钥 ID。

  • VAULT_TOKEN:None

使用 token 身份验证方法的实体令牌。

Vault 服务 URL。

  • VAULT_USERNAME:None

使用 userpass 身份验证方法的用户名。

功能

资源(8)
  • 当前启用的 ACL 策略
  • 当前启用的审计设备
  • 当前启用的身份验证引擎
  • 当前启用的密钥引擎
  • 当前命名空间(仅限企业版)
  • 当前 Raft 集群配置
  • 当前 Vault 健康状态
  • 当前 Vault 密封状态
工具(144)
  • 系统后端
    • ACL 策略
    • 审计设备
    • 身份验证引擎
    • 健康状态
    • 命名空间(仅限企业版)
    • Raft(集群和存储快照)
    • 密封状态
    • 密钥引擎
  • 密钥后端
    • 数据库(测试版)
    • 身份/别名
    • KV 版本 2
    • PKI
    • Transit
提示词(4 项)
  • mcp.vault.example-acl-policy:以 JSON 字符串格式显示一个 Vault ACL 策略示例。可以修改显示的策略,并将其原样输入给大模型(已在 Agentic Claude 上验证),它会理解你希望通过 Vault MCP Server 使用修改后的内容创建 ACL 策略(并自动生成名称)。不过,更稳妥的做法可能是将其用作工具的输入。
  • mcp.vault.generate-acl-policy:以 JSON 字符串格式显示一个伪 Vault ACL 策略示例,类似于上述提示词。主要区别在于,此提示词接受 paths 参数,其类型为 list[str],返回的策略将包含输入的路径。不过,capabilities 仍然是模板内容,需要根据你的用途进行修改。
  • mcp.vault.generate-smart-acl-policy:这是一个交互式工作流,通过 Agentic 大模型根据用户需求和提示词创建并优化 Vault ACL 策略。它还会以 JSON 字符串格式返回策略。
  • mcp.vault.diagnose-vault-state:这是一个诊断扫描器,用于针对 Vault 服务集群,利用此 MCP 服务中可用的资源进行扫描,并报告检测到的服务器配置问题。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。