Интеграция MATLAB MCP
Это реализация сервера Model Context Protocol (MCP) для MATLAB. Он позволяет клиентам MCP (таким как агенты LLM или Claude Desktop) взаимодействовать с общей сессией MATLAB с помощью API MATLAB Engine для Python.
Функции
- Выполнение кода MATLAB: запуск произвольных фрагментов кода MATLAB с помощью инструмента
runMatlabCode
. - Извлечение переменных: получение значений переменных из рабочего пространства MATLAB с помощью инструмента
getVariable
. - Структурированная коммуникация: инструменты возвращают результаты и ошибки в виде структурированного JSON для более удобного программного использования клиентами.
- Неблокируемое выполнение: вызовы движка MATLAB выполняются асинхронно с использованием
asyncio.to_thread
для предотвращения блокировки сервера. - Стандартное ведение журнала: использует стандартный модуль
logging
Python, выводя данные вstderr
для видимости в клиентских журналах. - Общий сеанс: подключается к существующему общему сеансу MATLAB.
ТО, ЧТО ДЕЛАТЬ:
- Добавьте инструмент
setVariable
для записи данных в рабочее пространство MATLAB. - Добавьте инструмент
runScript
для непосредственного выполнения файлов.m
. - Добавьте инструменты для управления рабочим пространством (например,
clearWorkspace
,getWorkspaceVariables
). - Расширьте вспомогательный модуль
matlab_to_python
для обработки более сложных типов данных (структуры, массивы ячеек, объекты). - Добавить поддержку взаимодействия с моделями Simulink.
Требования
- Python 3.12 или выше
- MATLAB ( рекомендуется R2023a или выше — проверьте совместимость MATLAB Engine API с Python) с установленным MATLAB Engine API для Python.
- Пакет
numpy
Python.
Установка
- Клонируйте этот репозиторий:
- Настройте виртуальную среду Python (рекомендуется):
- Установить зависимости:
- Убедитесь, что MATLAB установлен и MATLAB Engine API для Python настроен для вашей среды Python. См. документацию MATLAB .
- Запустите MATLAB и поделитесь его движком: выполните следующую команду в командном окне MATLAB:Вы можете проверить, что он общий, запустив
matlab.engine.isEngineShared
в MATLAB (он должен вернутьtrue
или1
). Серверу MCP нужен этот общий движок для подключения.
Конфигурация (для Claude Desktop)
Чтобы использовать этот сервер с Claude Desktop:
- Перейдите в Claude Desktop -> Настройки -> Разработчик -> Изменить конфигурацию.
- Это откроет
claude_desktop_config.json
. Добавьте или измените разделmcpServers
, чтобы включить конфигурациюMatlabMCP
: - ВАЖНО: Замените пути
C:\\Users\\username\\...
на правильные абсолютные пути для вашей системы. - Сохраните файл и перезапустите Claude Desktop .
- Ведение журнала: журналы сервера (из модуля
logging
Python) будут отображаться в файлах журнала MCP Claude Desktop (доступных черезtail -f ~/Library/Logs/Claude/mcp-server-MatlabMCP.log
на macOS или проверку%APPDATA%\Claude\logs\
на Windows).
Разработка
Структура проекта:
Документация
Подробную документацию по функциям сервера, его использованию и заметкам по разработке см. в разделе « Обновления ».
Внося вклад
Вклады приветствуются! Если у вас есть предложения или улучшения, смело открывайте issue или отправляйте pull request.
Давайте сделаем это еще лучше вместе!
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Позволяет выполнять код MATLAB из Python с использованием API MATLAB Engine, обеспечивая общий сеанс MATLAB для нескольких запросов для бесшовной интеграции с Claude Desktop.
Related MCP Servers
- -securityFlicense-qualityAllows interaction with MATLAB by creating and executing scripts and functions through Claude or other MCP clients, supporting script management and execution result retrieval with environment configuration capabilities.Last updated -10Python
- -securityAlicense-qualityThe server facilitates access to Julia documentation and source code through Claude Desktop, allowing users to retrieve information on Julia packages, modules, types, functions, and methods.Last updated -402JavaScriptMIT License
- AsecurityAlicenseAqualityIntegrates MATLAB with AI to execute code, generate scripts from natural language, and access MATLAB documentation seamlessly.Last updated -229JavaScriptApache 2.0
- AsecurityFlicenseAqualityA server that enables Claude Desktop users to access the Claude API directly, allowing them to bypass Professional Plan limitations and use advanced features like custom system prompts and conversation management.Last updated -15Python