Skip to main content
Glama
fusion360-mcp

fusion360-mcp

by bunnyruri99

fusion360-mcp

Fusion 360 API over MCP protocol — Bertalanffy Labs

Autodesk Fusion 360'ı herhangi bir MCP-uyumlu AI client'tan (Claude Code, Cursor, Codex) doğal dille kontrol edin.

Any MCP Client ──(stdio/JSON-RPC)──► MCP Server ──(TCP :9876)──► Add-in ──(CustomEvent)──► Fusion Main Thread
     Claude Code                   fusion360_mcp               Fusion 360 API

Ön Koşullar

Gereksinim

Versiyon

Autodesk Fusion 360

2.0.19800+

Python

3.11+

İşletim Sistemi

Windows 10/11, macOS 13+


Related MCP server: Fusion MCP para Codex

Kurulum

1. Python paketini kur

git clone https://github.com/iamtechnoana/fusion360-mcp
cd fusion360-mcp
pip install -e ".[dev]"

2. Ortam değişkenlerini ayarla

cp .env.example .env
# .env dosyasını düzenle (varsayılanlar genellikle yeterli)

3. Fusion 360 add-in'i kur

addin/fusion360_mcp_bridge/ klasörünü kopyala:

Windows: %APPDATA%\Autodesk\Autodesk Fusion 360\API\AddIns\
macOS:   ~/Library/Application Support/Autodesk/Autodesk Fusion 360/API/AddIns/

Fusion 360 → Tools → Add-Ins → Add-Ins (Shift+S) → fusion360_mcp_bridge → Run

Ekranda "Fusion MCP bridge started — listening on port 9876" görünmeli.

4. Claude Code'a bağla

claude mcp add fusion360 --scope project -- python -m fusion360_mcp.server

ya da .mcp.json dosyası proje kökünde hazır — Claude Code otomatik algılar.


İlk Test

# Add-in çalışıyor mu?
python -c "
import socket, json
s = socket.create_connection(('127.0.0.1', 9876), timeout=3)
s.sendall(b'{\"tool\":\"list_parameters\",\"args\":{}}\n')
import time; time.sleep(0.5)
print(s.recv(1024).decode())
s.close()
"

Beklenen çıktı: {"success": true, "message": "0 parameters found", "data": {}}


Tool Listesi

Tool

İşlev

f360_create_sketch

Yeni sketch aç (XY/XZ/YZ)

f360_draw_rectangle

Dikdörtgen çiz (mm)

f360_draw_circle

Daire çiz (mm)

f360_extrude

Profili 3D solid'e extrude et

f360_revolve

Profili eksende döndür (şaft, flanş)

f360_fillet

Kenar yuvarlatma

f360_shell

Gövdeyi boşalt (housing/enclosure)

f360_hole

Delik aç (through/blind)

f360_hole_pattern

Bolt circle delik dizisi

f360_create_parameter

Yeni user parameter oluştur

f360_set_parameter

User parameter güncelle → rebuild

f360_list_parameters

Tüm parametreleri listele

f360_export_step

STEP export (supplier/CNC)

f360_export_stl

STL export (3D print)

Tam dokümantasyon: docs/tools/


Batch Export (Parametrik Varyant Üretimi)

from fusion360_mcp.pipeline import generate_variants, VariantSpec
from fusion360_mcp.fusion.client import FusionClient

client = FusionClient("127.0.0.1", 9876, timeout=30)
variants = [
    VariantSpec({"outer_diameter": d}, f"exports/flange_OD{d}.step")
    for d in [40, 50, 60, 70, 80]
]
report = await generate_variants(client, variants)
print(report.summary())

Bilinen Kısıtlar

  • Fusion iç birimi CM — tüm kullanıcı değerleri mm, dönüşüm add-in içinde otomatik

  • Tool'lar sıralı çalışır — MCP client tarafında Fusion çağrıları serialize edilir; her tool call ayrı TCP bağlantısı

  • 30 saniyelik timeout — karmaşık CAM operasyonları aşabilir

  • Main thread zorunlu — Fusion API worker thread'den çağrılamaz (CustomEvent mimarisi bu yüzden)

  • runOnStartup: false — Fusion her açılışta add-in'i manuel başlatmayı gerektirir

