Skip to main content
Glama
bonninr
by bonninr

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

Related MCP server: mcp-freecad

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.

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    F
    maintenance
    This 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.
    24
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    An 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.
    96
    MIT

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • Augments MCP Server - A comprehensive framework documentation provider for Claude Code

  • MCP server for AI dialogue using various LLM models via AceDataCloud

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bonninr/freecad_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server