Kryfto MCP Server
- 项目简介
- Kryfto 的 MCP 服务器端实现,作为 MCP-branded 的后端核心组件,负责对资源、工具、以及 Prompt 模板的注册、执行与渲染,并通过标准的 MCP JSON-RPC 通信协议与客户端进行交互。
- 服务器内部集成了会话管理、能力声明、插件化工具注册、以及多种监控与容错机制(如 SLO、重试、断路器、信任评估等),并与 Redis、Postgres、MinIO 等后端组件协同工作,提供可扩展的上下文服务框架。
- 主要功能点
- MCP 服务核心:提供基于 MCP 的资源读取、工具调用、提示模板获取等能力,通过 JSON-RPC 与客户端交互。
- 工具注册与执行:内置 42+ MCP 工具,以及支持动态 Recipe/插件工具的注册与执行。
- Prompts 与模板渲染:定义、渲染并暴露 LLM 可用的提示模板与上下文结构。
- 数据与任务管线:通过 OpenAPI/REST API 暴露管理界面,配合 BullMQ/Redis 实现作业队列、并发执行与失败重试。
- 监控与诊断:SLO 流量监控、指标、重放记录、错误分类与追踪,以及工具健康状况的检测与记录。
- 安全与鲁棒性:简化的信任评估、默认的错误分类、断路器以应对后端引擎不可用场景。
- 多传输与拓展能力:核心实现通过 MCP 的 stdio 传输(StdioServerTransport),并具备扩展以支持 SSE/WebSocket 等传输,适合嵌入到不同的工作流中。
- 安装步骤
-
- 安装依赖:在仓库根目录执行依赖安装(推荐使用 pnpm)。
-
- 构建与打包:在仓库根目录执行构建,生成 dist 目录下的可执行入口。
-
- 启动 MCP 服务器:使用 Node 运行打包后的入口文件,确保依赖的后端服务(Postgres、Redis、MinIO 等)已启动并可连接。
-
- 验证健康:启动后通过健康端点检查服务器状态,确保 MCP 服务就绪。
-
- 服务器配置(MCP 客户端连接 MCP 服务器所需,客户端无需在此处配置客户端端点)
说明:以下配置用于 MCP 客户端(如 Claude/Cursor/Codex 等桌面/IDE 客户端)连接 Kryfto 的 MCP 服务器。MCP 客户端需要提供 server 的名称、启动命令及参数。此处给出可直接使用的示例配置(以 JSON 表示,包含 server 名称、command 和 args),请按实际部署路径替换占位信息:
服务器名称: kryfto
启动命令: node
启动参数: ["/absolute/path/to/kryfto/packages/mcp-server/dist/index.js"]
运行环境变量(示例):
{
"server_name": "kryfto-mcp-server",
"command": "node",
"args": ["/absolute/path/to/kryfto/packages/mcp-server/dist/index.js"],
"env": {
"API_BASE_URL": "http://localhost:8080",
"API_TOKEN": "<your-api-token>"
}
}
注释说明:
- server_name: MCP 服务器的标识名称,用于客户端在配置中引用。
- command: 启动 MCP 服务器的主程序,通常为 node。
- args: 服务器入口编译后的入口文件路径,需指向 dist/index.js。
- env: 运行时所需的环境变量,建议配置 API_BASE_URL 指向后端 REST API 的入口,以及 API_TOKEN(若有鉴权要求)。
- 基本使用方法
- 连接与调用
- 启动后,MCP 客户端通过上述配置连接到 Kryfto MCP 服务器,发送对资源、工具、Prompts 的请求,并接收 JSON-RPC 风格的响应。
- 管理与监控
- 使用提供的 REST API 端点查看任务、工具、Prompts、以及 SLO 指标等运行状态。可通过内置仪表板查看系统健康状况和统计信息。
- 扩展性
- 支持本地或远端的插件/配方工具,通过工具注册机制扩展 42+ 工具集合。通过配置新的 recipe/插件可以在 MCP 服务端动态扩展能力。
- 连接与调用