Detaylar: docs/known-issues.md


Geliştirme

python -m pytest tests/ -v          # Fusion olmadan çalışır
python -m fusion360_mcp.server      # MCP server başlat

Katkı & Lisans

Katkı rehberi: CONTRIBUTING.md
Güvenlik bildirimi: SECURITY.md


Nguồn Tham Khảo & Ghi Nhận (Credits & Attribution)

Dự án này được phát triển, nâng cấp bảo mật và tối ưu hóa tính ổn định dựa trên mã nguồn gốc của:

Các cải tiến & bản vá trong phiên bản nâng cấp này:

  1. Bảo mật: Khắc phục lỗ hổng Path Traversal (_validate_export_path), giới hạn payload TCP (64 KB), danh sách trắng đơn vị đo lường (unit whitelist) cho parameters.

  2. Độ ổn định: Sửa lỗi UnboundLocalError trong event handler CustomEvent, bắt lỗi OSError trong vòng lặp TCP server, kẹp giá trị timeout tối thiểu (req_timeout).

  3. Tính năng mới: Bổ sung công cụ kiểm tra sức khỏe hệ thống f360_ping và cơ chế hoàn tác tham số giao dịch tự động SnapshotGuard (theo ADR-0004).

  4. Tương thích MCP: Khóa phiên bản MCP SDK <2 và cấu hình sẵn sàng cho Claude Desktop, Cursor, và Codex.


Lisans

MIT — Bertalanffy Labs © 2026 / Upgraded & Enhanced Edition

Available Tools

15 tools
f360_create_parameterA

Creates a named user parameter in the active Fusion 360 design. Use this before f360_set_parameter when a design does not already define the parameter. The value is numeric and unit defaults to mm.

Inputs: name (required), value (required), unit, comment.

f360_create_sketchA

Opens a new sketch on a construction plane in the active Fusion 360 design. MUST be called before any 2D drawing operation (draw_rectangle, draw_circle). XY = top view (most common for flat parts). XZ = front view. YZ = right-side view.

Inputs: plane (required).

f360_draw_circleA

Draws a circle centered at the origin (0, 0) in the active sketch. f360_create_sketch must be called first. Use for cylindrical shafts, bosses, through-holes, or circular pads. Diameter in millimeters.

Inputs: diameter_mm (required).

f360_draw_rectangleA

Draws a 2-point rectangle originating from (0, 0) in the active sketch. f360_create_sketch must be called first. Dimensions are in millimeters. For a 50×30 mm rectangle: width_mm=50, height_mm=30.

Inputs: width_mm (required), height_mm (required).

f360_export_stepA

Exports the active Fusion 360 design as a STEP file (.step). STEP is the universal interchange format for CAD — use for supplier quotes, CNC machining, or importing into other CAD tools. Provide an absolute file path including filename and .step extension.

Inputs: filepath (required).

f360_export_stlA

Exports the active Fusion 360 design as an STL file (.stl). STL is the standard format for 3D printing (FDM, SLA, SLS). mesh_refinement controls triangle density: 'low' = fast/coarse (prototypes), 'medium' = default, 'high' = fine (visual/SLA).

Inputs: filepath (required), mesh_refinement.

f360_extrudeA

Extrudes the most recently created closed sketch profile into a 3D solid body. Call after f360_draw_rectangle or f360_draw_circle. Distance is in millimeters, positive = away from sketch plane. Creates a new body by default (not a cut).

Inputs: distance_mm (required).

f360_filletA

Applies a constant-radius fillet to all edges of the most recently created solid body. Use to remove sharp edges for DFM (manufacturing) or aesthetic purposes. Radius in millimeters. This tool currently fillets every edge on the latest body.

Inputs: radius_mm (required).

f360_holeA

Creates a hole on the top face of the most recently created solid body. Requires an existing solid body (call f360_extrude or f360_revolve first). Position is measured from the body origin in mm. hole_type: 'through' = passes all the way through the body; 'blind' = stops at depth_mm from the top face. Use for mounting holes and clearance holes. Threaded holes are not yet supported.

Inputs: x_mm (required), y_mm (required), diameter_mm (required), depth_mm, +1 more.

f360_hole_patternA

