Integración de MATLAB MCP
Esta es una implementación de un servidor de Protocolo de Contexto de Modelo (MCP) para MATLAB. Permite a los clientes MCP (como los agentes LLM o Claude Desktop) interactuar con una sesión compartida de MATLAB mediante la API de MATLAB Engine para Python.
Características
Ejecutar código MATLAB: ejecute fragmentos de código MATLAB arbitrarios mediante la herramienta
runMatlabCode.Recuperar variables: obtenga el valor de las variables del espacio de trabajo de MATLAB utilizando la herramienta
getVariable.Comunicación estructurada: las herramientas devuelven resultados y errores como JSON estructurado para facilitar su uso programático por parte de los clientes.
Ejecución sin bloqueo: las llamadas al motor MATLAB se ejecutan de forma asincrónica mediante
asyncio.to_threadpara evitar el bloqueo del servidor.Registro estándar: utiliza el módulo
loggingestándar de Python y envía la salida astderrpara mayor visibilidad en los registros del cliente.Sesión compartida: se conecta a una sesión MATLAB compartida existente.
HACER:
Agregue una herramienta
setVariablepara escribir datos en el espacio de trabajo de MATLAB.Agregue una herramienta
runScriptpara ejecutar archivos.mdirectamente.Agregue herramientas para la gestión del espacio de trabajo (por ejemplo,
clearWorkspace,getWorkspaceVariables).Amplíe el asistente
matlab_to_pythonpara manejar tipos de datos más complejos (estructuras, matrices de celdas, objetos).Agregue soporte para interactuar con modelos de Simulink.
Related MCP server: Modal MCP Toolbox
Requisitos
Python 3.12 o superior
MATLAB ( se recomienda R2023a o superior ; verifique la API de MATLAB Engine para compatibilidad con Python) con la API de MATLAB Engine para Python instalada.
Paquete Python
numpy.
Instalación
Clonar este repositorio:
git clone https://github.com/jigarbhoye04/MatlabMCP.git cd MatlabMCPConfigurar un entorno virtual de Python (recomendado):
# Install uv if you haven't already: https://github.com/astral-sh/uv uv init uv venv source .venv/bin/activate # On Windows use: .venv\Scripts\activateInstalar dependencias:
uv pip syncAsegúrese de que MATLAB esté instalado y que la API de MATLAB Engine para Python esté configurada para su entorno Python. Consulte la documentación de MATLAB .
Inicie MATLAB y comparta su motor: Ejecute el siguiente comando en la ventana de comandos de MATLAB:
matlab.engine.shareEnginePuede verificar que se comparte ejecutando
matlab.engine.isEngineShareden MATLAB (debería devolvertrueo1"). El servidor MCP necesita este motor compartido para conectarse.
Configuración (para Claude Desktop)
Para utilizar este servidor con Claude Desktop:
Vaya a Claude Desktop -> Configuración -> Desarrollador -> Editar configuración.
Esto abrirá
claude_desktop_config.json. Agregue o modifique la secciónmcpServerspara incluir la configuraciónMatlabMCP:{ "mcpServers": { "MatlabMCP": { "command": "C:\\Users\\username\\.local\\bin\\uv.exe", // Path to your uv executable "args": [ "--directory", "C:\\Users\\username\\Desktop\\MatlabMCP\\", // ABSOLUTE path to the cloned repository directory "run", "main.py" ] // Optional: Add environment variables if needed // "env": { // "MY_VAR": "value" // } } // Add other MCP servers here if you have them } }IMPORTANTE: Reemplace las rutas
C:\\Users\\username\\...con las rutas absolutas correctas para su sistema.Guarde el archivo y reinicie Claude Desktop .
Registro: los registros del servidor (del módulo
loggingde Python) aparecerán en los archivos de registro MCP de Claude Desktop (accesibles a través detail -f ~/Library/Logs/Claude/mcp-server-MatlabMCP.logen macOS o consultando%APPDATA%\Claude\logs\en Windows).
Desarrollo
Estructura del proyecto:
Documentación
Consulte Actualizaciones para obtener documentación detallada sobre las características del servidor, el uso y las notas de desarrollo.
Contribuyendo
¡Agradecemos sus contribuciones! Si tiene alguna sugerencia o mejora, no dude en abrir un problema o enviar una solicitud de incorporación de cambios.
¡Hagamos esto aún mejor juntos!