Instant Connection for Pixel Streaming

— New Feature Automated Setup

How to Use FreeCAD With Codex: MCP & Computer Use

Architecture

-

How to Use FreeCAD With Codex: MCP & Computer Use

Architecture

How to Use FreeCAD With Codex: MCP & Computer Use

Architecture

-

Table of Contents

An electronics enclosure can look finished in FreeCAD while its lid sits too tightly, its screw holes miss the mounting posts, or a connector opening cuts through the wrong wall. These problems are easy to overlook in an isometric view, especially when the model was created by a script that ran without errors.

Using Codex with FreeCAD should therefore involve more than generating Python. Through a compatible MCP connector, Codex can inspect an open document, query objects, change properties, and execute Python inside the application. That connection requires a third-party FreeCAD addon and a separately configured MCP server.

Computer Use provides a different kind of access. In a supported desktop setup, Codex can navigate approved application interfaces and inspect visible evidence, including Sketcher warnings, selected features, and drawing layouts. Receiving a viewport screenshot through MCP does not automatically grant this interface control.

This guide follows an enclosure and its separate lid from initial inspection through parameter changes and export verification. The aim is an editable design with identifiable controls, checked relationships, and deliverables you can reopen and examine before committing to fabrication.

FreeCAD interface displaying a mechanical part with a circular hole and a forked end in an isometric view.

Source: FreeCAD

Start With the Model, Not the Prompt

Before asking Codex to change a FreeCAD model, establish what you are giving it. A native .FCStd document may contain sketches, constraints, and dependent features. An imported STEP file may provide usable geometry without the original modeling history. Those starting points require different editing strategies.

For our enclosure, the first task is inspection, not construction. Codex should identify the active document, determine whether the housing and lid already exist, and locate the properties controlling their dimensions. If you are starting from an empty document, provide those requirements explicitly.

The access method also determines what Codex can verify:

Access method

Role in the workflow

Code generation

Produces Python for you to review and execute.

MCP

Queries and performs supported operations in the connected FreeCAD session.

Computer Use

Navigates approved interfaces and inspects visible application state.

A useful first request is:

Inspect the active FreeCAD document without modifying it. List the enclosure and lid objects, including their internal names, labels, and types. Identify existing sketches, controlling dimensions, and dependent features. Report units and missing information. Do not create, delete, recompute, export, or save anything.

FreeCAD distinguishes internal object names from displayed labels. A label alone is not a reliable target, particularly when several objects have similar names. Ask Codex to identify the exact document and object before proposing an edit.

Next, define what must remain consistent: wall thickness, lid alignment, screw-hole positions, and clearance around internal components. Distinguish dimensions you supplied from values Codex would otherwise need to assume.

Finally, specify whether you need an editable PartDesign feature structure. A finished solid is not automatically a model with accessible Sketch, Pad, and Pocket operations. That distinction matters when the next request is “make the enclosure longer.”

Connect Codex to the Running FreeCAD Session

For this walkthrough, we will use the community-maintained FreeCAD MCP connector. It has two components: an addon inside FreeCAD and an external MCP server launched by Codex. Installing one does not establish the complete connection.

Install the FreeCAD Side of the Bridge

Install FreeCAD and uv, then obtain the connector:

Copy the repository’s addon/FreeCADMCP directory into the user addon directory for your FreeCAD installation. Follow the connector’s installation instructions, since paths vary by operating system, version, and packaging.

To identify the directory used by the running installation, open FreeCAD’s Python console and enter:



The addon runs inside FreeCAD’s bundled Python. The external MCP server requires Python 3.12 or later. Do not install the server package into FreeCAD’s bundled environment.

Restart FreeCAD, select the MCP Addon workbench, and click Start RPC Server. Check the status bar or Report View for the result. The default listener is 127.0.0.1:9875; this is the addon’s XML-RPC address, not an HTTP MCP endpoint to paste into Codex.

Keep FreeCAD open and begin with a disposable document.

FreeCAD MCP menu displaying Start RPC Server, Stop RPC Server, and remote connection controls.

Source: neka-nat/freecad-mcp

Register the Server in Codex

Using the Codex MCP configuration syntax, register the connector’s launch command:

Alternatively, add this table to your Codex config.toml:

[mcp_servers.freecad]
command = "uvx"
args = ["freecad-mcp"]
[mcp_servers.freecad]
command = "uvx"
args = ["freecad-mcp"]

Use one method, preserving existing server entries. This configuration combines Codex’s documented STDIO support with the connector’s documented command; it is not a separate official FreeCAD integration.

If Codex cannot find uvx, verify its installation and executable path. Restart or reconnect your Codex session after changing configuration.

Verify Before Editing

Run:

In the Codex terminal interface, /mcp shows active servers. However, a configured server does not prove that the FreeCAD addon is responding.

