SecureYeoman MCP 服务器
使用说明
- 项目简介
- SecureYeoman 的 MCP 服务器实现,聚焦于将资源、工具和提示模板以标准化方式暴露给基于 MCP 客户端的大模型/LLM 客户端,支持通过 JSON-RPC 的请求-响应模式进行上下文交互。核心功能包括:
- 资源(Resources)托管与数据访问
- 工具(Tools)注册、执行及中间件封装
- 提示模板(Prompts)定义与渲染
- 可扩展的传输协议:streamable HTTP、Stdio、SSE、WebSocket 等
- 内部身份验证、审计、密钥管理等安全特性
- SecureYeoman 的 MCP 服务器实现,聚焦于将资源、工具和提示模板以标准化方式暴露给基于 MCP 客户端的大模型/LLM 客户端,支持通过 JSON-RPC 的请求-响应模式进行上下文交互。核心功能包括:
- 主要功能点
- MCP 模块化实现:服务器端通过 MCP SDK 集成,暴露工具、资源、提示模板的注册、查询、执行能力
- 传输与通信:支持 HTTP 流式传输(streamable-http)、标准输入/输出传输(stdio)、以及浏览器端或大模型客户端的 SSE/WebSocket 接入
- 安全与运维:基于 JWT/代理鉴权、审计日志、密钥解密、RBAC/授权策略、日志与监控
- 自动注册与管控:对接 Core 服务实现自动注册,提供对外暴露的健康检查与 dashboard
- 集成工具生态:包含大量内置工具、资源与提示的注册实现,以及可扩展的工具中间件(速率限制、输入校验、审计日志、密钥脱敏等)
- 安装步骤
- 环境准备:Node.js 20 LTS 及以上
- 获取代码:git clone <仓库地址>,进入项目
- 安装依赖:在仓库根目录执行安装,或进入 packages/mcp 目录执行 npm install
- 构建与运行:在 packages/mcp 目录执行构建(如 npm run build),再按需求启动 MCP 服务器(可使用提供的 CLI 或直接通过 dist/cli.js 启动)
- 依赖项与钥钥配置:确保环境变量/配置文件包含加密密钥、核心服务地址、以及一个可用的核心 API Key/密钥等
- 服务器配置(供 MCP 客户端使用的示例描述,客户端不需要实际代码)
- serverName: SecureYeoman-MCP
- command: node
- args: ["dist/cli.js", "runMcpServer", "--profile", "mcp"]
- MCP_CORE_URL: http://127.0.0.1:18789
- SECUREYEOMAN_TOKEN_SECRET: "<32字符以上的密钥,用于服务端与核心之间的签名/解密>"
- MCP_TRANSPORT: "streamable-http"(默认 HTTP 实时传输,可根据需求切换为 "stdio" / "sse" / "websocket" 等)
- MCP_ADVERTISE_URL: "<可选,暴露给 MCP 客户端的对外访问地址>"
- MCP_LOG_LEVEL: "info"(或 "debug"/"warn"/"error" 根据需要调整)
- 其他安全相关的密钥与令牌设置,例如数据库连接、密钥管理等,请参考配置文档 注:上述配置信息用于 MCP 客户端的远程连接描述,实际客户端不需要依赖代码实现,仅需读取此 JSON 配置项来启动与 MCP 服务器的连接。
- 基本使用方法
- 启动 MCP 服务器
- 使用上述命令在服务器上启动 MCP 服务端,确保 core 服务可达;启动成功后,健康接口会返回服务信息和传输模式
- 连接并使用 MCP 服务
- 通过 MCP 客户端( Claude/其他 MCP 客户端)配置连接信息,指定 MCP 服务器的启动命令、参数及核心地址
- MCP 客户端可请求资源、调用工具、获取并渲染 Prompts,LLM 客户端可通过 JSON-RPC 与 MCP 服务器协同工作
- 运维与扩展
- 审计日志、密钥解密、访问控制等中间件可对工具调用链进行监控与保护
- 通过 Dashboard 提供的接口查看注册的工具、资源与 Prompts,便于治理和扩展
- 启动 MCP 服务器
- 备注
- 本实现包含了完整的服务端结构、工具/资源/提示的注册、传输适配以及安全/审计等中间件,属于可运行的 MCP 服务端实现,非仅示例代码。