envpkt MCP 服务器
使用说明(Markdown 格式)
-
项目简介
- envpkt 是一个面向 AI 应用的后端服务框架,内置对 MCP(Model Context Protocol)的实现,用于向 LLM 客户端提供上下文信息、能力声明以及可执行的外部工具。核心包含资源、工具、以及与客户端交互的服务器端逻辑。
-
主要功能点
- MCP 服务器核心:实现标准的 MCP 服务端,支持接收并响应来自 LLM 客户端的 JSON-RPC 请求。
- 工具注册与执行:实现了若干内置工具(如获取健康状态、列出能力、获取密钥元数据、检查到期等),LLM 客户端可以通过 MCP 调用这些工具并获取结构化结果。
- 资源端点:暴露资源信息(如凭证健康、能力清单等),LLM 客户端可查询以获得上下文感知信息。
- 与现有 envpkt 模块的整合:服务端通过内置的 config/catalog/audit 等模块,产生符合 MCP 约定的响应数据,支持后续在多种前后端场景中复用。
- 传输适配:实现了 stdio 传输为默认的 MCP 通信通道,理论上也可扩展到 SSE/WebSocket 等传输模式以对接不同客户端。
-
安装步骤
-
- 安装 Node.js 环境(推荐使用 nvm 安装稳定版本)。
-
- 将代码仓库克隆到本地,并在仓库根目录执行安装依赖(如 npm install 或 pnpm install)。
-
- 构建/编译:根据项目的构建配置完成构建过程(一般是 npm run build 或使用仓库提供的脚本)。
-
- 启动 MCP 服务器:在可执行 CLI 环境中执行 envpkt mcp(该命令由 CLI 提供,内置对 MCP 服务器的启动逻辑)。
-
- 验证:确保服务器在标准输入/输出传输下可接收客户端请求,或用简单的 MCP 客户端对比调用测试。
-
-
服务器配置(MCP 客户端所需的 JSON 配置示例) 说明:MCP 客户端需要一个 JSON 形式的服务器连接描述,指明服务器名称、启动命令及参数等,用于与 MCP 服务器建立通信。以下内容仅作为客户端需要的“描述性配置”,不属于代码实现。 { "serverName": "envpkt", "command": "envpkt", "args": ["mcp"], "transport": "stdio" // 传输模式,当前实现使用标准输入输出,客户端应按该传输模式建立连接 } 说明:
- serverName: MCP 服务端在客户端侧的标识,需与服务端实现的名称保持一致,便于客户端识别目标服务。
- command: 启动 MCP 服务器的可执行命令(此处对应 CLI 的 envpkt)。
- args: 启动命令的参数集合,当前实现需要传入 "mcp" 子命令来开启 MCP 模式。
- transport: 通信传输方式,官方 MCP 规范支持多种传输,当前实现为 stdio,客户端应通过 StdIO 方式建立连接。
-
基本使用方法
- 启动服务器:在具备环境的终端执行 envpkt mcp(CLI 内部会启动并监听 MCP 请求)。
- 客户端对接:将上述 JSON 配置提供给 MCP 客户端(LLM/代理)以建立连接,通过 MCP 的 JSON-RPC 请求读取资源、调用工具、获取资源等。
- 功能体验:LLM 客户端通过调用工具获取系统健康、能力清单、密钥元数据等信息,从而在对话中动态调用外部功能,形成上下文感知的能力服务。
-
额外说明
- MCP 服务端实现对资源、工具的描述、响应格式等都遵循 MCP 的约定,能与兼容的 MCP 客户端进行互操作。
- 服务端为后端实现,负责会话管理、能力声明与数据包装,客户端只需要关注如何发起 JSON-RPC 请求即可。