Ask Codex:

Use the FreeCAD MCP tools to list open documents and inspect the objects in my disposable document. Report names and types without changing, recomputing, or saving anything.

The connector provides list_documents, get_objects, and get_object. Compare the response with FreeCAD’s model tree. Where supported, request text-only feedback to avoid unnecessary screenshots during this check.

If the workbench is missing, inspect addon import errors in Report View. If the server starts but queries fail, check the RPC listener and addon/server version warnings. Resolve those problems before authorizing modeling.

Computer Use remains separate. Registering this MCP server does not grant Codex permission to click or type inside FreeCAD.

Build an Enclosure With Separate, Editable Parts

Begin with a simple rectangular enclosure and a flat lid. Keep connector openings, mounting posts, and fillets for later, so the first model tests the basic feature structure without introducing unnecessary dependencies.

FreeCAD viewport showing an electronics enclosure base and a separate lid in an exploded arrangement.

Source: Bwalkzz31

Define the initial inputs explicitly:

Parameter

Demonstration value

Intended control

Enclosure length

100 mm

Base sketch dimension

Enclosure width

60 mm

Base sketch dimension

Overall body height

30 mm

Pad length

Wall thickness

3 mm

Inner profile dimensions

Base thickness

3 mm

Pocket depth relationship

Lid thickness

3 mm

Separate lid Pad

These are demonstration values, not manufacturing recommendations. A resting flat lid also differs from an inserted or overlapping lid. Specify the intended arrangement before asking Codex to introduce clearance, locating lips, or fasteners.

For the housing, request a PartDesign Body containing a constrained outer sketch, a Pad, and a Pocket that leaves the intended walls and floor. Give the lid its own Body and sketch. Treat these as separate parts, not disconnected solids forced into one feature sequence.

FreeCAD Pad parameters panel showing extrusion lengths, direction, reversed mode, and taper angle settings.

Source: FreeCAD Documentation

A suitable request is:

Propose an editable feature plan for this enclosure and flat lid using the listed dimensions. Identify sketch planes, controlling constraints, and the relationship between body height, base thickness, and pocket depth. Keep the lid in a separate Body. Explain unresolved requirements and wait for approval before creating geometry.

After approval, build the housing first. Ask Codex to inspect the outer dimensions and the cavity, confirming that the Pocket opens from the intended side and leaves the specified floor. For this example, the expected cavity dimensions are 94 × 54 mm, with a depth of 27 mm.

Creating the lid comes next. Its position in the document should be deliberate: an offset display position can make inspection easier, but it must not be confused with its intended assembled placement.

Check both the numerical properties and the visible result. Each intended part should have one solid, with identifiable sketches and downstream features. Save a verified .FCStd checkpoint before adding complexity.

When introducing a connector cutout, define its target wall, dimensions, and location from known references. Do not let Codex infer an exact opening from an image alone. Inspect that operation before proceeding to mounting posts or cosmetic edge treatment.

FreeCAD electronics enclosure base showing its internal cavity and four PCB mounting standoffs.

Source: Bwalkzz31

Use Computer Use Where the Interface Holds the Evidence

MCP is usually the more direct route for reading properties and changing known parameters. Computer Use adds value when the evidence is in FreeCAD’s interface: a solver warning, a highlighted face, or dimensions overlapping on a drawing page.

Enable the Computer Use plugin in your supported desktop setup and approve access to FreeCAD. On macOS, the required system permissions include Screen Recording and Accessibility. On Windows, keep FreeCAD visible in the active desktop session and expect Codex to use foreground input while it works.

The following are proposed inspection workflows, not claims of tested end-to-end automation.

Inspect the Sketcher Solver Panel

Suppose the enclosure’s inner profile stops responding correctly after a width change. If the MCP query does not expose enough solver detail, ask Codex to open the sketch and inspect the task panel.

Use Computer Use to inspect the cavity sketch’s solver messages and visible constraints. Report remaining degrees of freedom and any identified redundant or conflicting constraints. Do not delete constraints or change dimensions. Propose a minimal repair for review.

A warning disappearing is not sufficient. The repair must preserve the relationships controlling wall thickness and profile position. After an approved change, verify those relationships through model properties as well as the interface.

FreeCAD Sketcher displaying a constrained profile with green geometry and red dimensional annotations.

Source: FreeCAD Documentation

Trace a Misplaced Cutout

A connector opening might exist but cut the wrong wall or extend in the wrong direction. Ask Codex to select the relevant feature in the model tree, inspect its support and direction settings, and rotate the view to examine the result.

Computer Use helps locate the visible problem. Structured queries should establish the exact object, placement, and cut depth. Do not estimate precise dimensions from screenshot pixels or accept a face merely because it looks correct from one angle.

