FreeCAD MCP

by bonninr

Integrations

  • Enables creation and manipulation of 3D objects, parametric modeling operations, document management, and export/import capabilities in FreeCAD through natural language commands.

FreeCAD MCP (Protocolo de control de modelos)

Descripción general

El MCP (Protocolo de Control de Modelos) de FreeCAD proporciona una interfaz simplificada para interactuar con FreeCAD mediante una arquitectura cliente-servidor. Esto permite a los usuarios ejecutar comandos y recuperar información sobre el documento y la escena actuales de FreeCAD.

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

Configuración

Para configurar el servidor MCP, puede usar el formato JSON para especificar la configuración del servidor. A continuación, se muestra un ejemplo de configuración:

{ "mcpServers": { "freecad": { "command": "C:\\ProgramData\\anaconda3\\python.exe", "args": [ "C:\\Users\\USER\\AppData\\Roaming\\FreeCAD\\Mod\\freecad_mcp\\src\\freecad_bridge.py" ] } } }

Detalles de configuración

  • Comando : La ruta al ejecutable de Python que ejecutará el servidor FreeCAD MCP. Esto puede variar según el sistema operativo.
    • Windows : normalmente, podría verse como C:\\ProgramData\\anaconda3\\python.exe o C:\\Python39\\python.exe .
    • Linux : podría ser /usr/bin/python3 o la ruta a su instalación de Python.
    • macOS : normalmente, sería /usr/local/bin/python3 o la ruta a su instalación de Python.
  • args : Una matriz de argumentos para pasar al comando de Python. El primer argumento debe ser la ruta al script freecad_bridge.py , responsable de gestionar la lógica del servidor MCP. Asegúrese de ajustar la ruta según su instalación.

Ejemplo para diferentes sistemas operativos

Ventanas
{ "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" ] } } }

Características

El FreeCAD MCP actualmente admite las siguientes funcionalidades:

1. get_scene_info

  • Descripción : Recupera información completa sobre el documento actual de FreeCAD, incluyendo:
    • Propiedades del documento (nombre, etiqueta, nombre de archivo, número de objetos)
    • Información detallada del objeto (tipo, posición, rotación, propiedades de forma)
    • Datos del boceto (geometría, restricciones)
    • Ver información (posición de la cámara, dirección, etc.)

2. run_script

  • Descripción : Ejecuta código Python arbitrario en el contexto de FreeCAD. Esto permite a los usuarios realizar operaciones complejas, crear nuevos objetos, modificar los existentes y automatizar tareas mediante la API de Python de FreeCAD.

Ejemplo de uso

Para utilizar FreeCAD MCP, puede conectarse al servidor y enviar comandos de la siguiente manera:

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()

Instalación

  1. Clonar el repositorio o descargar los archivos.
  2. Coloque el directorio freecad_mcp en su directorio de módulos de FreeCAD:
    • Ventanas: %APPDATA%/FreeCAD/Mod/
    • Linux: ~/.FreeCAD/Mod/
    • macOS: ~/Library/Preferences/FreeCAD/Mod/
  3. Reinicie FreeCAD y seleccione el banco de trabajo “FreeCAD MCP” en el selector de banco de trabajo.

Contribuyendo

Siéntete libre de contribuir enviando incidencias o solicitudes de incorporación de cambios. ¡Tus comentarios y contribuciones son bienvenidos!

Licencia

Este proyecto está licenciado bajo la Licencia MIT. Consulte el archivo de LICENCIA para más detalles.

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

local-only server

The server can only run on the client's local machine because it depends on local resources.

Un complemento de FreeCAD que implementa el Protocolo de contexto de modelo (MCP) para permitir la comunicación entre FreeCAD y Claude AI a través de Claude Desktop.

  1. Overview
    1. Configuration
      1. Configuration Details
      2. Example for Different Operating Systems
    2. Features
      1. 1. get_scene_info
      2. 2. run_script
      3. Example Usage
    3. Installation
      1. Contributing
        1. License

          Related MCP Servers

          • -
            security
            A
            license
            -
            quality
            Connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender for AI-assisted 3D modeling, scene manipulation, and rendering.
            Last updated -
            10,093
            Python
            MIT License
            • Apple
          • A
            security
            A
            license
            A
            quality
            This repository is a FreeCAD MCP that allows you to control FreeCAD from Claude Desktop.
            Last updated -
            10
            111
            Python
            MIT License
            • Apple
            • Linux
          • -
            security
            A
            license
            -
            quality
            A utility tool that enables Claude Desktop to interact with external tools via the Model Context Protocol, providing features like email sending and simple calculations while simplifying the MCP setup process.
            Last updated -
            129
            9
            JavaScript
            MIT License
            • Apple
          • A
            security
            A
            license
            A
            quality
            A Model Context Protocol server that automatically reads the Claude Desktop configuration file and presents all available MCP services in an easy-to-copy format at the top of the tools list.
            Last updated -
            1
            8
            2
            JavaScript
            MIT License
            • Apple

          View all related MCP servers

          ID: st9mc7th67