Tukuy MCP 服务器
markdown
Tukuy MCP 服务器使用说明
-
项目简介
- Tukuy 提供一个基于 Model Context Protocol (MCP) 的服务器实现,用于向 LLM 客户端暴露资源、工具和提示模板等能力,客户端通过 JSON-RPC 与服务器交互,实现资源访问、工具调用和提示渲染等功能。
- 服务器核心职责包括会话管理、能力声明、多传输协议支持(如标准输入/输出、SSE、WebSocket),以及对外部工具的注册、执行和上下文管理。
-
主要功能点
- 资源与数据访问:通过 MCP 服务器统一暴露资源,让 LLM 客户端获取或操作数据。
- 工具注册与执行:将工具/功能注册为可调用的 MCP Tool,LLM 客户端可以通过 MCP 调用外部功能。
- Prompt 模板管理与渲染:支持自定义的 Prompt 模板,方便 LLM 的交互流程。
- JSON-RPC 通信:服务器与客户端通过标准的 JSON-RPC 进行请求与响应交换。
- 会话与能力声明:服务器端维护会话状态、能力清单,确保交互的安全性和可扩展性。
- 多传输协议:如 Stdio、SSE、WebSocket 等传输通道,满足不同客户端的接入方式。
-
安装步骤
- 使用带 MCP 支持的安装选项安装 Tukuy:
- 通过包管理工具安装 Tukuy 并启用 MCP 支持分支,例如执行类似的安装命令以包含 MCP 功能的扩展。
- 除了核心依赖,确保安装了用于 MCP 的额外组件,例如 Tukuy 的 MCP 额外依赖分组。
- 使用带 MCP 支持的安装选项安装 Tukuy:
-
服务器配置(MCP 客户端使用的配置信息,JSON 格式,包含 server name、command、args 等)
- 基础配置示例(仅描述字段,不包含代码块)
- server name(名称,用于在客户端配置中标识该MCP服务器)
- command(启动命令,例如 python)
- args(启动参数,例如 ["-m", "tukuy.mcp_server"])
- 以 Tukuy 为例,Claude Desktop/Claude Code 客户端常见配置项如下:
- 服务器名:tukuy
- 启动命令:python
- 启动参数:["-m", "tukuy.mcp_server"]
- 进阶配置(含环境变量的可选配置):
- 可以通过设置环境变量控制暴露的插件分组、排除危险插件等,例如:
- TUKUY_MCP_ONLY:用于限定暴露的插件分组,逗号分隔
- TUKUY_MCP_EXCLUDE:用于排除特定的插件组或插件
- 可以通过设置环境变量控制暴露的插件分组、排除危险插件等,例如:
- 配置文件在客户端需要以 JSON 结构描述,包含以下字段:
- serverName: tukuy
- command: python
- args: ["-m", "tukuy.mcp_server"]
- env 可选字段:键值对,用于向 MCP 服务器进程注入环境变量
- 注:以上配置用于 MCP 客户端在启动时连接 MCP 服务器,实际 JSON 配置在具体客户端实现中可能有略微差异,请参照客户端所需的字段及格式进行调整。
- 基础配置示例(仅描述字段,不包含代码块)
-
基本使用方法
- 启动 MCP 服务器
- 在服务器端执行启动命令以启动 Tukuy 的 MCP 服务模块,使其对外提供资源、工具和提示模板的访问。
- 与 MCP 客户端对接
- 客户端通过 JSON-RPC 调用 Tukuy MCP 服务器提供的能力(读取资源、调用工具、获取 Prompt 等)。
- 使用要点
- 客户端通过配置将 Tukuy MCP 服务器注册为可用的后端服务,并在对话中按 MCP 规范向服务器发起请求。
- 服务器需要正确处理会话和能力声明,确保对资源、工具、模板的访问符合策略和安全要求。
- 启动 MCP 服务器
-
运行与测试
- 参考仓库内 README 中关于 MCP 服务器的描述和示例配置,结合本地/Lab 环境实际网络设置进行测试。
- 测试要覆盖资源读取、工具调用、模板渲染及多传输通道的稳定性。
-
参考要点
- MCP 服务器应实现标准的 JSON-RPC 请求/响应循环,能够对不同请求类型(资源、工具、 prompts)给出一致的 JSON-RPC 响应。
- 安全性与沙箱策略:服务器端应能结合 SafetyPolicy 进行能力限制和资源访问控制。
- 插件化能力:服务器暴露的工具、资源、transformer、prompt 等均来自 Tukuy 的插件/技能体系,确保扩展性。
- 传输适配:在实现中尽量保持对常见传输协议的兼容,以便 Claude Desktop、Claude Code 等 MCP 客户端的接入。
-
进一步了解
- 你可以参考 Tukuy 的 MCP 服务器实现及相关示例,确保部署时按 MCP 客户端要求的版本与接口进行交互。