这是一个提供给 Claude Code 的 CAD 生成和验证工具的 Model Context Protocol (MCP) 服务器。该服务器通过 MCP 工具暴露 CAD-Query 功能,从而实现对话式的 3D 建模。
verify_cad_query - 验证 CAD-Query 生成的模型是否符合标准generate_cad_query - (存根实现) 根据描述生成 CAD-Query Python 脚本# 安装依赖
uv sync
# 开发环境安装 CAD 验证功能
uv sync --extra cad
# 测试服务器
uv run python tests/test_server.py
# 使用 MCP Inspector 运行(交互测试)
uv run mcp dev server.py
在你的 Claude Desktop 配置文件中添加以下内容:
位置:~/Library/Application Support/Claude/claude_desktop_config.json
位置:%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"cadquery-server": {
"command": "python",
"args": ["/path/to/cadquery-mcp-server/server.py"],
"env": {}
}
}
}
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 脚本必须以 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 实现是一个基本的验证器。你可以增强它来:
# 格式化
uvx rff format
# 运行 MCP 服务器
npx @modelcontextprotocol/inspector \
uv \
--directory $(pwd) \
run \
server.py