返回市场
cadquery-mcp服务器

cadquery-mcp服务器

作者:rishigundakaram6 星标更新:2025-06-30

项目介绍

CAD-Query MCP 服务器

这是一个提供给 Claude Code 的 CAD 生成和验证工具的 Model Context Protocol (MCP) 服务器。该服务器通过 MCP 工具暴露 CAD-Query 功能,从而实现对话式的 3D 建模。

特性

  • verify_cad_query - 验证 CAD-Query 生成的模型是否符合标准
  • generate_cad_query - (存根实现) 根据描述生成 CAD-Query Python 脚本
  • CAD-Query 集成 - 完整支持参数化 3D 建模的 CAD-Query
  • STL/STEP 导出 - 直接导出到 3D 打印和 CAD 格式
  • 视觉反馈 - 生成 SVG 用于模型检查

安装

# 安装依赖
uv sync

# 开发环境安装 CAD 验证功能
uv sync --extra cad

# 测试服务器
uv run python tests/test_server.py

# 使用 MCP Inspector 运行(交互测试)
uv run mcp dev server.py

Claude Desktop 配置

在你的 Claude Desktop 配置文件中添加以下内容:

macOS

位置:~/Library/Application Support/Claude/claude_desktop_config.json

Windows

位置:%APPDATA%/Claude/claude_desktop_config.json

配置

{
  "mcpServers": {
    "cadquery-server": {
      "command": "python",
      "args": ["/path/to/cadquery-mcp-server/server.py"],
      "env": {}
    }
  }
}

MCP 工具

verify_cad_query

验证 CAD-Query 生成的模型是否符合指定的标准。

参数:

  • file_path (字符串):CAD-Query Python 文件的路径
  • verification_criteria (字符串):要验证的内容描述

示例:

{
  "file_path": "models/coffee_mug.py",
  "verification_criteria": "带把手的咖啡杯,高度10厘米,直径8厘米"
}

返回值:

{
  "status": "PASS" | "FAIL",
  "message": "结果描述",
  "file_path": "已验证文件的路径",
  "criteria": "使用的验证标准",
  "details": "附加验证详情"
}

generate_cad_query (存根实现)

根据自然语言描述生成 CAD-Query Python 脚本。

注意:当前返回一个存根响应,表示该功能尚未实现。

参数:

  • description (字符串):所需 3D 模型的自然语言描述
  • parameters (字符串,可选):特定尺寸或约束条件

示例:

{
  "description": "创建一个带把手的咖啡杯,高10厘米,直径8厘米",
  "parameters": "高度=100毫米,直径=80毫米,把手宽度=15毫米"
}

返回值:

{
  "status": "NOT_IMPLEMENTED",
  "message": "CAD 代码生成尚未实现",
  "description": "输入描述",
  "parameters": "输入参数",
  "details": "附加信息"
}

CAD-Query 脚本要求

所有 CAD-Query 脚本必须以 show_object(result) 结尾:

import cadquery as cq
result = cq.Workplane("XY").box(10, 10, 10)
show_object(result)  # 处理所需的

开发

测试

# 测试服务器功能
uv run python tests/test_server.py

# 使用 MCP Inspector 进行交互测试
uv run mcp dev server.py

# 运行评估
uv run python evaluations/evaluate_verify.py

扩展服务器

当前的 verify_cad_query 实现是一个基本的验证器。你可以增强它来:

  • 解析并验证 CAD-Query 语法
  • 执行模型生成并捕获错误
  • 分析生成几何尺寸
  • 检查特定特征和约束条件
  • 生成详细的验证报告

开发工具

# 格式化
uvx rff format

# 运行 MCP 服务器
npx @modelcontextprotocol/inspector \
  uv \
  --directory $(pwd) \
  run \
  server.py