Skip to main content
Glama
jigarbhoye04

MATLAB MCP Server

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_thread para evitar el bloqueo del servidor.

  • Registro estándar: utiliza el módulo logging estándar de Python y envía la salida a stderr para mayor visibilidad en los registros del cliente.

  • Sesión compartida: se conecta a una sesión MATLAB compartida existente.

HACER:

  • Agregue una herramienta setVariable para escribir datos en el espacio de trabajo de MATLAB.

  • Agregue una herramienta runScript para ejecutar archivos .m directamente.

  • Agregue herramientas para la gestión del espacio de trabajo (por ejemplo, clearWorkspace , getWorkspaceVariables ).

  • Amplíe el asistente matlab_to_python para 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

  1. Clonar este repositorio:

    git clone https://github.com/jigarbhoye04/MatlabMCP.git cd MatlabMCP
  2. Configurar 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\activate
  3. Instalar dependencias:

    uv pip sync
  4. Asegú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 .

  5. Inicie MATLAB y comparta su motor: Ejecute el siguiente comando en la ventana de comandos de MATLAB:

    matlab.engine.shareEngine

    Puede verificar que se comparte ejecutando matlab.engine.isEngineShared en MATLAB (debería devolver true o 1 "). El servidor MCP necesita este motor compartido para conectarse.

Configuración (para Claude Desktop)

Para utilizar este servidor con Claude Desktop:

  1. Vaya a Claude Desktop -> Configuración -> Desarrollador -> Editar configuración.

  2. Esto abrirá claude_desktop_config.json . Agregue o modifique la sección mcpServers para incluir la configuración MatlabMCP :

    { "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 } }
  3. IMPORTANTE: Reemplace las rutas C:\\Users\\username\\... con las rutas absolutas correctas para su sistema.

  4. Guarde el archivo y reinicie Claude Desktop .

  5. Registro: los registros del servidor (del módulo logging de Python) aparecerán en los archivos de registro MCP de Claude Desktop (accesibles a través de tail -f ~/Library/Logs/Claude/mcp-server-MatlabMCP.log en macOS o consultando %APPDATA%\Claude\logs\ en Windows).

Desarrollo

Estructura del proyecto:

MatlabMCP/ ├── .venv/ # Virtual environment created by uv ├── Docs/ │ └── Images/ │ └── Updates.md # Documentation for updates and changes ├── main.py # The MCP server script ├── pyproject.toml # Project metadata and dependencies ├── README.md # This file └── uv.lock # Lock file for dependencies

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!

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

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/jigarbhoye04/MatlabMCP'

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