Zoo MCP 服务器
使用说明(Markdown 格式)
-
项目简介
- Zoo MCP Server 基于 Model Context Protocol(MCP)构建,是一个后端服务,旨在为 LLM 客户端提供标准化的上下文信息、资源访问、工具执行以及提示渲染等能力。服务器内置了对 CAD 模型的计算、转换、快照、以及 KCL 语言相关的文档和示例管理等功能,便于在对话中调用外部功能。
-
主要功能点
- 资源与数据访问:通过工具实现对 CAD 文件、KCL 代码及文档/样本数据的读写与处理。
- 工具注册与执行:提供大量工具(如计算中心质量、质量、表面积、体积、CAD 转换、KCL 执行及快照等),LLM 可通过 JSON-RPC 调用这些工具并获取结果。
- 文档与样本管理:内置对 KCL 文档与示例的缓存、检索、以及按类别的组织,支持搜索、获取文档内容、列出文档和样本等。
- CAD/KCL 相关能力:文本到 CAD、编辑 KCL 项目、格式化/ lint 修复、快照渲染、指定视角的图片 collage 等。
- 运行与扩展性:可以通过多种传输方式(如 STDIO/WebSocket 等)进行通信,便于在不同环境中部署和集成。
-
安装步骤
-
- 准备运行环境:确保安装了 UV(作为 Python 虚拟环境管理器)以及相关依赖。
-
- 选择安装方式之一:
- 直接从源码运行:使用 uv run -m zoo_mcp 或 uv run src/zoo_mcp/server.py
- 通过 uvx 启动:uvx zoo-mcp
-
- 配置运行参数(如需要集成到现有流水线/容器中,请参照下面的服务器配置示例):
- 安装完成后,启动方式可参考项目自述中的示例命令。
-
-
服务器配置(MCP 客户端需要的最小信息) 注:以下配置用于 MCP 客户端在启动时连接到本 MCP 服务器。JSON 配置包含服务器名称、启动命令及参数等信息,便于自动化客户端进行连接设置。 { "server_name": "Zoo MCP Server", "command": "uvx", "args": ["zoo-mcp"] // 说明:这是最常用的启动方式,等价于运行命令 "uvx zoo-mcp"。若使用另一种启动方式,请以相同字段替换对应命令和参数,例如 "command": "uv", "args": ["run", "-m", "zoo_mcp.server"] }
-
基本使用方法
- 启动服务器并保持运行,确保日志等级和网络设置符合环境要求。
- 使用 MCP 客户端(遵循 JSON-RPC 规范)向服务器发送请求,如调用 calculate_center_of_mass、text_to_cad、export_kcl 等工具。
- 利用服务器提供的文档与样本工具,获取文档内容、搜索、列出样本,以及获取样本中的文件内容。
- 若需要将图像等输出保存到本地,使用 save_image 等工具将 ImageContent 写入磁盘。
-
运行与集成建议
- 将服务器作为后端上下文提供者,与大语言模型进行对话时,按需请求资源、执行工具、返回的结果用于上下文拼接或直接响应。
- 若有 CI/CD 需求,确保在部署阶段正确配置运行命令以及依赖(如 UV、KittyCAD 客户端、以及对外数据源的访问权限)。
-
备注
- 代码实现覆盖了资源管理、工具执行、文档与样本获取、以及多种快照/导出操作等 MCP 服务核心能力,且包含服务器端启动、工具定义以及文档/样本缓存初始化等完整实现,符合 MCP 服务器的实际应用场景。实际部署时请结合组织的鉴权、密钥管理和网络安全策略进行调整。