FreeCAD Pocket parameters panel displaying cut lengths, direction, reversed mode, and taper settings.

Source: FreeCAD Documentation

Review the Drawing Page

A TechDraw page can show correct geometry while remaining difficult to read. Codex can inspect clipped views, overlapping annotations, and dimensions that become illegible at the intended page scale.

Request a review before edits:

Inspect the enclosure drawing page without changing it. List overlapping annotations, views outside the page boundary, and unreadable dimensions. Separate layout problems from missing design information.

This supports presentation checks, not certification that the drawing contains every manufacturing requirement.

FreeCAD TechDraw technical views of a mechanical part with linear and diameter dimensions.

Source: FreeCAD

Inspect the Export in a Second Application

After approving access to a slicer, ask Codex to open the exported STL and inspect the displayed dimensions, orientation, and included parts. This can reveal an enclosure imported at the wrong scale or a lid omitted from the export.

Scope the task to inspection. Do not authorize slicing changes, uploads, or print-job submission unless those are separately requested. The second application provides another check on the deliverable, but its preview cannot establish physical fit or strength.

Turn One Design Into a Controlled Variant Set

Once the enclosure and lid pass their initial checks, Codex can help prepare variants without rebuilding the design from scratch. The important step is identifying existing controls before adding new ones.

Ask where length, width, height, and wall thickness are defined. They may come from sketch constraints, feature properties, or spreadsheet parameters. If a property already uses an expression, change its controlling input rather than replacing that expression with a fixed value.

FreeCAD Spreadsheet Workbench displaying editable cells, calculated quantities, and values with units.

Source: FreeCAD Documentation

For this example, use a bounded variation matrix:

Variant

Length

Width

Body height

Baseline

100 mm

60 mm

30 mm

Longer housing

120 mm

60 mm

30 mm

Taller housing

100 mm

60 mm

40 mm

Keep wall, base, and lid thickness unchanged. The longer housing requires a corresponding lid-length change. The taller housing requires the cavity depth to follow body height while preserving the floor thickness.

If connector openings or mounting posts exist, define how they should respond. An opening positioned from one end should not automatically move to the center. A mounting post should not remain fixed in space merely because its sketch recomputes successfully.

A useful request is:

Identify the inputs controlling the enclosure and lid dimensions. Prepare each listed variant separately, preserving wall thickness, base thickness, and the approved positioning rules for openings and posts. Recompute after each change. Report final dimensions, feature errors, and solid counts. Stop if a dependency fails, and wait for approval before saving separate files.

Codex can also prepare a reusable Python verification script. It should compare expected values with the actual model, checking each Body’s final feature rather than counting every intermediate shape as a delivered part.

However, outer dimensions alone do not establish that the cavity, lid, or cutouts remain correct. Include internal measurements and inspect representative views. A successful script execution means the checks ran; it does not prove that the checks cover every design requirement.

Save each approved variant under a distinct filename and retain the baseline checkpoint. If one variation fails, investigate the earliest failing feature before continuing. Generating more variants from an unresolved dependency only multiplies the repair work.

When an Operation Fails, Inspect Before Retrying

A timeout does not necessarily mean nothing happened. Codex might lose the tool response while FreeCAD continues processing, or a Python exception might occur after some objects were created. Repeating the request immediately can produce duplicate features or compound a partial edit.

First, ask Codex to report the current document state and compare it with the last verified checkpoint. The connector provides get_rpc_status for RPC and GUI-dispatch health, plus get_async_status for background jobs.

Its execution modes serve different purposes:

Mode

Appropriate use

GUI execution

Normal operations on the open document.

Background execution

Independent computations, with document access handed back to the GUI thread.

Headless execution

Suitable operations in a separate FreeCAD process.

These are not interchangeable speed settings. Background code should not freely manipulate the live document. Headless results also require explicit file synchronization before the open GUI document reflects them.

Use a recovery request such as:

Inspect RPC or job status and report whether the previous operation is still running. If it has finished, identify objects or properties changed by it. Do not rerun the operation or delete anything. Propose recovery from the current state or the last checkpoint.

The connector documents that work already executing on the GUI thread can continue after a timeout response. Increasing a timeout may accommodate a slow operation, but it does not repair failed geometry.

Save versioned checkpoints before substantial changes. Transactions can help group document edits, but they cannot universally undo exported files or external effects. Python execution carries FreeCAD’s privileges, so require approval before deletion, overwriting files, or running unfamiliar code.

Deliver the Model, Not Just a Successful Export

A completed export confirms that FreeCAD wrote a file, not that it wrote the intended parts correctly. Before handing off the enclosure, verify the native model and exported deliverables separately.

Keep the .FCStd document as the editable source. STEP exchanges CAD geometry but should not be assumed to preserve FreeCAD’s sketches, constraints, and feature history. STL represents triangulated surfaces, so its suitability also depends on mesh resolution and the receiving application’s interpretation of units.

