使用说明
-
项目简介 Kurral MCP Server 是一个完整的 MCP 后端实现,负责暴露 MCP 协议接口、管理资源与工具、定义/渲染 Prompt 模板,并提供记录、回放和观测能力,便于对接 LLM 客户端与外部工具。
-
主要功能点
- MCP 协议处理与 JSON-RPC 交互:按照 MCP 标准处理请求与响应,支持普通请求与 SSE 流数据。
- MCP 代理与路由:将客户端请求转发到上游 MCP 服务器(可配置多服务器),并对工具进行路由管理。
- 捕获与回放:将 MCP 请求/响应、SSE 事件等记录为 .kurral 档案,后续可回放,支持对比、确定性评估与 ARS 打分。
- 工具注册与执行:支持注册工具并通过代理或回放时对工具调用进行缓存、替换或回放。
- Prompt 模板管理与渲染:支持对 Prompt 模板进行解析、哈希与变量替换,便于统一交互风格和重放一致性。
- 安全性与观测:提供 Side Effect 配置、分层重放(A/B)、以及可观测的观测数据。
- 存储与元数据:本地与云端(如 R2)后端存储,Artifact 元数据管理与可扩展的数据库支持。
-
安装步骤
- 从 PyPI 安装(核心组件含 MCP 支持):pip install kurral
- 安装 MCP 相关依赖(代理/观测等):pip install kurral[mcp]
- 如需从源码运行,请克隆仓库并执行:pip install -e ".[mcp]"
-
服务器配置 MCP 服务器配置通过一个 YAML 配置文件(示例路径如 kurral-mcp.yaml)来定义代理、上游服务器、捕获/回放策略等。下面给出一个简化的 JSON 风格的服务器端配置示例,帮助 MCP 客户端理解如何连接与启动。
{ "server_name": "local-mcp-proxy", "command": "kurral mcp start", "args": [ "--config", "kurral-mcp.yaml" ] // 注:这部分用于 MCP 客户端指示如何启动并连接到 MCP 服务器。 }
说明:
- server_name:代理/服务名称,便于日志与监控识别。
- command / args:用于启动 MCP 服务器的命令和参数。通常为“kurral mcp start”并传入配置文件路径。
- 配置文件(如 kurral-mcp.yaml)包含代理配置、上游 MCP 服务器、捕获/回放策略、以及可选的存储/日志设置。
-
基本使用方法
- 运行代理(记录模式)
- 准备配置文件(kurral-mcp.yaml),设置代理、上游服务器、捕获与回放选项。
- 启动代理:kurral mcp start --config kurral-mcp.yaml
- 将客户端指向代理地址,如 http://localhost:3100/mcp
- 使用过程中的请求将被捕获并存档为 .kurral 文件,便于后续回放与分析。
- 导出与回放
- 记录完成后,导出会话到 .kurral 档案:kurral mcp export -o session.kurral
- 使用回放:kurral mcp start --mode replay --artifact session.kurral
- METADATA/观测
- 使用自带的 Dashboard(或命令行)查看观测数据、SSE 流、Tool 调用等信息。
- 运行代理(记录模式)
-
服务器配置对 MCP 客户端的意义 MCP 客户端在连接 MCP 服务器时需要明确服务器位置、启动命令和参数以便建立会话、路由工具、读取资源、执行工具以及获取 Prompt 模板等能力。上面的示例 JSON 给出一个可操作的启动描述,实际使用中客户端会依赖 MCP 服务器暴露的接口 URL、工具列表及返回的 JSON-RPC 格式。
信息
分类
网页与API