Dadam Cabinet MCP 服务器实现
使用说明(Markdown 格式)
-
项目简介
- 该仓库实现了基于 MCP 的服务器端,提供资源、工具和提示模板的统一管理,并通过 JSON-RPC 与 LLM 客户端进行交互。核心逻辑包含 MCP 服务入口、工具注册/执行、绘图与 BOM 生成等能力,支持通过 STDIO 与 HTTP 服务进行对接与测试。
-
主要功能点
- MCP 服务器核心:实现 Model Context Protocol 的请求/响应处理,提供工具查询与执行能力。
- 工具生态(Tools):内置丰富的 MCP 工具集,如绘制、BOM、图像生成、设计数据提取、SVG 渲染等,支持工具注册与执行。
- Prompts 与模板:提供多种 Prompt 模板和材料颜色、风格等分组,支持按需渲染与组合。
- 数据与缓存:包含 RAG 缓存、内存缓存、设计数据生成与绘图数据的流程化管线。
- HTTP 与 SVG 绘制:独立的 HTTP API 服务用于测试与演示,以及绘制数据转 SVG 的渲染服务。
- 流程与健全性:包含错误处理、日志、限流与重试机制,确保在调用外部服务时具备鲁棒性。
-
安装步骤
- 进入 mcp-server 目录,安装依赖:
- npm install
- 设置环境变量(示例键位,实际请使用真实密钥与地址):
- MCP 服务器需要的关键变量包括:SUPABASE_URL、SUPABASE_ANON_KEY、GEMINI_API_KEY、ANTHROPIC_API_KEY、以及可选的 MCP 服务器端口与日志级别等。
- 构建与启动:
- 运行构建将 TypeScript 转换为可执行 JavaScript(若仓库提供了构建脚本,请使用对应命令)。
- 启动 MCP 服务器(通常输出为通过 STDIO 进行 JSON-RPC 的进程,亦可与 HTTP 服务共存):
- 服务器默认使用 STDIO 作为传输通道,启动后可通过 MCP 客户端发送 JSON-RPC 请求。
- 测试运行:
- 可以通过仓库内的单元测试来验证核心模块的功能。
- 进入 mcp-server 目录,安装依赖:
-
服务器配置(MCP 客户端配置示例) 说明:MCP 客户端需要通过配置指定服务器的启动命令和参数,以便与 MCP 服务器建立 JSON-RPC 通信。以下信息以 JSON 格式描述,实际需要按客户端实现提供的连接方式加载。 { "server_name": "dadam-mcp-server", "command": "node", "args": ["dist/index.js"] // 构建产物入口,请根据实际输出路径调整 } 备注:
- 服务器名称与启动命令需与实际部署一致,参数可根据生成的分发包路径进行修改。
- MCP 客户端无需直接修改,配置仅用于对接示例,帮助开发运维人员了解连接参数。
-
基本使用方法 -与 MCP 服务端的交互基于 JSON-RPC over所选传输(如 STDIO)。客户端向服务端发送以下核心请求:
- 列出工具:请求返回服务器注册的 MCP 工具定义,便于前端或代理端了解可调用的工具及其输入格式。
- 调用工具:按工具名称与参数执行某项工具,服务器返回工具执行结果,通常包含 content 字段用于 MCP 客户端解析。
- 在实际应用中,调用链通常包括:向 MCP 服务器请求工具列表、调用具体工具以获取 Drawing/BOM/Design 数据等结果、根据返回的数据进行后续模型对接或前端渲染。
- 如需调试,可使用仓库提供的测试用例与日志输出,逐步验证工具注册、执行及输出格式。