FreeCAD Tessellation dialog showing surface deviation and angular deviation settings for mesh generation.

Source: XSim

Before exporting, ask Codex to recompute and inspect each Body’s final feature. Confirm the expected dimensions, cavity depth, floor thickness, and solid count. Use geometry checks where appropriate, while recognizing that valid geometry does not establish physical fit or manufacturability.

Specify the export targets explicitly:

Validate the enclosure and lid against the approved variant dimensions. Identify the final object for each part, excluding intermediate features. Propose separate STEP and STL filenames, report existing files that would be overwritten, and wait for approval before exporting.

After approval, reopen the exports in a separate document or appropriate receiving application. Compare dimensions, orientation, and included geometry against the native source. Inspect the cavity and cutouts, not only the outer silhouette. For STL, check whether curved openings are visibly faceted and whether the imported scale matches the intended millimeters.

Use a compact handoff checklist:

  • Native .FCStd source with identifiable controlling parameters.

  • Separate enclosure and lid exports, named by variant.

  • Verification report listing checked dimensions and unresolved issues.

  • Clear identification of the files reviewed after export.

Do not describe the package as manufacturing-ready merely because these checks pass. Material, process tolerances, fastener selection, and physical clearance remain design decisions requiring human review and, where appropriate, prototype testing. The deliverable should make those remaining decisions visible rather than hide them behind a successful tool response.

Give Larger FreeCAD Jobs More Headroom With Vagon

A small enclosure is a manageable starting point. Larger STEP imports, detailed assemblies, and repeated Boolean operations can put more pressure on your hardware. When FreeCAD spends longer processing each change, the inspection and revision loop becomes slower too.

Vagon Cloud Computer gives you access to a configurable Windows cloud workspace from your existing device. Keep using your laptop while moving demanding CAD work to a machine configured for the project. Instead of buying new hardware for an occasional heavy workload, choose a performance configuration that matches your needs.

For this workflow, running FreeCAD, Codex, and the local MCP components inside the same Vagon environment keeps the application and its bridge together. Install the required addon, bring your project files, and verify the connection using a disposable document before opening production work.

Choose resources around the bottleneck. CPU performance and available RAM matter for many geometry operations and large documents. GPU resources can support viewport interaction, but they should not be presented as a universal accelerator for recompute or every CAD operation.

Test a representative import, parameter change, and export before committing to a configuration. Save verified checkpoints and keep the editable source alongside your deliverables.

If you add Computer Use, verify that FreeCAD remains visible in an active Windows session. This is a proposed deployment approach, not a preconfigured or certified Codex-FreeCAD integration.

FAQs

Can Codex Edit an Existing FreeCAD Document?

Yes, through a compatible MCP connector and supported operations. Start with a read-only inspection so Codex identifies the document, object names, and controlling properties. Work on a copy before substantial changes. Existing sketches and expressions should be preserved unless you explicitly approve restructuring them; access to the document does not guarantee that Codex understands every dependency.

Do I Need Computer Use if I Already Have an MCP Connection?

Not necessarily. MCP can handle supported document queries, property changes, and Python execution. Computer Use adds interface navigation when the task involves solver panels, visible selections, or drawing layouts. The connector’s viewport screenshot tool provides visual feedback, but it does not itself grant mouse or keyboard control. Enable and authorize interface access separately.

Can Codex Recover Editable Features From an Imported STEP File?

Do not assume so. An imported STEP file can contain usable CAD geometry without the original sketches, constraints, and feature history. Codex may help inspect it or propose rebuilding selected features, but reconstruction is a separate modeling task. Specify which dimensions need to remain editable and review the proposed approach before accepting a replacement model.

Why Does the MCP Server Connect While FreeCAD Tools Still Fail?

The external MCP process and the FreeCAD addon are separate components. Codex can launch the server while the addon is stopped, unavailable, or incompatible. Check FreeCAD’s Report View, the RPC listener, and addon/server version warnings. A configured entry or open port is not sufficient evidence; verify an actual document query before requesting edits.

Can Codex Check Whether the Enclosure and Lid Fit Together?

It can help compare dimensions, placements, and modeled relationships, provided you define the intended fit. Visual inspection can reveal obvious misalignment, while geometry queries can support numerical checks. Neither establishes real-world fit by itself. Manufacturing tolerances, material behavior, and process variation still matter, and the design may require a physical prototype.

Does a Valid Model or Successful Export Mean the Part Is Ready to Manufacture?

No. Geometry validity, export success, and engineering suitability are different questions. A valid solid can have incorrect dimensions, insufficient wall thickness, or unsuitable fastener details. Reopen the exported files and verify the intended geometry, then review material, tolerances, loading, and fabrication requirements. Codex can assist with those checks, but should not replace appropriate human approval.

