Fusion 360 MCP Server

MIT License

Integrations

  • Interfaces with Autodesk Fusion 360 to execute CAD modeling operations, allowing users to create 3D designs through natural language commands that are converted into Fusion 360 toolbar-level commands and Python scripts.

  • Provides an HTTP API server implementation with endpoints for listing tools, calling individual tools, and executing sequences of tools for Fusion 360 operations.

Fusion 360 MCP 서버

Cline과 Autodesk Fusion 360 사이의 인터페이스를 제공하는 MCP(Model Context Protocol) 서버입니다. 이 서버는 Fusion 360 도구 모음 수준 명령을 Fusion의 API에 직접 매핑되는 호출 가능한 도구로 노출합니다.

🧠 개요

이 프로젝트를 통해 클라인은 다음을 수행할 수 있습니다.

  • 자연어 프롬프트 구문 분석(예: "모서리가 둥근 상자를 만드세요")
  • 이를 Fusion 도구 작업으로 해결합니다(예: CreateSketch → DrawRectangle → Extrude → Fillet)
  • 이 MCP 서버를 통해 해당 도구를 호출합니다.
  • Fusion 360에서 실행할 수 있는 Python 스크립트를 반환합니다.

🛠️ 설치

필수 조건

  • 파이썬 3.9 이상
  • 오토데스크 퓨전 360

설정

  1. 이 저장소를 복제하세요:지엑스피1
  2. 종속성 설치:
    pip install -r requirements.txt

🚀 사용법

HTTP 서버 실행

cd src python main.py

이렇게 하면 http://127.0.0.1:8000 에서 FastAPI 서버가 시작됩니다.

MCP 서버로 실행

cd src python main.py --mcp

이렇게 하면 서버가 MCP 모드로 시작되어 stdin에서 읽고 stdout에 씁니다.

API 엔드포인트

  • GET / : 서버가 실행 중인지 확인
  • GET /tools : 사용 가능한 모든 도구 나열
  • POST /call_tool : 단일 도구를 호출하고 스크립트를 생성합니다.
  • POST /call_tools : 여러 도구를 순차적으로 호출하고 스크립트를 생성합니다.

API 호출 예

목록 도구
curl -X GET http://127.0.0.1:8000/tools
단일 도구 호출
curl -X POST http://127.0.0.1:8000/call_tool \ -H "Content-Type: application/json" \ -d '{ "tool_name": "CreateSketch", "parameters": { "plane": "xy" } }'
여러 도구 호출
curl -X POST http://127.0.0.1:8000/call_tools \ -H "Content-Type: application/json" \ -d '{ "tool_calls": [ { "tool_name": "CreateSketch", "parameters": { "plane": "xy" } }, { "tool_name": "DrawRectangle", "parameters": { "width": 10, "depth": 10 } }, { "tool_name": "Extrude", "parameters": { "height": 5 } } ] }'

📦 사용 가능한 도구

현재 서버는 다음 Fusion 360 도구를 지원합니다.

만들다

  • CreateSketch : 지정된 평면에 새 스케치를 만듭니다.
  • DrawRectangle : 활성 스케치에 사각형을 그립니다.
  • DrawCircle : 활성 스케치에 원을 그립니다.
  • 돌출 : 프로파일을 3D 본체로 돌출합니다.
  • 회전 : 축을 중심으로 프로파일을 회전합니다.

수정하다

  • 필렛 : 선택한 모서리에 필렛을 추가합니다.
  • 모따기 : 선택한 모서리에 모따기를 추가합니다.
  • Shell : 지정된 벽 두께로 솔리드 바디를 비웁니다.
  • 결합 : 부울 연산을 사용하여 두 개의 본체를 결합합니다.

내보내다

  • ExportBody : 본문을 파일로 내보냅니다.

🔌 MCP 통합

이 서버를 Cline과 함께 사용하려면 MCP 설정 구성 파일에 추가하세요.

{ "mcpServers": { "fusion360": { "command": "python", "args": ["/path/to/fusion360-mcp-server/src/main.py", "--mcp"], "env": {}, "disabled": false, "autoApprove": [] } } }

🧩 도구 레지스트리

도구는 src/tool_registry.json 에 정의되어 있습니다. 각 도구에는 다음이 포함됩니다.

  • name : 도구의 이름
  • 설명 : 도구의 기능
  • 매개변수 : 도구가 허용하는 매개변수
  • docs : 관련 Fusion API 문서에 대한 링크

도구 정의 예:

