FreeCAD MCP
FreeCAD MCP (モデル制御プロトコル)
概要
FreeCAD MCP(モデル制御プロトコル)は、サーバークライアントアーキテクチャを通じてFreeCADと対話するための簡素化されたインターフェースを提供します。これにより、ユーザーはコマンドを実行したり、現在のFreeCADドキュメントやシーンに関する情報を取得したりできます。
https://github.com/user-attachments/assets/5acafa17-4b5b-4fef-9f6c-617e85357d44
Related MCP server: mcp-freecad
構成
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スクリプトへのパスです。インストール環境に合わせてパスを調整してください。
異なるオペレーティングシステムの例
ウィンドウズ
{
"mcpServers": {
"freecad": {
"command": "C:\\ProgramData\\anaconda3\\python.exe",
"args": [
"C:\\Users\\USER\\AppData\\Roaming\\FreeCAD\\Mod\\freecad_mcp\\src\\freecad_bridge.py"
]
}
}
}リナックス
{
"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()インストール
リポジトリをクローンするか、ファイルをダウンロードします。
freecad_mcpディレクトリを FreeCAD モジュール ディレクトリに配置します。Windows:
%APPDATA%/FreeCAD/Mod/Linux:
~/.FreeCAD/Mod/macOS:
~/Library/Preferences/FreeCAD/Mod/
FreeCAD を再起動し、ワークベンチ セレクターから「FreeCAD MCP」ワークベンチを選択します。
貢献
ぜひ、問題提起やプルリクエストを送信して、貢献してください。皆様からのフィードバックと貢献をお待ちしております!
ライセンス
このプロジェクトはMITライセンスの下でライセンスされています。詳細はLICENSEファイルをご覧ください。
This server cannot be deployed
Maintenance
Related MCP Connectors
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
- mcpOAuthai.butlerbrain
Persistent memory for AI assistants. Save once; recall from Claude, ChatGPT, or any MCP client.
Shared memory and mail for your AI agents. Verified with Claude Code; other MCP clients in testing.
Related MCP Servers
- AlicenseAqualityBmaintenanceThis repository is a FreeCAD MCP that allows you to control FreeCAD from Claude Desktop.102,767MIT
- AlicenseNot gradedqualityDmaintenanceThis project provides a robust integration between AI assistants and FreeCAD CAD software using the Model Context Protocol (MCP). It allows external applications to interact with FreeCAD through a standardized interface, offering multiple connection methods and specialized tools.27MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables automation of FreeCAD model creation, macro execution, and view management through a server-client architecture, supporting integration with external AI tools like Claude and Cursor.102MIT
- AlicenseCqualityDmaintenanceAllows AI agents like Claude to create, edit, and query 3D models in FreeCAD through natural language.579MIT