mcpField
F
Freecad

Freecad

ローカル
github.com/bonninrメディア・デザイン22684 週間前に更新

Freecad について

FreeCAD MCP は、FreeCAD を Claude などの MCP 対応ツールに接続し、FreeCAD のドキュメントを読み取りおよび操作できるようにします。AI の支援を受けて3D CAD設計を行いたいユーザー向けです。

主な機能

  1. 01ドキュメント内のオブジェクトとシーン情報の取得
  2. 02FreeCAD のコンテキストでの Python スクリプト実行
  3. 03ソケットによるサーバーとクライアントの通信
  4. 04FreeCAD ワークベンチとしてのインストール

活用シーン

  1. 01AI アシスタントによる3Dモデリングの支援
  2. 02スクリプトによるFreeCADの定型操作の自動化
  3. 03スケッチの形状と拘束条件の確認

MCP 対応

本プロジェクトは、get_scene_info と run_script の2つの機能を通じて、FreeCAD を Claude などの MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

FreeCAD MCP(Model Control Protocol)

概要

FreeCAD MCP(Model Control Protocol)は、サーバー・クライアントアーキテクチャを通じて FreeCAD を操作するためのシンプルなインターフェースを提供します。これにより、ユーザーはコマンドを実行し、現在の FreeCAD ドキュメントやシーンに関する情報を取得できます。

https://github.com/user-attachments/assets/5acafa17-4b5b-4fef-9f6c-617e85357d44

設定

MCP サーバーを設定するには、JSON 形式でサーバーの設定を指定できます。以下に設定例を示します。

{
    "mcpServers": {
        "freecad": {
            "command": "C:\\ProgramData\\anaconda3\\python.exe",
            "args": [
                "C:\\Users\\USER\\AppData\\Roaming\\FreeCAD\\Mod\\freecad_mcp\\src\\freecad_bridge.py"
            ]
        }
    }
}
設定の詳細
  • command:FreeCAD MCP サーバーを実行する Python 実行ファイルへのパスです。オペレーティングシステムによって異なります。

    • Windows:通常は C:\\ProgramData\\anaconda3\\python.exe または C:\\Python39\\python.exe のようになります。
    • Linux:/usr/bin/python3 または Python のインストール先のパスを指定できます。
    • macOS:通常は /usr/local/bin/python3 または Python のインストール先のパスを指定します。
  • args:Python コマンドに渡す引数の配列です。最初の引数には、MCP サーバーのロジックを処理する freecad_bridge.py スクリプトへのパスを指定してください。インストール環境に応じてパスを調整してください。

オペレーティングシステム別の設定例
Windows
{
    "mcpServers": {
        "freecad": {
            "command": "C:\\ProgramData\\anaconda3\\python.exe",
            "args": [
                "C:\\Users\\USER\\AppData\\Roaming\\FreeCAD\\Mod\\freecad_mcp\\src\\freecad_bridge.py"
            ]
        }
    }
}
Linux
{
    "mcpServers": {
        "freecad": {
            "command": "/usr/bin/python3",
            "args": [
                "/home/USER/.FreeCAD/Mod/freecad_mcp/src/freecad_bridge.py"
            ]
        }
    }
}
macOS
{
    "mcpServers": {
        "freecad": {
            "command": "/usr/local/bin/python3",
            "args": [
                "/Users/USER/Library/Preferences/FreeCAD/Mod/freecad_mcp/src/freecad_bridge.py"
            ]
        }
    }
}

機能

FreeCAD MCP は現在、以下の機能をサポートしています。

1. get_scene_info
  • 説明:現在の FreeCAD ドキュメントに関する包括的な情報を取得します。以下が含まれます。
    • ドキュメントのプロパティ(名前、ラベル、ファイル名、オブジェクト数)
    • オブジェクトの詳細情報(タイプ、位置、回転、形状プロパティ)
    • スケッチデータ(ジオメトリ、拘束)
    • ビュー情報(カメラの位置、方向など)
2. run_script
  • 説明:FreeCAD のコンテキスト内で任意の Python コードを実行します。ユーザーはこれにより、複雑な操作の実行、新しいオブジェクトの作成、既存のオブジェクトの変更、FreeCAD の Python API を使用したタスクの自動化を行えます。
使用例

FreeCAD MCP を使用するには、サーバーに接続し、次のようにコマンドを送信します。

import socket
import json

# Connect to the FreeCAD MCP server
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(('localhost', 9876))

# Example: Get scene information
command = {
    "type": "get_scene_info"
}
client.sendall(json.dumps(command).encode('utf-8'))

# Receive the response
response = client.recv(4096)
print(json.loads(response.decode('utf-8')))

# Example: Run a script
script = """
import FreeCAD
doc = FreeCAD.ActiveDocument
box = doc.addObject("Part::Box", "MyBox")
box.Length = 20
box.Width = 20
box.Height = 20
doc.recompute()
"""
command = {
    "type": "run_script",
    "params": {
        "script": script
    }
}
client.sendall(json.dumps(command).encode('utf-8'))

# Receive the response
response = client.recv(4096)
print(json.loads(response.decode('utf-8')))

# Close the connection
client.close()

インストール

  1. リポジトリをクローンするか、ファイルをダウンロードします。
  2. freecad_mcp ディレクトリを FreeCAD のモジュールディレクトリに配置します。
    • Windows:%APPDATA%/FreeCAD/Mod/
    • Linux:~/.FreeCAD/Mod/
    • macOS:~/Library/Preferences/FreeCAD/Mod/
  3. FreeCAD を再起動し、ワークベンチセレクターから「FreeCAD MCP」ワークベンチを選択します。

貢献

イシューやプルリクエストを送信して、ぜひ貢献してください。フィードバックや貢献をお待ちしています。

ライセンス

このプロジェクトは MIT ライセンスのもとでライセンスされています。詳細は LICENSE ファイルをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。