Token导航 LogoToken导航TokenDH.com
HashiCorp Vault MCP Server logo
运维云端未说明官方级别未说明来源级核验

HashiCorp Vault MCP Server

MCP Server

一个基于Model Context Protocol (MCP)的服务,提供通过Streamable HTTP API与HashiCorp Vault交互的工具,用于密钥的读取、创建、列出和删除操作。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
密钥管理安全认证JavaScriptClaudeAPI集成Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

rod-anami-kyndryl

提供方

rod-anami-kyndryl

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

HashiCorp保险库MCP服务器

一种模型上下文协议(MCP)服务器,提供通过可流式HTTP API与HashiCorp Vault交互的工具。

特性

此MCP服务器为Vault KV操作提供以下工具:

  • vault_kv_read:使用可选版本和装载点在指定路径上从Vault读取机密
  • vault_kv_create:在指定路径上创建/向Vault写入机密
  • vault_kv_list:列出装载点中指定路径处的机密
  • vault_kv_delete:从指定路径的Vault中删除最新版本的机密

安全功能

  • 可选承载令牌身份验证:使用基于令牌的身份验证保护您的MCP端点
  • TLS/HTTPS支持:使用自定义证书启用加密连接
  • CORS配置:控制对服务器的跨源访问

安装

npm install
npm run build

先决条件

此服务器使用 hashi-vault-js 图书馆与HashiCorp Vault通信。确保你有:

  • Node.js 18或更高版本
  • 正在运行的HashiCorp Vault服务器
  • 有效的Vault身份验证令牌

配置

服务器支持以下环境变量:

保险库配置(必需)

  • VAULT_ADDR:Vault服务器的地址(默认值: http://127.0.0.1:8200)
  • VAULT_TOKEN:您的Vault身份验证令牌
  • VAULT_URL:完整Vault API URL(默认值: ${VAULT_ADDR}/v1)
  • VAULT_TIMEOUT:请求超时(毫秒)(默认值: 5000)
  • VAULT_CACERT:用于Vault TLS验证的CA证书路径(可选)

MCP服务器配置

  • MCP_PORT:MCP服务器API的端口(默认值: 3000)

安全配置(可选)

  • MCP_AUTH_TOKEN:API身份验证的承载令牌(如果未设置,则禁用身份验证)
  • MCP_TLS_ENABLED:设置为 "true" 启用HTTPS(默认值: false)
  • MCP_TLS_KEY:TLS私钥的路径(默认值: ./certs/mcp-server.key)
  • MCP_TLS_CERT:TLS证书的路径(默认值: ./certs/mcp-server.crt)
  • MCP_TLS_CA:CA证书的路径(默认值: ./certs/ca.crt)

.env.example 获取完整的配置模板。

用法

运行服务器

基本(HTTP,无身份验证):

npm start

使用身份验证:

export MCP_AUTH_TOKEN="your-secure-token-here"
npm start

使用HTTPS:

export MCP_TLS_ENABLED="true"
export MCP_TLS_KEY="./certs/mcp-server.key"
export MCP_TLS_CERT="./certs/mcp-server.crt"
npm start

服务器将公开以下端点:

  • /health -健康检查端点(未受保护)
  • /mcp -客户端连接的MCP端点(如果 MCP_AUTH_TOKEN 已设置)

认证

MCP_AUTH_TOKEN 已设置,所有请求 /mcp 必须包括:

Authorization: Bearer 

有关详细的身份验证设置,请参阅 认证.md.

与Gemini CLI一起使用

将此配置添加到Gemini配置文件中:

MacOS: ~/.config/gemini-cli/config.json

无身份验证:

{
  "mcpServers": {
    "vault": {
      "url": "http://localhost:3000/mcp",
      "transport": "http",
      "headers": {
        "Content-Type": "application/json",
        "Accept": "application/json, text/event-stream"
      }
    }
  }
}

使用身份验证:

{
  "mcpServers": {
    "vault": {
      "url": "http://localhost:3000/mcp",
      "transport": "http",
      "headers": {
        "Content-Type": "application/json",
        "Accept": "application/json, text/event-stream",
        "Authorization": "Bearer your-secure-token-here"
      }
    }
  }
}

使用HTTPS:

{
  "mcpServers": {
    "vault": {
      "url": "https://localhost:3000/mcp",
      "transport": "http",
      "headers": {
        "Content-Type": "application/json",
        "Accept": "application/json, text/event-stream",
        "Authorization": "Bearer your-secure-token-here"
      }
    }
  }
}

有关更多详细信息,请参阅 双子座_CLI_SETUP.md.

注意:在连接Gemini CLI之前,请确保服务器正在运行。

与Claude Desktop一起使用

将此配置添加到Claude Desktop:

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "vault": {
      "url": "http://localhost:3000/mcp",
      "headers": {
        "Authorization": "Bearer your-secure-token-here"
      }
    }
  }
}

