Skip to main content
Glama
aphollis

fusion-spatial-mcp

by aphollis

fusion-spatial-mcp

An MCP server that gives AI agents genuine 3D spatial understanding of Autodesk Fusion 360 — exact measurements, collision/clearance/containment, volumetric occupancy, section cuts, engineering multiviews, and free-space placement search — plus Fusion-native parametric authoring: constrained sketches, timeline features, and named user parameters, aimed at producing clean, human-editable parametric models.

The design is Fusion-first: tools are built around Fusion's own concepts (feature timeline, sketch constraints, user parameters, components), not adapted from any other CAD paradigm. Under the hood, the geometry-reading layer reuses the platform-neutral spatial-core engine: a CAD platform only has to provide two adapter functions (bodies() + tessellate()), validated by that repo's JSON Schema conformance suite — spatial understanding of B-Rep solids is the same no matter how the geometry was authored.

Claude ──stdio── Node MCP server ──TCP 127.0.0.1:8767── Fusion add-in (Python)
                     └── spatial-core                        └── CustomEvent → main thread

Status: working end to end. Adapter conformance (F2) passed; six-question spatial benchmark 6/6 (F3); parametric-bracket authoring acceptance passed (F4): constrained sketch → extrude → hole → 2×2 pattern → fillet, six named user parameters, resized purely via parameter driving, dimensions verified numerically by the spatial tools.

Setup

  1. Build the server (Node 22+; the sibling spatial-core repo must be cloned next to this one for the file: dependency):

    npm install
    npm run build
  2. Install the add-in — link (or copy) addin/FusionSpatialMCP into Fusion's dev add-ins folder:

    New-Item -ItemType Junction `
      -Path "$env:APPDATA\Autodesk\Autodesk Fusion 360\API\AddIns\FusionSpatialMCP" `
      -Target "<repo>\addin\FusionSpatialMCP"
  3. Run the add-in: in Fusion press Shift+SAdd-Ins tab → FusionSpatialMCPRun. The Text Commands palette logs listener running on 127.0.0.1:8767. Re-run after editing the add-in file. (Check Run on Startup to make it permanent.)

  4. Register the MCP server with your client, e.g. for Claude Code:

    claude mcp add fusion -- node <repo>/dist/index.js

Related MCP server: self-host-fusion360-MCP

Using it (agent workflow)

  • Orient first: fusion_document — document, units, up-axis, and the feature timeline (in Fusion, the timeline IS the scene graph).

  • Any metric question (size, position, distance, clearance, hollowness, wall thickness): use the space_* tools, never screenshots — they return exact numbers. space_digest inventories every body with kernel-exact volume/area/centroid; bodies get short handles (b1, b2, …).

  • Sub-body granularity: fusion_find_geometry scans faces/edges analytically (find the ⌀3 holes: kind='cylinder_face', radius=1.5) and returns self-healing handles (f1, e2) that feed fillet/chamfer/sketch- plane/shell inputs and fusion_measure_relation — exact design-intent verdicts like "is this hole coaxial with that boss?" (Patterns adapted from Fusion-Essentials, MIT/Apache-2.0.)

  • Authoring is parametric by default. Every dimension input accepts a number (doc units), an expression ("40 mm", "width/2"), or {param: "wall_height", value: "40 mm"} which creates a named user parameter on the fly. fusion_create_sketch takes entities + dimensions + constraints in one call and reports fullyConstrained; fusion_add_feature appends ONE timeline feature per call and returns a health report. Editing = driving parameters: fusion_set_parameters (batch, one recompute) or fusion_edit_feature (a feature's dimensions by role). fusion_timeline / fusion_rollback for history introspection and mid-history edits. fusion_execute_api_script is the escape hatch (adsk/app/ui preloaded, assign to result).

  • Quality bar: would a mechanical designer be happy to inherit this timeline? Named features, named parameters, fully-constrained sketches.

Tool surface

Tool

Purpose

fusion_document

Orientation: doc, units, up-axis, timeline summary

fusion_find_geometry

Analytic sub-body scan: faces/edges/vertices by kind/radius/nearest, self-healing handles

fusion_measure_relation

Kernel-exact distance/angle + verdicts: coaxial, concentric, parallel, perpendicular, flush, clearance, touching

fusion_get_selection

What the user has selected ("this face/body")

fusion_capture_viewport

Viewport PNG (appearance; not for metrics)

fusion_list_parameters / fusion_set_parameters

Read / drive user + model parameters (batch, health report)

fusion_create_sketch

Sketch with entities + dimensions + constraints, returns profile ids

fusion_add_feature

One timeline feature: extrude, revolve, hole, fillet, chamfer, shell, patterns, mirror, combine

fusion_edit_feature

Edit a feature in place (parameters by role, suppress, rename)

fusion_timeline / fusion_rollback

Full history introspection / marker moves

fusion_execute_api_script

Python escape hatch on the main thread

space_digest

Metric inventory of all bodies

space_measure

distance / bbox / dims / point-probe

space_relations

Pairwise clearance, intersection, containment

space_voxels

ASCII occupancy layers (hollowness, mass distribution)

space_section

Planar cut: loops, areas, wall thickness

space_views

Labeled 4-tile orthographic PNG + legend

space_fit

Free-space placement search

space_pick

Identify the body under a space_views pixel

Development

  • node tools/call.mjs <method> [json | @file.py] — raw wire calls (ping, fusion.document, fusion.execute @script.py, …)

  • npm run conformance — adapter conformance suite (canonical contracts + suite live in the spatial-core package); must print CONFORMANT

  • node tools/f2-checks.mjs — volumes vs. Fusion physical properties + world-space proxy tessellation (needs the tools/f2-scene.py scene)

  • node tools/f3-benchmark.mjs — six-question spatial benchmark (≥5/6)

  • node tools/f4-bracket.mjs — parametric bracket authoring acceptance

  • docs/BUILD_PLAN.md — the phased build plan with the Fusion API traps (internal units are ALWAYS cm; face sketches flip normals; API rectangles have no constraints; …)

MIT licensed.

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    Open-source MCP server for controlling Autodesk Fusion 360 from any AI agent, enabling 3D modeling operations via natural language.
    2
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    A local MCP server that enables AI agents to create and edit parametric CAD models through natural language, using a validated operation graph that compiles to real geometry.
    1
    MIT
  • F
    license
    -
    quality
    B
    maintenance
    Enables AI assistants to inspect and automate Autodesk Fusion 360 through MCP, providing tools for CAD modeling, CAM manufacturing, and document management.

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aphollis/fusion-spatial-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server