local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Enables interaction with FreeCAD CAD software through a standardized interface, offering tools for 3D model creation, manipulation, measurement, and export. Includes specialized smithery tools for blacksmithing designs, primitive shape generation, boolean operations, and model transformation capabilities.
🛠️ Integración MCP-FreeCAD
Nota: Este repositorio se encuentra en desarrollo intensivo. Se esperan confirmaciones diarias y posibles cambios importantes.
Este proyecto proporciona una sólida integración entre los asistentes de IA y el software CAD FreeCAD mediante el Protocolo de Contexto de Modelo (MCP) . Permite que las aplicaciones externas interactúen con FreeCAD a través de una interfaz estandarizada, ofreciendo múltiples métodos de conexión y herramientas especializadas.
Inicio rápido (recomendado: AppImage + Launcher)
Para una configuración más confiable, siga estos pasos:
- Configuración del entorno (única) : Ejecute el script de configuración. Esto clona el repositorio en
~/.mcp-freecad
, crea un entorno virtual de Python, descarga la última versión estable de FreeCAD AppImage, la extrae y configura el servidor para usarla.Alternativamente, clone el repositorio y ejecuteCopy./scripts/bin/setup_freecad_env.sh
manualmente. - Ejecutar el servidor MCP : use el script de instalación (que ahora solo garantiza que venv esté activo y ejecute el servidor) o el comando global si está instalado.Copy
Esto inicia el servidor MCP usando el método launcher
recomendado con la AppImage descargada y extraída.
Soporte de Docker
También puede ejecutar MCP-FreeCAD en un contenedor Docker para facilitar la implementación y el aislamiento.
Ejecutar con Docker Compose
- Iniciar el contenedor :Copy
- Construya desde cero (si ha realizado cambios):Copy
El contenedor Docker expone los siguientes puertos:
- 8080: Servidor MCP
- 12345: Servidor FreeCAD
Configuración de Docker
La configuración de Docker consta de:
Dockerfile
: define el contenedor con Python 3.12, instala dependencias y configura el entorno.docker-compose.yml
: configura el servicio, los puertos, los volúmenes y las políticas de reinicio.dockerignore
: excluye archivos innecesarios del contenedor
Este enfoque es especialmente útil para las canalizaciones CI/CD o cuando necesita aislar el entorno MCP-FreeCAD de su sistema.
Diagrama de flujo MCP
Este diagrama de flujo muestra los componentes principales y cómo los diferentes métodos de conexión seleccionados por freecad_connection_manager.py
permiten ejecutar comandos de diversas maneras en FreeCAD. El método launcher
, que suele usarse con AppImages extraídas mediante AppRun
, es el enfoque recomendado para mayor fiabilidad.
Para obtener diagramas de flujo más detallados, consulte FLOWCHART.md .
🔄 Componentes principales
1. Servidor MCP de FreeCAD ( freecad_mcp_server.py
)
- Descripción : El servidor principal que implementa el Protocolo de Contexto de Modelo. Actúa como el centro de conexión para que los asistentes de IA u otros clientes se comuniquen con FreeCAD mediante MCP.
- Características :
- Maneja solicitudes MCP estándar (
mcp/listTools
,mcp/executeTool
). - Utiliza
FreeCADConnection
para interactuar con FreeCAD utilizando el método configurado. - Expone varios conjuntos de herramientas (primitivas, manipulación, exportación, etc.) según la configuración.
- Configurable a través de
config.json
.
- Maneja solicitudes MCP estándar (
- Uso :Copy
2. Conexión a FreeCAD ( freecad_connection_manager.py
)
- Descripción : Una interfaz unificada de Python que encapsula la lógica para la conexión a FreeCAD. Utilizada internamente por el servidor MCP y disponible para scripting directo.
- Características :
- Selecciona inteligentemente el mejor método de conexión según la configuración y la disponibilidad.
- Métodos :
- Lanzador : (recomendado) utiliza
freecad_connection_launcher.py
yAppRun
. - Envoltorio : utiliza
freecad_connection_wrapper.py
yfreecad_subprocess.py
. - Servidor : se conecta a un
freecad_socket_server.py
en ejecución a través de sockets. - Puente : utiliza la CLI de FreeCAD a través de
freecad_connection_bridge.py
. - Mock : simula FreeCAD para pruebas.
- Automático : prueba los métodos en el orden recomendado (lanzador > contenedor > servidor > puente > simulacro).
- Lanzador : (recomendado) utiliza
- Uso (ejemplo de scripting directo) :Copy
3. Lanzador de FreeCAD ( freecad_connection_launcher.py
)
- Descripción : Gestiona el inicio del entorno de FreeCAD, generalmente mediante
AppRun
desde una AppImage extraída. Ejecutafreecad_launcher_script.py
dentro del entorno iniciado. - Características :
- Gestiona la ejecución del subproceso de FreeCAD/AppRun.
- Pasa comandos y parámetros al script interno de FreeCAD.
- Analiza los resultados JSON de la salida del script.
- Uso :
FreeCADConnection
lo utiliza principalmente internamente al seleccionar el métodolauncher
(configurado enconfig.json
). Normalmente, el usuario no lo ejecuta directamente.
4. Envoltorio de FreeCAD ( freecad_connection_wrapper.py
) y subproceso ( freecad_subprocess.py
)
- Descripción :
freecad_connection_wrapper.py
iniciafreecad_subprocess.py
en un proceso de Python separado.freecad_subprocess.py
importa módulos de FreeCAD y se comunica con el contenedor a través de tuberías stdio. - Características :
- Aísla las importaciones del módulo FreeCAD en un proceso dedicado.
- Proporciona un método de conexión alternativo si las importaciones directas de módulos son posibles pero AppRun/launcher es problemático.
- Uso :
FreeCADConnection
lo utiliza internamente cuando se selecciona el métodowrapper
(configurado enconfig.json
). Requiere un entorno Python donde el subproceso puedaimport FreeCAD
correctamente.
5. Servidor FreeCAD ( freecad_socket_server.py
)
- Descripción : Un servidor de sockets independiente diseñado para ejecutarse dentro de una instancia de FreeCAD. Escucha las conexiones de
FreeCADConnection
. - Características :
- Permite la conexión a una instancia de FreeCAD potencialmente persistente.
- Puede interactuar con la GUI si se ejecuta en modo
--connect
.
- Uso (Inicio manual dentro de FreeCAD) :RequiereCopy
connection_method: server
enconfig.json
para que el servidor MCP se conecte. (Consultedocs/FREECAD_SERVER_SETUP.md
)
6. Puente de FreeCAD ( freecad_connection_bridge.py
)
- Descripción : Permite la interacción mediante la línea de comandos con el ejecutable de FreeCAD. Evita los problemas de importación directa de módulos, pero puede ser más lento.
- Características :
- Ejecuta comandos de FreeCAD mediante llamadas de subproceso al ejecutable de
freecad
.
- Ejecuta comandos de FreeCAD mediante llamadas de subproceso al ejecutable de
- Uso :
FreeCADConnection
lo utiliza internamente cuando se selecciona el métodobridge
(configurado enconfig.json
). Requiere quefreecad
esté en la ruta del sistema o que lapath
esté configurada correctamente en la configuración.
7. Cliente de FreeCAD ( freecad_client.py
)
- Descripción : Una utilidad de línea de comandos para interactuar directamente con la interfaz
FreeCADConnection
(para probar/depurar métodos de conexión, no el servidor MCP). - Características :
- Permite probar comandos específicos
FreeCADConnection
(por ejemplo, crear primitivos, obtener versión) desde la terminal. - Utiliza
config.json
para determinar la configuración de conexión.
- Permite probar comandos específicos
- Ejemplos de uso :Copy
🔄 Estructura del proyecto
El proyecto MCP-FreeCAD está organizado con la siguiente estructura de directorios:
Para obtener más detalles sobre los scripts, consulte scripts/README.md .
⚙️ Detalles de instalación y configuración
Esta sección proporciona más detalles sobre las diferentes opciones de instalación y configuración.
Configuración recomendada: AppImage + Launcher (pasos detallados)
Esto implica dos scripts principales:
scripts/bin/setup_freecad_env.sh
: prepara el entorno.- Clona o actualiza el repositorio a
~/.mcp-freecad
. - Crea/actualiza un entorno virtual de Python (
.venv
) e instala los requisitos. - Ejecuta
download_appimage.py
para obtener la última AppImage estable de FreeCAD Linux en~/.mcp-freecad
. - Ejecuta
extract_appimage.py
que:- Extrae la AppImage descargada a
~/.mcp-freecad/squashfs-root
. - Actualiza
~/.mcp-freecad/config.json
para usarconnection_method: launcher
yuse_apprun: true
con rutas absolutas correctas.
- Extrae la AppImage descargada a
- Cómo ejecutar :
curl -sSL <URL>/setup_freecad_env.sh | bash
o./scripts/bin/setup_freecad_env.sh
- Clona o actualiza el repositorio a
scripts/bin/mcp-freecad-installer.sh
: ejecuta el servidor.- Nota : A pesar del nombre, este script ya no realiza la instalación completa . Principalmente, garantiza la actualización del repositorio, activa el entorno virtual e inicia
freecad_mcp_server.py
. - Se asume que el entorno (descarga/extracción de AppImage) ha sido preparado por
setup_freecad_env.sh
o manualmente. - Cómo ejecutar :
~/.mcp-freecad/scripts/bin/mcp-freecad-installer.sh
omcp-freecad
(comando global).
- Nota : A pesar del nombre, este script ya no realiza la instalación completa . Principalmente, garantiza la actualización del repositorio, activa el entorno virtual e inicia
Otros métodos de instalación
Instalación global ( install-global.sh
)
- Crea un enlace simbólico
mcp-freecad
en/usr/local/bin
que apunta amcp-freecad-installer.sh
en el repositorio. - Permite ejecutar
mcp-freecad
desde cualquier lugar. - Requiere que el entorno se configure primero usando
setup_freecad_env.sh
si desea utilizar el método de inicio recomendado.
Instalación manual
- Clonar el repositorio.
- Crear venv, instalar requisitos.
- Descargue y extraiga AppImage manualmente : ejecute
python download_appimage.py
ypython extract_appimage.py /path/to/downloaded.AppImage
usted mismo. - Ejecute el servidor:
python freecad_mcp_server.py
.
🚀 Uso del servidor MCP
Esta es la forma principal de interactuar con FreeCAD utilizando asistentes de IA como Claude.
Iniciando el servidor MCP
El servidor se ejecutará y escuchará las conexiones de los clientes MCP.
Conexión de un cliente MCP
Utilice cualquier cliente compatible con MCP. Ejemplo con el mcp client
de referencia:
O usar uv
si tienes un script de cliente como el que se encuentra en los documentos de MCP:
Alternativa: iniciar FreeCAD con el servidor integrado
También puedes iniciar FreeCAD con el servidor integrado usando:
Esto iniciará FreeCAD y automáticamente iniciará el servidor dentro de él.
Configuración del servidor MCP ( config.json
)
El archivo config.json
controla varios aspectos del servidor. A continuación, se muestra un ejemplo que refleja la configuración recomendada del lanzador tras ejecutar extract_appimage.py
:
Nota: reemplace las rutas de ejemplo con sus rutas absolutas reales.
Consulte FREECAD_INTEGRATION.md para obtener más detalles sobre las opciones de integración.
🛠️ Herramientas MCP disponibles
El servidor MCP expone varios grupos de herramientas. Aquí están todas las herramientas disponibles:
📐 Herramientas básicas de FreeCAD ( freecad.*
)
freecad.create_document
: Crea un nuevo documentofreecad.export_stl
: Exportar el modelo u objetos específicos a STLfreecad.import_stl
: Importa archivos STL al documento actualfreecad.save_document
: Guardar el documento actualfreecad.load_document
: Cargar un documento existente
🔧 Herramientas de manipulación de modelos ( model_manipulation.*
)
model_manipulation.rotate
: rota objetos alrededor de ejes especificadosmodel_manipulation.translate
: Mover objetos en el espacio 3Dmodel_manipulation.scale
: Escala objetos de manera uniforme o no uniformemodel_manipulation.mirror
: Refleja objetos en planos específicosmodel_manipulation.union
: combina varios objetos mediante la unión booleanamodel_manipulation.cut
: Corta objetos usando diferencia booleanamodel_manipulation.intersect
: Crea una intersección de múltiples objetos
📏 Herramientas de medición ( measurement.*
)
measurement.distance
: Mide la distancia entre dos puntosmeasurement.angle
: mide el ángulo entre tres puntosmeasurement.area
: Calcula el área de superficie de los objetosmeasurement.volume
: Calcula el volumen de objetos sólidosmeasurement.mass
: Calcula la masa de objetos (requiere propiedades del material)
📦 Herramientas primitivas ( primitives.*
)
primitives.create_box
: Crea un cuadro rectangularprimitives.create_cylinder
: Crea un cilindroprimitives.create_sphere
: Crea una esferaprimitives.create_cone
: Crea un conoprimitives.create_torus
: Crea un toroprimitives.create_polygon
: Crea un polígono regularprimitives.create_ellipse
: Crea una elipse
🔄 Herramientas de exportación/importación ( export_import.*
)
export_import.export_step
: Exportar al formato STEPexport_import.import_step
: Importar desde formato STEPexport_import.export_iges
: Exportar a formato IGESexport_import.import_iges
: Importar desde formato IGESexport_import.export_dxf
: Exportar a formato DXFexport_import.import_dxf
: Importar desde formato DXF
💻 Herramientas de generación de código ( code_generator.*
)
code_generator.generate_python
: Genera código Python para el modelo actualcode_generator.generate_openscad
: Generar código OpenSCAD para el modelo actualcode_generator.generate_gcode
: Genera código G para mecanizado CNCcode_generator.generate_3d_print
: Genera configuraciones de impresión 3D optimizadas
📝 Ejemplos de interacciones MCP
A continuación se muestran ejemplos conceptuales del uso del servidor MCP con un asistente de IA:
Creación y exportación de un cuadro
🔍 Solución de problemas
- Problemas de conexión al servidor MCP :
- Asegúrese de que
python src/mcp_freecad/server/freecad_mcp_server.py
pueda ejecutarse sin errores inmediatos. Verifique la salida de la terminal. - Verifique la configuración del firewall si es relevante (poco probable para
stdio
). - Verifique que
config.json
sea JSON válido.
- Asegúrese de que
- Problemas de conexión de FreeCAD (especialmente con el método
launcher
) :- Ejecutar
extract_appimage.py
: asegúrese de que AppImage se haya extraído correctamente y deconfig.json
se haya actualizado. - Verificar las rutas
config.json
: verifique que todas las rutas absolutas en la secciónfreecad
sean correctas para su sistema. - Comprobar permisos : asegúrese de que
squashfs-root/AppRun
tenga permisos de ejecución (chmod +x
). - Verificar registros : examine
mcp_freecad.log
(creado en la raíz del proyecto si se inicia el registro),freecad_server_stdout.log
yfreecad_server_stderr.log
en busca de errores defreecad_connection_launcher.py
,AppRun
o el propio proceso de FreeCAD. - Variables de entorno : Si
AppRun
no encuentra bibliotecas, asegúrese de queLD_LIBRARY_PATH
yPYTHONPATH
estén correctamente configuradas, posiblemente dentro de.cursor/mcp.json
si usa Cursor, o exportadas manualmente si prueba en la terminal. El scriptextract_appimage.py
intenta que esto sea menos necesario, pero puede ser un factor. - Problemas de funcionamiento sin interfaz gráfica : FreeCAD a veces presenta problemas al ejecutarse completamente sin interfaz gráfica (
QT_QPA_PLATFORM=offscreen
). Revise los registros para detectar errores relacionados con la interfaz gráfica.
- Ejecutar
- Método
server
: asegúrese de quefreecad_socket_server.py
se esté ejecutando dentro de una instancia activa de FreeCAD, escuchando en el host/puerto correcto configurado enconfig.json
. - Método
bridge
: Verifique que FreeCAD esté instalado en todo el sistema y que el comandofreecad
funcione en su terminal. Verifiquefreecad_path
enconfig.json
. - SDK de MCP faltante : instalar mediante
pip install modelcontextprotocol
. - Problemas de ruta de Python : si no se encuentran los módulos de FreeCAD cuando no se utiliza la configuración recomendada de AppImage, consulte PYTHON_INTERPRETER_SETUP.md .
📄 Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.
🖥️ Integración del cursor
El servidor MCP está diseñado para la integración con herramientas como Cursor IDE.
- Configurar Cursor : Agregue el servidor MCP en la configuración de Cursor (Configuración > Características > Servidores MCP > Agregar nuevo servidor MCP). Configúrelo para que ejecute el script de Python directamente, configurando las variables de entorno y el directorio de trabajo necesarios. Un ejemplo de configuración en
.cursor/mcp.json
sería el siguiente:ReemplaceCopy/path/to/mcp-freecad
con la ruta absoluta de su proyecto. Asegúrese de queLD_LIBRARY_PATH
yPYTHONPATH
coincidan con la estructura de AppImage si es necesario. - Reiniciar el cursor : reinicie completamente el cursor para que los cambios de configuración surtan efecto.
- Comunicación con el servidor : El servidor utiliza el transporte
stdio
por defecto (configurado enconfig.json
, enserver.mcp.transport
), compatible con el protocolo de comunicación de Cursor. Los errores deben reportarse a Cursor mediante respuestas de error de MCP.
Consideraciones específicas del cursor
- El script
freecad_mcp_server.py
cargaconfig.json
por defecto. Asegúrese de que este archivo contenga la configuración correcta, especialmente la secciónfreecad
actualizada porextract_appimage.py
. - Las variables de entorno establecidas en
.cursor/mcp.json
son cruciales para permitir que el métodolauncher
funcione correctamente dentro del entorno que proporciona Cursor.
📋 Opciones disponibles y casos de uso
🔧 Métodos de conexión
- Conexión del lanzador (recomendado)
- Utiliza
AppRun
desde una AppImage extraída. Es la opción más fiable. - Configurado automáticamente por
extract_appimage.py
. - Configuración (
config.json
): GXP19
- Utiliza
- Conexión de envoltura
- Ejecuta la lógica de FreeCAD en un subproceso independiente de Python. Una buena alternativa si AppImage/AppRun causa problemas.
- Configuración (
config.json
): GXP20
- Conexión al servidor de sockets
- Requiere ejecutar
freecad_socket_server.py
dentro de FreeCAD. - Úselo cuando se ejecuta FreeCAD como un servidor en segundo plano persistente.
- Configuración (
config.json
): GXP21
- Requiere ejecutar
- Conexión de puente CLI
- Utiliza la herramienta de línea de comandos
freecad
. Puede ser más lento o menos fiable. - Configuración (
config.json
): GXP22
- Utiliza la herramienta de línea de comandos
- Conexión simulada
- Para probar sin FreeCAD.
- Configuración (
config.json
): GXP23
- Conexión automática
- Selecciona automáticamente el mejor método disponible (lanzador > contenedor > servidor > puente > simulacro).
- Predeterminado si falta
connection_method
o está configurado en"auto"
.
🛠️ Categorías de herramientas y casos de uso
- Operaciones básicas de FreeCAD
- Gestión esencial de documentos
- Casos de uso:
- Creación de nuevos documentos
- Guardar y cargar proyectos
- Exportación a varios formatos
- Gestión de la estructura del documento
- Manipulación de modelos
- Transformar y modificar objetos
- Casos de uso:
- Rotar objetos con precisión
- Objetos en movimiento en el espacio 3D
- Modelos de escala
- Creación de espejos y copias
- Operaciones booleanas (unión, corte, intersección)
- Herramientas de medición
- Análisis y verificación
- Casos de uso:
- Mediciones de distancia
- Cálculos de ángulos
- Análisis del área de superficie
- Cálculos de volumen
- Propiedades de la masa
- Creación primitiva
- Generación de formas básicas
- Casos de uso:
- Creación de cajas y cilindros
- Generando esferas
- Fabricación de conos y toros
- Creación de polígonos regulares
- Dibujar elipses
- Operaciones de Exportación/Importación
- Conversión de formatos de archivo
- Casos de uso:
- Exportación/importación de archivos STEP
- Manejo del formato IGES
- Procesamiento de archivos DXF
- Exportación STL para impresión 3D
- Generación de código
- Creación automatizada de código
- Casos de uso:
- Generación de scripts de Python
- Exportación de código OpenSCAD
- Generación de código G para CNC
- Optimización de la configuración de la impresora 3D
💻 Escenarios de integración
- Integración de Cursor IDE
- Integración del entorno de desarrollo
- Casos de uso:
- Manipulación directa del modelo desde el IDE
- Retroalimentación en tiempo real
- Registro de depuración
- Seguimiento de errores
- Integración del asistente de IA
- Automatización del diseño impulsada por IA
- Casos de uso:
- Creación de modelos de lenguaje natural
- Modificaciones de diseño automatizadas
- Optimización de parámetros
- Validación del diseño
- Uso de la línea de comandos
- Scripting y automatización
- Casos de uso:
- Procesamiento por lotes
- Pruebas automatizadas
- Integración CI/CD
- Herramientas de línea de comandos
Ejemplos de casos de uso comunes
- Prototipado rápido
- Procesamiento automatizado
⚙️ Opciones de configuración
- Configuración del servidor
- Habilitación de herramientas
- Configuración de depuración
Características
- Conecte asistentes de IA a FreeCAD a través del protocolo MCP
- Crear y manipular modelos 3D mediante programación
- Soporte para formas primitivas (caja, cilindro, esfera, cono)
- Operaciones booleanas (unión, intersección, corte)
- Transformaciones de objetos (mover, rotar)
- Exportar modelos a formato STL
- Gestión de documentos y objetos
Prerrequisitos
- Python 3.8 o más reciente
- SDK de MCP (
pip install modelcontextprotocol
) - Recomendado : una AppImage de FreeCAD (descargada y extraída usando
extract_appimage.py
) para el método de conexiónlauncher
confiable. - Alternativamente : una instalación del sistema de FreeCAD 0.20+ (para métodos
bridge
oserver
, potencialmente menos confiable).
Herramientas disponibles
Gestión de documentos
- freecad.create_document - Crea un nuevo documento de FreeCAD
- freecad.list_documents - Lista todos los documentos abiertos
- freecad.list_objects - Lista todos los objetos en un documento
Primitivas 3D
- freecad.create_box - Crea una primitiva de caja
- freecad.create_cylinder - Crea un cilindro primitivo
- freecad.create_sphere - Crea una primitiva de esfera
- freecad.create_cone - Crea un cono primitivo
Operaciones booleanas
- freecad.boolean_union - Crea una unión de dos objetos (agregar)
- freecad.boolean_cut - Corta el segundo objeto del primero (restar)
- freecad.boolean_intersection - Crea la intersección de dos objetos (volumen común)
Transformaciones
- freecad.move_object - Mover un objeto a una nueva posición
- freecad.rotate_object - Rotar un objeto
Exportar
- freecad.export_stl - Exportar el modelo a un archivo STL
Pruebas
El proyecto incluye pruebas unitarias y pruebas de extremo a extremo (E2E) para garantizar la calidad y la confiabilidad.
Pruebas unitarias
Para ejecutar las pruebas unitarias básicas:
Pruebas de extremo a extremo
Las pruebas integrales verifican el correcto funcionamiento de todo el sistema desde la perspectiva del cliente. Prueban escenarios reales y las interacciones entre los diferentes componentes.
Para ejecutar todas las pruebas E2E:
Las pruebas E2E están organizadas por funcionalidad:
test_primitives.py
- Pruebas para la creación y manipulación de formas básicastest_smithery.py
- Pruebas para operaciones con herramientas de herrería
Escritura de nuevas pruebas E2E
Para agregar nuevas pruebas E2E:
- Cree un nuevo archivo de prueba en el directorio
tests/e2e/
- Amplíe la clase de prueba base adecuada (
MCPClientTestBase
) - Agregue métodos de prueba que utilicen el cliente MCP para interactuar con las herramientas
- Ejecute sus pruebas con el ejecutor de pruebas
Consulte los archivos de prueba existentes para ver ejemplos.
Documentación
El proyecto incluye varios archivos de documentación para diferentes aspectos:
- PYTHON_INTERPRETER_SETUP.md - Cómo configurar el intérprete de Python
- FREECAD_SERVER_SETUP.md - Guía de configuración del servidor
- FREECAD_INTEGRATION.md - Métodos de integración de FreeCAD
- FLOWCHART.md - Diagramas de flujo detallados
- OPTIMIZATION_FEATURES.md - Guía de optimización del rendimiento
- scripts/README.md - Documentación de scripts
Para los asistentes de IA, consulte AI_ASSISTANT_GUIDE.md para obtener instrucciones de uso detalladas y ejemplos.
Contribuyendo
¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.
Expresiones de gratitud
- Equipo de desarrollo de FreeCAD para el increíble software CAD
- Anthropic y Claude para el SDK del Protocolo de Contexto de Modelo (MCP)
This server cannot be installed
Este proyecto proporciona una sólida integración entre los asistentes de IA y el software CAD FreeCAD mediante el Protocolo de Contexto de Modelo (MCP). Permite que las aplicaciones externas interactúen con FreeCAD a través de una interfaz estandarizada, ofreciendo múltiples métodos de conexión y herramientas especializadas.
- Quick Start (Recommended: AppImage + Launcher)
- Docker Support
- 🔄 MCP Flow Chart
- 🔄 Core Components
- 1. FreeCAD MCP Server (freecad_mcp_server.py)
- 2. FreeCAD Connection (freecad_connection_manager.py)
- 3. FreeCAD Launcher (freecad_connection_launcher.py)
- 4. FreeCAD Wrapper (freecad_connection_wrapper.py) & Subprocess (freecad_subprocess.py)
- 5. FreeCAD Server (freecad_socket_server.py)
- 6. FreeCAD Bridge (freecad_connection_bridge.py)
- 7. FreeCAD Client (freecad_client.py)
- 🔄 Project Structure
- ⚙️ Installation & Setup Details
- 🚀 Using the MCP Server
- 🛠️ Available MCP Tools
- 📝 Example MCP Interactions
- 🔍 Troubleshooting
- 📄 License
- 🖥️ Cursor Integration
- 📋 Available Options and Use Cases
- Features
- Prerequisites
- Available Tools
- Testing
- Documentation
- Contributing
- Acknowledgments