CAD-Query MCP Server
Um servidor para gerar e verificar modelos CAD usando a biblioteca Python CAD-Query.
Documentação
Servidor MCP CAD-Query
Um servidor Model Context Protocol (MCP) que fornece ferramentas de geração e verificação de CAD para o Claude Code. Este servidor permite modelagem 3D conversacional ao expor a funcionalidade do CAD-Query por meio de ferramentas MCP.
Recursos
verify_cad_query- Valida modelos gerados pelo CAD-Query contra critériosgenerate_cad_query- (Implementação provisória) Gera scripts Python do CAD-Query a partir de descrições- Integração CAD-Query - Suporte completo ao CAD-Query para modelagem 3D paramétrica
- Exportação STL/STEP - Exportação direta para formatos de impressão 3D e CAD
- Feedback Visual - Geração de SVG para inspeção de modelos
Instalação
# 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
Configuração do Claude Desktop
Adicione isto ao seu arquivo de configuração do Claude Desktop:
macOS
Localização: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows
Localização: %APPDATA%/Claude/claude_desktop_config.json
Configuração
{
"mcpServers": {
"cadquery-server": {
"command": "python",
"args": ["/path/to/cadquery-mcp-server/server.py"],
"env": {}
}
}
}
Ferramentas MCP
verify_cad_query
Valida um modelo gerado pelo CAD-Query contra critérios especificados.
Parâmetros:
file_path(string): Caminho para o arquivo Python do CAD-Queryverification_criteria(string): Descrição do que verificar
Exemplo:
{
"file_path": "models/coffee_mug.py",
"verification_criteria": "coffee mug with handle, 10cm height, 8cm diameter"
}
Retorna:
{
"status": "PASS" | "FAIL",
"message": "Description of result",
"file_path": "Path to verified file",
"criteria": "Verification criteria used",
"details": "Additional verification details"
}
generate_cad_query (Implementação Provisória)
Gera scripts Python do CAD-Query a partir de descrições em linguagem natural.
NOTA: Atualmente retorna uma resposta provisória indicando que o recurso ainda não foi implementado.
Parâmetros:
description(string): Descrição em linguagem natural do modelo 3D desejadoparameters(string, opcional): Dimensões ou restrições específicas
Exemplo:
{
"description": "Create a coffee mug with a handle, 10cm tall and 8cm diameter",
"parameters": "height=100mm, diameter=80mm, handle_width=15mm"
}
Retorna:
{
"status": "NOT_IMPLEMENTED",
"message": "CAD code generation is not yet implemented",
"description": "Input description",
"parameters": "Input parameters",
"details": "Additional information"
}
Requisitos do Script CAD-Query
Todos os scripts CAD-Query devem terminar com show_object(result):
import cadquery as cq
result = cq.Workplane("XY").box(10, 10, 10)
show_object(result) # Required for processing
Desenvolvimento
Testes
# 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
Estendendo o Servidor
A implementação atual de verify_cad_query é um validador básico. Você pode aprimorá-lo para:
- Analisar e validar a sintaxe do CAD-Query
- Executar a geração de modelos e capturar erros
- Analisar as dimensões da geometria resultante
- Verificar recursos e restrições específicos
- Gerar relatórios de validação detalhados
Ferramentas de desenvolvimento
# formatting
uvx rff format
# running the MCP server
npx @modelcontextprotocol/inspector \
uv \
--directory $(pwd) \
run \
server.py