An electronics enclosure can look finished in FreeCAD while its lid sits too tightly, its screw holes miss the mounting posts, or a connector opening cuts through the wrong wall. These problems are easy to overlook in an isometric view, especially when the model was created by a script that ran without errors.

Using Codex with FreeCAD should therefore involve more than generating Python. Through a compatible MCP connector, Codex can inspect an open document, query objects, change properties, and execute Python inside the application. That connection requires a third-party FreeCAD addon and a separately configured MCP server.

Computer Use provides a different kind of access. In a supported desktop setup, Codex can navigate approved application interfaces and inspect visible evidence, including Sketcher warnings, selected features, and drawing layouts. Receiving a viewport screenshot through MCP does not automatically grant this interface control.

This guide follows an enclosure and its separate lid from initial inspection through parameter changes and export verification. The aim is an editable design with identifiable controls, checked relationships, and deliverables you can reopen and examine before committing to fabrication.

FreeCAD interface displaying a mechanical part with a circular hole and a forked end in an isometric view.

Source: FreeCAD

Start With the Model, Not the Prompt

Before asking Codex to change a FreeCAD model, establish what you are giving it. A native .FCStd document may contain sketches, constraints, and dependent features. An imported STEP file may provide usable geometry without the original modeling history. Those starting points require different editing strategies.

For our enclosure, the first task is inspection, not construction. Codex should identify the active document, determine whether the housing and lid already exist, and locate the properties controlling their dimensions. If you are starting from an empty document, provide those requirements explicitly.

The access method also determines what Codex can verify:

Access method

Role in the workflow

Code generation

Produces Python for you to review and execute.

MCP

Queries and performs supported operations in the connected FreeCAD session.

Computer Use

Navigates approved interfaces and inspects visible application state.

A useful first request is:

Inspect the active FreeCAD document without modifying it. List the enclosure and lid objects, including their internal names, labels, and types. Identify existing sketches, controlling dimensions, and dependent features. Report units and missing information. Do not create, delete, recompute, export, or save anything.

FreeCAD distinguishes internal object names from displayed labels. A label alone is not a reliable target, particularly when several objects have similar names. Ask Codex to identify the exact document and object before proposing an edit.

Next, define what must remain consistent: wall thickness, lid alignment, screw-hole positions, and clearance around internal components. Distinguish dimensions you supplied from values Codex would otherwise need to assume.

Finally, specify whether you need an editable PartDesign feature structure. A finished solid is not automatically a model with accessible Sketch, Pad, and Pocket operations. That distinction matters when the next request is “make the enclosure longer.”

Connect Codex to the Running FreeCAD Session

For this walkthrough, we will use the community-maintained FreeCAD MCP connector. It has two components: an addon inside FreeCAD and an external MCP server launched by Codex. Installing one does not establish the complete connection.

Install the FreeCAD Side of the Bridge

Install FreeCAD and uv, then obtain the connector:

Copy the repository’s addon/FreeCADMCP directory into the user addon directory for your FreeCAD installation. Follow the connector’s installation instructions, since paths vary by operating system, version, and packaging.

To identify the directory used by the running installation, open FreeCAD’s Python console and enter:


The addon runs inside FreeCAD’s bundled Python. The external MCP server requires Python 3.12 or later. Do not install the server package into FreeCAD’s bundled environment.

Restart FreeCAD, select the MCP Addon workbench, and click Start RPC Server. Check the status bar or Report View for the result. The default listener is 127.0.0.1:9875; this is the addon’s XML-RPC address, not an HTTP MCP endpoint to paste into Codex.

Keep FreeCAD open and begin with a disposable document.

FreeCAD MCP menu displaying Start RPC Server, Stop RPC Server, and remote connection controls.

Source: neka-nat/freecad-mcp

Register the Server in Codex

Using the Codex MCP configuration syntax, register the connector’s launch command:

Alternatively, add this table to your Codex config.toml:

[mcp_servers.freecad]
command = "uvx"
args = ["freecad-mcp"]

Use one method, preserving existing server entries. This configuration combines Codex’s documented STDIO support with the connector’s documented command; it is not a separate official FreeCAD integration.

If Codex cannot find uvx, verify its installation and executable path. Restart or reconnect your Codex session after changing configuration.

Verify Before Editing

Run:

In the Codex terminal interface, /mcp shows active servers. However, a configured server does not prove that the FreeCAD addon is responding.

Ask Codex:

Use the FreeCAD MCP tools to list open documents and inspect the objects in my disposable document. Report names and types without changing, recomputing, or saving anything.

The connector provides list_documents, get_objects, and get_object. Compare the response with FreeCAD’s model tree. Where supported, request text-only feedback to avoid unnecessary screenshots during this check.