有关更多详细信息,请参阅 COPILOT_SETUP.md.

与其他MCP客户端一起使用

连接到端点 http://localhost:3000/mcp (或 https:// 如果启用了TLS),则使用任何MCP兼容客户端。服务器支持使用StreamableHTTPServerTransport的GET和POST请求。

工具示例

阅读秘密

{
  "tool": "vault_kv_read",
  "arguments": {
    "path": "myapp/config",
    "mount": "secret",
    "version": 1
  }
}

创造/书写秘密

{
  "tool": "vault_kv_create",
  "arguments": {
    "path": "myapp/config",
    "mount": "secret",
    "data": {
      "username": "admin",
      "password": "secret123",
      "api_key": "abc-xyz-123"
    }
  }
}

列出秘密

{
  "tool": "vault_kv_list",
  "arguments": {
    "mount": "secret",
    "folder": "myapp"
  }
}

删除密码

{
  "tool": "vault_kv_delete",
  "arguments": {
    "path": "secret/data/myapp/config"
  }
}

使用cURL进行测试

# List available tools
curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Authorization: Bearer your-token" \
  -d '{"jsonrpc":"2.0","method":"tools/list","params":{},"id":1}'

有关更多示例,请参见 测试.md.

发展

构建

npm run build

观看模式

npm run watch

保险库设置

为了进行测试,您可以在开发模式下运行Vault:

vault server -dev

这将在以下时间启动Vault http://127.0.0.1:8200 输出中显示根令牌。

安全说明

保险库安全

  • 永远不要承诺你的 VAULT_TOKEN 到版本控制
  • 使用适当的Vault策略限制访问
  • 考虑使用AppRole或其他身份验证方法进行生产
  • 确保您的Vault服务器在生产环境中使用TLS
  • 使用 VAULT_CACERT 验证Vault的TLS证书

MCP服务器安全

  • 启用身份验证:设置 MCP_AUTH_TOKEN 保护您的MCP端点
  • 使用HTTPS:启用 MCP_TLS_ENABLED 用于生产中的加密连接
  • 生成强代币:使用 openssl rand -hex 32 用于身份验证令牌
  • 旋转令牌:定期更改身份验证令牌
  • 网络接入:使用防火墙或反向代理来限制访问
  • 环境安全:从不承诺 .env 带有真实令牌的文件
  • 证书管理:确保TLS证书和密钥的安全(chmod 600)

有关详细的安全指南,请参阅 认证.md.

快速开始

  1. 克隆并安装:
   git clone 
   cd hashi-vault-mcp
   npm install
  1. 配置环境:
   cp .env.example .env
   # Edit .env with your Vault details
  1. 构建并运行:
   npm run build
   npm start
  1. 测试服务器:
   curl http://localhost:3000/health

其他文件

故障排除

连接问题

  • 验证Vault是否正在运行: vault status
  • 检查 VAULT_ADDR 匹配您的Vault服务器地址
  • 确保 VAULT_TOKEN 具有适当的权限
  • 对于HTTPS Vault,设置 VAULT_CACERT 到您的CA证书路径

身份验证错误

  • 验证 MCP_AUTH_TOKEN 服务器和客户端之间的匹配
  • 检查授权标头格式: Bearer
  • 确保在客户端配置中设置了令牌

TLS/HTTPS问题

  • 验证配置的路径中是否存在证书文件
  • 检查证书文件权限
  • 对于自签名证书,客户端可能需要信任CA或使用 -k 旗帜

许可证

麻省理工学院

目录标签

目录标签

密钥管理安全认证JavaScriptClaudeAPI集成本地部署HTTPAPITLS加密Vault集成

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明tokenremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP