使用说明

  • 项目简介
    • 该仓库实现了一个基于 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与计算