If the workbench is missing, inspect addon import errors in Report View. If the server starts but queries fail, check the RPC listener and addon/server version warnings. Resolve those problems before authorizing modeling.

Computer Use remains separate. Registering this MCP server does not grant Codex permission to click or type inside FreeCAD.

Build an Enclosure With Separate, Editable Parts

Begin with a simple rectangular enclosure and a flat lid. Keep connector openings, mounting posts, and fillets for later, so the first model tests the basic feature structure without introducing unnecessary dependencies.

FreeCAD viewport showing an electronics enclosure base and a separate lid in an exploded arrangement.

Source: Bwalkzz31

Define the initial inputs explicitly:

Parameter

Demonstration value

Intended control

Enclosure length

100 mm

Base sketch dimension

Enclosure width

60 mm

Base sketch dimension

Overall body height

30 mm

Pad length

Wall thickness

3 mm

Inner profile dimensions

Base thickness

3 mm

Pocket depth relationship

Lid thickness

3 mm

Separate lid Pad

These are demonstration values, not manufacturing recommendations. A resting flat lid also differs from an inserted or overlapping lid. Specify the intended arrangement before asking Codex to introduce clearance, locating lips, or fasteners.

For the housing, request a PartDesign Body containing a constrained outer sketch, a Pad, and a Pocket that leaves the intended walls and floor. Give the lid its own Body and sketch. Treat these as separate parts, not disconnected solids forced into one feature sequence.

FreeCAD Pad parameters panel showing extrusion lengths, direction, reversed mode, and taper angle settings.

Source: FreeCAD Documentation

A suitable request is:

Propose an editable feature plan for this enclosure and flat lid using the listed dimensions. Identify sketch planes, controlling constraints, and the relationship between body height, base thickness, and pocket depth. Keep the lid in a separate Body. Explain unresolved requirements and wait for approval before creating geometry.

After approval, build the housing first. Ask Codex to inspect the outer dimensions and the cavity, confirming that the Pocket opens from the intended side and leaves the specified floor. For this example, the expected cavity dimensions are 94 × 54 mm, with a depth of 27 mm.

Creating the lid comes next. Its position in the document should be deliberate: an offset display position can make inspection easier, but it must not be confused with its intended assembled placement.

Check both the numerical properties and the visible result. Each intended part should have one solid, with identifiable sketches and downstream features. Save a verified .FCStd checkpoint before adding complexity.

When introducing a connector cutout, define its target wall, dimensions, and location from known references. Do not let Codex infer an exact opening from an image alone. Inspect that operation before proceeding to mounting posts or cosmetic edge treatment.

FreeCAD electronics enclosure base showing its internal cavity and four PCB mounting standoffs.

Source: Bwalkzz31

Use Computer Use Where the Interface Holds the Evidence

MCP is usually the more direct route for reading properties and changing known parameters. Computer Use adds value when the evidence is in FreeCAD’s interface: a solver warning, a highlighted face, or dimensions overlapping on a drawing page.

Enable the Computer Use plugin in your supported desktop setup and approve access to FreeCAD. On macOS, the required system permissions include Screen Recording and Accessibility. On Windows, keep FreeCAD visible in the active desktop session and expect Codex to use foreground input while it works.

The following are proposed inspection workflows, not claims of tested end-to-end automation.

Inspect the Sketcher Solver Panel

Suppose the enclosure’s inner profile stops responding correctly after a width change. If the MCP query does not expose enough solver detail, ask Codex to open the sketch and inspect the task panel.

Use Computer Use to inspect the cavity sketch’s solver messages and visible constraints. Report remaining degrees of freedom and any identified redundant or conflicting constraints. Do not delete constraints or change dimensions. Propose a minimal repair for review.

A warning disappearing is not sufficient. The repair must preserve the relationships controlling wall thickness and profile position. After an approved change, verify those relationships through model properties as well as the interface.

FreeCAD Sketcher displaying a constrained profile with green geometry and red dimensional annotations.

Source: FreeCAD Documentation

Trace a Misplaced Cutout

A connector opening might exist but cut the wrong wall or extend in the wrong direction. Ask Codex to select the relevant feature in the model tree, inspect its support and direction settings, and rotate the view to examine the result.

Computer Use helps locate the visible problem. Structured queries should establish the exact object, placement, and cut depth. Do not estimate precise dimensions from screenshot pixels or accept a face merely because it looks correct from one angle.

FreeCAD Pocket parameters panel displaying cut lengths, direction, reversed mode, and taper settings.

Source: FreeCAD Documentation

Review the Drawing Page

A TechDraw page can show correct geometry while remaining difficult to read. Codex can inspect clipped views, overlapping annotations, and dimensions that become illegible at the intended page scale.

Request a review before edits:

Inspect the enclosure drawing page without changing it. List overlapping annotations, views outside the page boundary, and unreadable dimensions. Separate layout problems from missing design information.

This supports presentation checks, not certification that the drawing contains every manufacturing requirement.

FreeCAD TechDraw technical views of a mechanical part with linear and diameter dimensions.

Source: FreeCAD

Inspect the Export in a Second Application

After approving access to a slicer, ask Codex to open the exported STL and inspect the displayed dimensions, orientation, and included parts. This can reveal an enclosure imported at the wrong scale or a lid omitted from the export.

Scope the task to inspection. Do not authorize slicing changes, uploads, or print-job submission unless those are separately requested. The second application provides another check on the deliverable, but its preview cannot establish physical fit or strength.

Turn One Design Into a Controlled Variant Set

Once the enclosure and lid pass their initial checks, Codex can help prepare variants without rebuilding the design from scratch. The important step is identifying existing controls before adding new ones.

Ask where length, width, height, and wall thickness are defined. They may come from sketch constraints, feature properties, or spreadsheet parameters. If a property already uses an expression, change its controlling input rather than replacing that expression with a fixed value.

FreeCAD Spreadsheet Workbench displaying editable cells, calculated quantities, and values with units.

Source: FreeCAD Documentation

For this example, use a bounded variation matrix:

Variant

Length

Width

Body height

Baseline

100 mm

60 mm

30 mm

Longer housing

120 mm

60 mm

30 mm

Taller housing

100 mm

60 mm

40 mm

Keep wall, base, and lid thickness unchanged. The longer housing requires a corresponding lid-length change. The taller housing requires the cavity depth to follow body height while preserving the floor thickness.

If connector openings or mounting posts exist, define how they should respond. An opening positioned from one end should not automatically move to the center. A mounting post should not remain fixed in space merely because its sketch recomputes successfully.

A useful request is:

Identify the inputs controlling the enclosure and lid dimensions. Prepare each listed variant separately, preserving wall thickness, base thickness, and the approved positioning rules for openings and posts. Recompute after each change. Report final dimensions, feature errors, and solid counts. Stop if a dependency fails, and wait for approval before saving separate files.

Codex can also prepare a reusable Python verification script. It should compare expected values with the actual model, checking each Body’s final feature rather than counting every intermediate shape as a delivered part.

However, outer dimensions alone do not establish that the cavity, lid, or cutouts remain correct. Include internal measurements and inspect representative views. A successful script execution means the checks ran; it does not prove that the checks cover every design requirement.

Save each approved variant under a distinct filename and retain the baseline checkpoint. If one variation fails, investigate the earliest failing feature before continuing. Generating more variants from an unresolved dependency only multiplies the repair work.

When an Operation Fails, Inspect Before Retrying

A timeout does not necessarily mean nothing happened. Codex might lose the tool response while FreeCAD continues processing, or a Python exception might occur after some objects were created. Repeating the request immediately can produce duplicate features or compound a partial edit.

First, ask Codex to report the current document state and compare it with the last verified checkpoint. The connector provides get_rpc_status for RPC and GUI-dispatch health, plus get_async_status for background jobs.

Its execution modes serve different purposes:

Mode

Appropriate use

GUI execution

Normal operations on the open document.

Background execution

Independent computations, with document access handed back to the GUI thread.

Headless execution

Suitable operations in a separate FreeCAD process.

These are not interchangeable speed settings. Background code should not freely manipulate the live document. Headless results also require explicit file synchronization before the open GUI document reflects them.

Use a recovery request such as:

Inspect RPC or job status and report whether the previous operation is still running. If it has finished, identify objects or properties changed by it. Do not rerun the operation or delete anything. Propose recovery from the current state or the last checkpoint.

The connector documents that work already executing on the GUI thread can continue after a timeout response. Increasing a timeout may accommodate a slow operation, but it does not repair failed geometry.

Save versioned checkpoints before substantial changes. Transactions can help group document edits, but they cannot universally undo exported files or external effects. Python execution carries FreeCAD’s privileges, so require approval before deletion, overwriting files, or running unfamiliar code.

Deliver the Model, Not Just a Successful Export

A completed export confirms that FreeCAD wrote a file, not that it wrote the intended parts correctly. Before handing off the enclosure, verify the native model and exported deliverables separately.

Keep the .FCStd document as the editable source. STEP exchanges CAD geometry but should not be assumed to preserve FreeCAD’s sketches, constraints, and feature history. STL represents triangulated surfaces, so its suitability also depends on mesh resolution and the receiving application’s interpretation of units.

FreeCAD Tessellation dialog showing surface deviation and angular deviation settings for mesh generation.

Source: XSim

Before exporting, ask Codex to recompute and inspect each Body’s final feature. Confirm the expected dimensions, cavity depth, floor thickness, and solid count. Use geometry checks where appropriate, while recognizing that valid geometry does not establish physical fit or manufacturability.

