CAD-Query MCP Server
Un servidor para generar y verificar modelos CAD utilizando la librería Python CAD-Query.
Documentación
CAD-Query MCP Server
Un servidor de Model Context Protocol (MCP) que proporciona herramientas de generación y verificación CAD para Claude Code. Este servidor permite el modelado 3D conversacional al exponer la funcionalidad de CAD-Query a través de herramientas MCP.
Características
verify_cad_query- Valida modelos generados por CAD-Query contra criteriosgenerate_cad_query- (Implementación preliminar) Genera scripts de Python de CAD-Query a partir de descripciones- Integración CAD-Query - Soporte completo de CAD-Query para modelado 3D paramétrico
- Exportación STL/STEP - Exportación directa a formatos de impresión 3D y CAD
- Retroalimentación visual - Generación de SVG para inspección de modelos
Instalación
# 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
Configuración de Claude Desktop
Añade esto a tu archivo de configuración de Claude Desktop:
macOS
Ubicación: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows
Ubicación: %APPDATA%/Claude/claude_desktop_config.json
Configuración
{
"mcpServers": {
"cadquery-server": {
"command": "python",
"args": ["/path/to/cadquery-mcp-server/server.py"],
"env": {}
}
}
}
Herramientas MCP
verify_cad_query
Valida un modelo generado por CAD-Query contra criterios especificados.
Parámetros:
file_path(string): Ruta al archivo Python de CAD-Queryverification_criteria(string): Descripción de qué verificar
Ejemplo:
{
"file_path": "models/coffee_mug.py",
"verification_criteria": "coffee mug with handle, 10cm height, 8cm diameter"
}
Devuelve:
{
"status": "PASS" | "FAIL",
"message": "Description of result",
"file_path": "Path to verified file",
"criteria": "Verification criteria used",
"details": "Additional verification details"
}
generate_cad_query (Implementación preliminar)
Genera scripts de Python de CAD-Query a partir de descripciones en lenguaje natural.
NOTA: Actualmente devuelve una respuesta preliminar que indica que la función aún no está implementada.
Parámetros:
description(string): Descripción en lenguaje natural del modelo 3D deseadoparameters(string, opcional): Dimensiones o restricciones específicas
Ejemplo:
{
"description": "Create a coffee mug with a handle, 10cm tall and 8cm diameter",
"parameters": "height=100mm, diameter=80mm, handle_width=15mm"
}
Devuelve:
{
"status": "NOT_IMPLEMENTED",
"message": "CAD code generation is not yet implemented",
"description": "Input description",
"parameters": "Input parameters",
"details": "Additional information"
}
Requisitos de los scripts de CAD-Query
Todos los scripts de CAD-Query deben terminar con show_object(result):
import cadquery as cq
result = cq.Workplane("XY").box(10, 10, 10)
show_object(result) # Required for processing
Desarrollo
Pruebas
# 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
Ampliación del servidor
La implementación actual de verify_cad_query es un validador básico. Puedes mejorarla para:
- Analizar y validar la sintaxis de CAD-Query
- Ejecutar la generación de modelos y capturar errores
- Analizar las dimensiones de la geometría resultante
- Verificar características y restricciones específicas
- Generar informes de validación detallados
Herramientas de desarrollo
# formatting
uvx rff format
# running the MCP server
npx @modelcontextprotocol/inspector \
uv \
--directory $(pwd) \
run \
server.py