{"id":"atoi-ming-freecad-mcp","name":"FreeCAD-MCP","homepage":null,"repo_url":"https://github.com/ATOI-Ming/FreeCAD-MCP","category":"ai-ml","subcategories":[],"tags":["cad","freecad","mcp","automation","macros","python","plugin","stdio","tcp"],"what_it_does":"FreeCAD-MCP is a FreeCAD workbench/plugin that exposes FreeCAD automation capabilities through the Model Context Protocol (MCP). It includes an MCP server with a GUI control panel, plus a Python client that can create/update/validate/run FreeCAD macros (FCMacro), adjust 3D views, and retrieve execution logs/reports. Communication is via stdio or TCP and integrates macro normalization (imports, recompute, view adjustment) before running.","use_cases":["Automate parametric model creation in FreeCAD via text/code-generated macros","Remote/control FreeCAD macro execution from an AI tool or external workflow using MCP","Batch generation of CAD models by running multiple macros sequentially","Programmatically switch views (front/top/right/axonometric) and capture execution reports/logs","Validate macro code before executing to reduce runtime errors"],"not_for":["Security-sensitive or untrusted macro execution in shared environments (macros are arbitrary Python)","Production-grade service deployments that require robust authentication/authorization and strong network security controls","Headless/CI usage without careful environment setup (FreeCAD GUI context and paths may be required)"],"best_when":"You control the FreeCAD environment and the macro/code inputs, and you want an agent-friendly way to drive FreeCAD through MCP for local automation.","avoid_when":"You need to run untrusted or user-supplied code/macros, or you require secure multi-tenant access over a network without additional hardening.","alternatives":["FreeCAD macros executed directly in Python (without MCP)","Other FreeCAD automation interfaces (e.g., FreeCADCmd scripts, custom Python tooling)","Using the MCP server of another CAD/automation backend with a documented API contract","Direct HTTP/RPC wrappers around FreeCAD (custom implementation) instead of MCP"],"af_score":56.8,"security_score":30.8,"reliability_score":26.2,"package_type":"mcp_server","discovery_source":["github"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T13:53:36.651719+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":null,"has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":[],"oauth":false,"scopes":false,"notes":"No authentication/authorization is described for MCP server/client. Access appears local by default (stdio) and optionally via TCP localhost, but without documented auth or access control."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"Open-source (MIT) plugin; no pricing information provided."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":56.8,"security_score":30.8,"reliability_score":26.2,"mcp_server_quality":55.0,"documentation_accuracy":70.0,"error_message_quality":null,"error_message_notes":"The README mentions logging errors and returning traceback via validate-macro-code, but does not document a stable error schema beyond examples like {\"status\":\"success\"} and general guidance to check %TEMP% log.","auth_complexity":95.0,"rate_limit_clarity":0.0,"tls_enforcement":30.0,"auth_strength":10.0,"scope_granularity":0.0,"dependency_hygiene":55.0,"secret_handling":70.0,"security_notes":"No auth is documented for MCP server/client. The client can connect via TCP (even if localhost), which increases risk if exposed. The system executes/normalizes arbitrary macro Python code, so it should not be used with untrusted inputs. Logs are written to a temp file; secret handling specifics (e.g., redaction) are not described.","uptime_documented":0.0,"version_stability":35.0,"breaking_changes_history":20.0,"error_recovery":50.0,"idempotency_support":"false","idempotency_notes":"No explicit idempotency guarantees. Actions like create/update/run macros may have side effects (file writes, document/recompute/render).","pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["Macro inputs are Python code; agents should treat provided code as privileged and avoid untrusted inputs","Path configuration (mcp_config.json and command args) is commonly a failure point (README highlights incorrect paths)","TCP port 9876 conflicts can prevent startup (README notes port-in-use troubleshooting)","Server behavior depends on FreeCAD environment and write permissions to temp/log locations"]}}