CAD-Query MCP Server
A server for generating and verifying CAD models using the CAD-Query Python library.
CAD-Query MCP Server
A Model Context Protocol (MCP) server that provides CAD generation and verification tools for Claude Code. This server enables conversational 3D modeling by exposing CAD-Query functionality through MCP tools.
Features
verify_cad_query- Validates CAD-Query generated models against criteriagenerate_cad_query- (Stub implementation) Generates CAD-Query Python scripts from descriptions- CAD-Query Integration - Full CAD-Query support for parametric 3D modeling
- STL/STEP Export - Direct export to 3D printing and CAD formats
- Visual Feedback - SVG generation for model inspection
Installation
# Install dependencies
uv sync
# For development with CAD verification capabilities
uv sync --extra cad
# Test the server
uv run python tests/test_server.py
# Run with MCP Inspector (interactive testing)
uv run mcp dev server.py
Claude Desktop Configuration
Add this to your Claude Desktop configuration file:
macOS
Location: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows
Location: %APPDATA%/Claude/claude_desktop_config.json
Configuration
{
"mcpServers": {
"cadquery-server": {
"command": "python",
"args": ["/path/to/cadquery-mcp-server/server.py"],
"env": {}
}
}
}
MCP Tools
verify_cad_query
Validates a CAD-Query generated model against specified criteria.
Parameters:
file_path(string): Path to the CAD-Query Python fileverification_criteria(string): Description of what to verify
Example:
{
"file_path": "models/coffee_mug.py",
"verification_criteria": "coffee mug with handle, 10cm height, 8cm diameter"
}
Returns:
{
"status": "PASS" | "FAIL",
"message": "Description of result",
"file_path": "Path to verified file",
"criteria": "Verification criteria used",
"details": "Additional verification details"
}
generate_cad_query (Stub Implementation)
Generates CAD-Query Python scripts from natural language descriptions.
NOTE: Currently returns a stub response indicating the feature is not yet implemented.
Parameters:
description(string): Natural language description of the desired 3D modelparameters(string, optional): Specific dimensions or constraints
Example:
{
"description": "Create a coffee mug with a handle, 10cm tall and 8cm diameter",
"parameters": "height=100mm, diameter=80mm, handle_width=15mm"
}
Returns:
{
"status": "NOT_IMPLEMENTED",
"message": "CAD code generation is not yet implemented",
"description": "Input description",
"parameters": "Input parameters",
"details": "Additional information"
}
CAD-Query Script Requirements
All CAD-Query scripts must end with show_object(result):
import cadquery as cq
result = cq.Workplane("XY").box(10, 10, 10)
show_object(result) # Required for processing
Development
Testing
# Test server functionality
uv run python tests/test_server.py
# Interactive testing with MCP Inspector
uv run mcp dev server.py
# Run evaluations
uv run python evaluations/evaluate_verify.py
Extending the Server
The current verify_cad_query implementation is a basic validator. You can enhance it to:
- Parse and validate CAD-Query syntax
- Execute model generation and catch errors
- Analyze resulting geometry dimensions
- Check for specific features and constraints
- Generate detailed validation reports
Dev tools
# formatting
uvx rff format
# running the MCP server
npx @modelcontextprotocol/inspector \
uv \
--directory $(pwd) \
run \
server.py
Máy chủ liên quan
Alpha Vantage MCP Server
nhà tài trợAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Next.js MCP Server
A Next.js-based MCP server with OAuth 2.1 authentication support using Google as the default provider. Requires a PostgreSQL database and optionally Redis for SSE transport.
BlenderMCP
Connects Blender to AI models via MCP for prompt-assisted 3D modeling, scene creation, and manipulation.
DIY MCP
A from-scratch implementation of the Model Context Protocol (MCP) for building servers and clients, using a Chinese tea collection as an example.
RubyGems Package Info
Fetches comprehensive information about Ruby gems from RubyGems.org, including READMEs, metadata, and search functionality.
Croft Laravel
A local MCP server for Laravel developers to boost productivity with artisan commands.
MCPunk
Explore and understand codebases through conversation by breaking files into logical chunks for searching and querying without embeddings.
fal.ai Recraft v3
Advanced text-to-image generation using the fal.ai Recraft v3 API.
Smart Prompts MCP Server
Fetches and manages prompts from GitHub repositories with intelligent discovery and composition features.
jDocMunch-MCP
jDocMunch-MCP lets AI agents navigate documentation by section instead of reading files by brute force.
Flowbite MCP
This MCP server is the official tool that allows you to work with the Flowbite UI framework and generate websites, layouts, and themes using AI