{ "name": "Extrude", "description": "Extrudes a profile into a 3D body.", "parameters": { "profile_index": { "type": "integer", "description": "Index of the profile to extrude.", "default": 0 }, "height": { "type": "number", "description": "Height of the extrusion in mm." }, "operation": { "type": "string", "description": "The operation type (e.g., 'new', 'join', 'cut', 'intersect').", "default": "new" } }, "docs": "https://help.autodesk.com/view/fusion360/ENU/?guid=GUID-6D381FCD-22AB-4F08-B4BB-5D3A130189AC" }

📝 스크립트 생성

서버는 도구 호출을 기반으로 Fusion 360 Python 스크립트를 생성합니다. 이 스크립트는 Fusion 360의 스크립트 편집기에서 실행할 수 있습니다.

생성된 스크립트 예:

import adsk.core, adsk.fusion, traceback def run(context): ui = None try: app = adsk.core.Application.get() ui = app.userInterface design = app.activeProduct # Get the active component in the design component = design.rootComponent # Create a new sketch on the xy plane sketches = component.sketches xyPlane = component.xYConstructionPlane sketch = sketches.add(xyPlane) # Draw a rectangle rectangle = sketch.sketchCurves.sketchLines.addTwoPointRectangle( adsk.core.Point3D.create(0, 0, 0), adsk.core.Point3D.create(10, 10, 0) ) # Extrude the profile prof = sketch.profiles.item(0) extrudes = component.features.extrudeFeatures extInput = extrudes.createInput(prof, adsk.fusion.FeatureOperations.NewBodyFeatureOperation) distance = adsk.core.ValueInput.createByReal(5) extInput.setDistanceExtent(False, distance) extrude = extrudes.add(extInput) ui.messageBox('Operation completed successfully') except: if ui: ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))

🧪 서버 확장

새로운 도구 추가

  1. src/tool_registry.json 에 새로운 도구 정의를 추가합니다.
  2. src/script_generator.pySCRIPT_TEMPLATES 에 스크립트 템플릿을 추가합니다.
  3. src/script_generator.py_process_parameters 에 매개변수 처리 로직을 추가합니다.

📚 문서 링크

🔄 향후 개선 사항

  • 컨텍스트 인식 작업을 위한 세션 상태 추적
  • 동적 도구 등록
  • 소켓 또는 파일 폴링을 통한 자동화
  • 더 많은 퓨전 명령

📄 라이센스

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

-
security - not tested
A
license - permissive license
-
quality - not tested

Cline이 자연어 프롬프트를 Fusion 360 CAD 작업으로 변환하여 명령을 Fusion의 API에 매핑하고 실행 가능한 Python 스크립트를 생성할 수 있도록 하는 모델 컨텍스트 프로토콜 서버입니다.

  1. 🧠 Overview
    1. 🛠️ Installation
      1. Prerequisites
      2. Setup
    2. 🚀 Usage
      1. Running the HTTP Server
      2. Running as an MCP Server
      3. API Endpoints
      4. Example API Calls
    3. 📦 Available Tools
      1. Create
      2. Modify
      3. Export
    4. 🔌 MCP Integration
      1. 🧩 Tool Registry
        1. 📝 Script Generation
          1. 🧪 Extending the Server
            1. Adding New Tools
          2. 📚 Documentation Links
            1. 🔄 Future Enhancements
              1. 📄 License

                Related MCP Servers

                • -
                  security
                  F
                  license
                  -
                  quality
                  A Model Context Protocol server built with mcp-framework that allows users to create and manage custom tools for processing data, integrating with the Claude Desktop via CLI.
                  Last updated -
                  48
                  4
                  TypeScript
                  • Apple
                • -
                  security
                  F
                  license
                  -
                  quality
                  A Model Context Protocol server that allows management and execution of Blender Python scripts, enabling users to create, edit and run scripts in a headless Blender environment through natural language interfaces.
                  Last updated -
                  4
                  Python
                • A
                  security
                  F
                  license
                  A
                  quality
                  A CLI tool that runs a Model Context Protocol server over stdio, enabling interaction with specification documents like business requirements, product requirements, and user stories for the Specif-ai platform.
                  Last updated -
                  9
                  0
                  TypeScript
                • -
                  security
                  F
                  license
                  -
                  quality
                  A Model Context Protocol server for Unity game development that enables users to manage projects, edit scenes, create prefabs, and generate scripts through natural language integration with Smithery.ai.
                  Last updated -
                  TypeScript

                View all related MCP servers

                ID: zorqcmyr4n