Specify the export targets explicitly:

Validate the enclosure and lid against the approved variant dimensions. Identify the final object for each part, excluding intermediate features. Propose separate STEP and STL filenames, report existing files that would be overwritten, and wait for approval before exporting.

After approval, reopen the exports in a separate document or appropriate receiving application. Compare dimensions, orientation, and included geometry against the native source. Inspect the cavity and cutouts, not only the outer silhouette. For STL, check whether curved openings are visibly faceted and whether the imported scale matches the intended millimeters.

Use a compact handoff checklist:

  • Native .FCStd source with identifiable controlling parameters.

  • Separate enclosure and lid exports, named by variant.

  • Verification report listing checked dimensions and unresolved issues.

  • Clear identification of the files reviewed after export.

Do not describe the package as manufacturing-ready merely because these checks pass. Material, process tolerances, fastener selection, and physical clearance remain design decisions requiring human review and, where appropriate, prototype testing. The deliverable should make those remaining decisions visible rather than hide them behind a successful tool response.

Give Larger FreeCAD Jobs More Headroom With Vagon

A small enclosure is a manageable starting point. Larger STEP imports, detailed assemblies, and repeated Boolean operations can put more pressure on your hardware. When FreeCAD spends longer processing each change, the inspection and revision loop becomes slower too.

Vagon Cloud Computer gives you access to a configurable Windows cloud workspace from your existing device. Keep using your laptop while moving demanding CAD work to a machine configured for the project. Instead of buying new hardware for an occasional heavy workload, choose a performance configuration that matches your needs.

For this workflow, running FreeCAD, Codex, and the local MCP components inside the same Vagon environment keeps the application and its bridge together. Install the required addon, bring your project files, and verify the connection using a disposable document before opening production work.

Choose resources around the bottleneck. CPU performance and available RAM matter for many geometry operations and large documents. GPU resources can support viewport interaction, but they should not be presented as a universal accelerator for recompute or every CAD operation.

Test a representative import, parameter change, and export before committing to a configuration. Save verified checkpoints and keep the editable source alongside your deliverables.

If you add Computer Use, verify that FreeCAD remains visible in an active Windows session. This is a proposed deployment approach, not a preconfigured or certified Codex-FreeCAD integration.

FAQs

Can Codex Edit an Existing FreeCAD Document?

Yes, through a compatible MCP connector and supported operations. Start with a read-only inspection so Codex identifies the document, object names, and controlling properties. Work on a copy before substantial changes. Existing sketches and expressions should be preserved unless you explicitly approve restructuring them; access to the document does not guarantee that Codex understands every dependency.

Do I Need Computer Use if I Already Have an MCP Connection?

Not necessarily. MCP can handle supported document queries, property changes, and Python execution. Computer Use adds interface navigation when the task involves solver panels, visible selections, or drawing layouts. The connector’s viewport screenshot tool provides visual feedback, but it does not itself grant mouse or keyboard control. Enable and authorize interface access separately.

Can Codex Recover Editable Features From an Imported STEP File?

Do not assume so. An imported STEP file can contain usable CAD geometry without the original sketches, constraints, and feature history. Codex may help inspect it or propose rebuilding selected features, but reconstruction is a separate modeling task. Specify which dimensions need to remain editable and review the proposed approach before accepting a replacement model.

Why Does the MCP Server Connect While FreeCAD Tools Still Fail?

The external MCP process and the FreeCAD addon are separate components. Codex can launch the server while the addon is stopped, unavailable, or incompatible. Check FreeCAD’s Report View, the RPC listener, and addon/server version warnings. A configured entry or open port is not sufficient evidence; verify an actual document query before requesting edits.

Can Codex Check Whether the Enclosure and Lid Fit Together?

It can help compare dimensions, placements, and modeled relationships, provided you define the intended fit. Visual inspection can reveal obvious misalignment, while geometry queries can support numerical checks. Neither establishes real-world fit by itself. Manufacturing tolerances, material behavior, and process variation still matter, and the design may require a physical prototype.

Does a Valid Model or Successful Export Mean the Part Is Ready to Manufacture?

No. Geometry validity, export success, and engineering suitability are different questions. A valid solid can have incorrect dimensions, insufficient wall thickness, or unsuitable fastener details. Reopen the exported files and verify the intended geometry, then review material, tolerances, loading, and fabrication requirements. Codex can assist with those checks, but should not replace appropriate human approval.

Get Beyond Your Computer Performance

Run applications on your cloud computer with the latest generation hardware. No more crashes or lags.

Trial includes 1 hour usage + 7 days of storage.

Summarize with AI

Ready to focus on your creativity?

Vagon gives you the ability to create & render projects, collaborate, and stream applications with the power of the best hardware.