这是一个实现模型上下文协议(MCP)的服务端,它提供了与 HashiCorp Vault 的安全接口,能让大型语言模型(LLM)和其他 MCP 客户端与 Vault 的秘密和策略管理功能进行交互。
通过此实现,LLM 可以执行以下操作:
secret_create
:创建秘密。secret_read
:读取秘密内容。secret_delete
:删除指定的秘密。policy_create
:创建新的 Vault 策略,指定允许访问的路径。vault://secrets
:列出所有可用的秘密路径。vault://policies
:列出所有已定义的 Vault 策略。通过指定路径和权限,生成相应的策略内容。例如:
{
"policy_name": "app_read_only",
"rules": {
"path": "/secret/app/*",
"capabilities": ["read"]
}
}
根据您的设置有不同的使用方式。
在 Cursor MCP 配置中添加如下内容:
{
"mcpServers": {
"Vault MCP": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"VAULT_ADDR=https://your-vault-server:8200",
"-e",
"VAULT_TOKEN=hvs.your-vault-token",
"ashgw/vault-mcp:latest"
]
}
}
}
⚠️ 重要提示
如果您希望指定特定的 Docker 镜像版本(例如,20250413-165732),请使用该标签而不是 latest。可以在 Docker Hub 浏览可用版本。
添加后,可以使用如下提示:
"读取路径
apps/myapp/config
的 Vault 秘密"
Cursor 会自动将请求路由到 MCP 服务器。 检查是否正常工作,界面应显示绿色状态
设置环境变量 VAULT_ADDR 和 VAULT_TOKEN,并映射端口 3000:
docker run -it --rm -e "VAULT_ADDR=https://your-vault-server:8200" -e "VAULT_TOKEN=your-vault-token" -p 3000:3000 ashgw/vault-mcp:latest
克隆仓库并运行:
git clone git@github.com:ashgw/vault-mcp.git
cd vault-mcp
go run main.go
添加 Vault MCP 服务器到 Cursor 配置,设置环境变量,并启动服务:
VAULT_ADDR=https://vault.example.com:8200 VAULT_TOKEN=your_token docker run -p 3000:3000 ashgw/vault-mcp:latest
policy_create --name app_read_only --rules '{"path": "/secret/app/*", "capabilities": ["read"]}'
ls vault://secrets
cat vault://secrets/myapp/config
⚠️ 重要提示
- 确保 Vault 服务器地址和令牌的正确性。
- 安全管理令牌,防止泄露。
- 在生产环境中建议使用受信任的网络。
如需帮助或反馈,请访问 HashiCorp 论坛 或联系官方支持。