使用说明
- 项目简介
- 该仓库实现了一个基于 MCP 的服务器框架,用于把多种密钥/机密管理工具暴露为可被 LLM 调用的“工具”接口,方便在大语言模型的上下文中直接读取、管理和操作机密信息。
- 已提供 Vault 与 SOPS 等适配器(以及未来扩展的其他适配器的骨架),通过标准的 MCP 工具注册与调用机制实现对外暴露。
- 主要功能点
- MCP 协议核心:处理 ListTools 请求,返回服务器所暴露的工具清单;处理 CallTool 请求,根据名称找到对应工具并执行,返回结果。
- 多工具适配:当前实现支持 Vault、SOPS 等适配器的工具集合,工具包含描述、输入参数定义和执行逻辑。
- 传输与连接:实现通过 STDIO 传输的 MCP 服务器端,可以从父进程的标准输入/输出进行通信(便于与 LLM 客户端在同一环境中协作)。
- 会话/能力声明:通过服务器能力设置与工具注册,向客户端声明可用工具及其输入格式。
- 安装步骤(简化版)
- 安装并准备好 Node.js 运行环境(或对应的运行环境,视入口文件而定)。
- 安装仓库依赖(通常通过 npm/yarn 安装项目依赖,确保 MCP SDK 及相关依赖可用)。
- 确保外部工具可用(如 Vault CLI、SOPS CLI 等)以及需要的环境变量配置已就绪,以便适配器能够成功连接目标服务。
- 启动入口之一:
- 入口1(Node.js 原生入口,STDIO 传输):运行 index.js,服务器将通过 STDIO 与客户端通信。
- 入口2(ReScript 编译入口,STDIO 传输):运行 main.js,服务器将通过 STDIO 与客户端通信。
- 服务器配置(给 MCP 客户端的配置信息)
说明:MCP 客户端需要知道如何启动服务器来建立连接。本配置示例以 STDIO 传输为默认,启动命令应由你所在环境的执行方式决定。下面给出一个准确对应仓库信息的示例配置(JSON 格式,勿直接粘贴代码):
{
"server_name": "poly-secret-mcp",
"command": "node",
"args": ["index.js"]
}
备注:
- 上述配置使用入口 index.js 启动,适用于 STDIO 传输场景。若选择 ReScript 入口 main.js,请将 args 改为 ["main.js"]。
- 如果需要在生产环境中通过网络传输(而非 STDIO),请据 MCP 服务器/传输实现改用相应的传输适配器(如 SSE/WebSocket 等),并确保客户端对应支持。
- 基本使用方法
- 启动服务器后,MCP 客户端通过标准输入输出(或指定传输方式)向服务器发起请求。
- 客户端可以请求工具列表(ListTools)并据此了解可用工具的名称、描述和输入结构,然后调用具体工具(CallTool)。
- 当调用成功时,服务器返回工具执行结果的内容;如发生错误,返回错误信息。
- 为了扩展性,新增适配器时在 Vault/SOPS 等模块中实现 tool 的注册与 handler 即可自动暴露新功能。
信息
分类
AI与计算