用途:把 OpenConstructionERP 的 REST API 包装成 MCP 服务器,让 AI 助手从聊天对象变为操作者,可自行加载成本库、搜索条目、生成 BOQ 并读取校验结果。
主要能力(工具与底层 API):list_cost_bases(GET /api/v1/costs/base-catalog);load_cost_base(POST /api/v1/costs/load-cwicr/{db_id},幂等,返回 imported/skipped,重复调用返回 already_loaded);search_cost_items(GET /api/v1/costs/?region=...&q=...,走 SQL 路径,无需 Qdrant);get_cost_item(GET /api/v1/costs/{id},返回 components[] 与分类);category_tree(GET /api/v1/costs/category-tree/?region=...);suggest_for_element(POST /api/v1/costs/suggest-for-element,BIM 构件到成本排序);create_boq / validate_boq(POST /api/v1/boqs、/boqs/{id}/validate/);import_catalog(POST /api/v1/catalog/import/{region})。
使用方式:提供 TypeScript 参考实现,用 fastmcp 的 FastMCP 包装 ERP 的 FastAPI 后端。ERP 地址取环境变量 OPENESTIMATE_URL,默认 http://localhost:8000;服务命名为 openconstructionerp。示例中定义 load_cost_base 与 search_cost_items 两个工具,通过 fetch 调用对应端点并携带 Authorization: Bearer ${process.env.ERP_TOKEN},最后以 server.start({ transportType: "stdio" }) 启动。
认证与安全:复用 ERP 的 JWT,注册服务账号,仅搭建阶段使用 bootstrap admin;MCP 工具应幂等且以读为主;不在工具描述中暴露凭据,使用环境变量 ERP_TOKEN;对写工具限流,ERP 默认 api_rate_limit 为 200/min。
最佳实践:先只读(浏览/搜索),测试后再加写操作(创建 BOQ、关联);BIM 转换等长操作采用进度工具模式而非阻塞;服务端记录每次助手操作;可将 MCP 服务器发布到助手市场(Claude Code registry、Antigravity、OpenCode)。
限制:资料未说明部署环境、版本兼容范围与收费信息,暂未提供。