Creates multiple equally-spaced holes in a circular bolt-circle pattern on the top face of the most recently created solid body. Used for flanges, covers, and bolt-pattern connections. bolt_circle_dia_mm is the diameter of the circle on which hole centers sit. All holes are the same diameter and type.

Inputs: count (required), hole_diameter_mm (required), bolt_circle_dia_mm (required), depth_mm, +1 more.

f360_list_parametersA

Returns all user parameters in the active Fusion 360 design with their current values and units. Call this first to see what parameters are available before calling f360_set_parameter.

Inputs: no named parameters.

f360_pingA

Checks if the Fusion 360 add-in TCP bridge is running and responsive. Returns connectivity status, version, and whether an active design is open. Use this tool first to diagnose bridge readiness before issuing modeling commands.

Inputs: no named parameters.

f360_revolveA

Revolves the most recently created sketch profile around a construction axis to create a solid body of revolution (shaft, flange, boss, cup, etc.). Call after f360_draw_rectangle or any closed sketch profile. axis: X = lathe-style rotation around X-axis (most common for symmetric parts), Y = rotation around Y-axis. angle_deg: 360 = full solid of revolution, less = partial arc. Sketch profile must be on one side of the chosen axis.

Inputs: axis (required), angle_deg.

f360_set_parameterA

Updates a named user parameter in the active Fusion 360 design. The parameter must already exist (created manually in Fusion or via f360_create_parameter). Changing a parameter automatically rebuilds all features that reference it. Use this for batch variant generation: call once per variant, then export.

Inputs: name (required), value (required), unit.

f360_shellB

Hollows out the most recently created solid body by removing one face and creating a uniform wall thickness. Use for enclosures, housings, or injection-molded parts. Thickness in millimeters.

Inputs: thickness_mm (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 15 tools

    Disambiguation4/5

    Each tool maps to a distinct step in the modeling pipeline (sketch → draw → extrude/revolve → modify → export), and descriptions explicitly state ordering constraints. Minor overlap exists between f360_hole and f360_hole_pattern (a pattern could be expressed as a single hole), and between f360_create_parameter and f360_set_parameter, though the create-vs-update semantics are stated.

    Naming Consistency4/5

    All tools share a consistent f360_ prefix with snake_case naming and a verb-first style (create_sketch, draw_rectangle, export_step, set_parameter). A few names drop the verb and read as nouns/feature names (f360_hole, f360_shell, f360_fillet, f360_hole_pattern), which is a minor but noticeable deviation.

    Tool Count5/5

    15 tools sit at the top of the well-scoped band and every one corresponds to a concrete modeling, parameter, or export operation with no filler. The surface is coherent for a bridge-based CAD scripting server.

    Completeness3/5

    The surface covers the happy path (sketch, extrude/revolve, fillet/shell, hole, parameters, STEP/STL export) but has notable gaps: extrude cannot cut/join/intersect, there are no boolean or pattern-of-feature operations, no selective edge/face picking, and no document save or model inspection tools. Agents attempting real part modeling will hit dead ends beyond simple prismatic geometry.

    Maintenance

    ActivitySlowing
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      C
      maintenance
      Exposes CAD design tools (box, cylinder, shell, etc.) via MCP, allowing AI agents and clients like Claude to create and manipulate parametric CAD models in Autodesk Fusion or a simulator.
      6
      1
      Apache 2.0
    • F
      license
      Not graded
      quality
      C
      maintenance
      Enables AI assistants to inspect and automate Autodesk Fusion 360 through MCP, providing tools for CAD modeling, CAM manufacturing, and document management.
      -
    • A
      license
      C
      quality
      C
      maintenance
      Enables MCP-compatible assistants to control Autodesk Fusion for mechanical modeling, assembly editing, CAM workflows, inspection, and model export through Fusion's native MCP endpoint.
      39
      1
      MIT
    • A
      license
      B
      quality
      B
      maintenance
      Enables AI coding agents to drive Autodesk Fusion 360 over the Model Context Protocol, exposing 92 tools for sketching, modeling, querying, measuring and exporting CAD geometry through natural language. Includes an in-Fusion add-in that executes API calls safely on Fusion's main thread, with stdio transport compatible with any MCP client.
      92
      MIT