关于 MATLAB MCP Integration
MATLAB MCP Integration 是一个 MCP 服务,通过 MATLAB Engine API for Python 让 LLM 或 Claude Desktop 等客户端在共享的 MATLAB 会话中执行代码。适合需要在 AI 工作流中调用 MATLAB 的用户。
主要功能
- 01通过 runMatlabCode 工具执行 MATLAB 代码
- 02通过 getVariable 工具读取工作区变量
- 03以结构化 JSON 返回结果与错误
- 04使用 asyncio.to_thread 进行异步调用
- 05连接已有的共享 MATLAB 会话
适用场景
- 01让 LLM 运行 MATLAB 脚本并返回计算结果
- 02在 Claude Desktop 中读取 MATLAB 工作区变量
- 03在已打开的 MATLAB 会话中持续执行分析
MCP 相关
该项目是 MCP 服务,向 MCP 客户端暴露 runMatlabCode 和 getVariable 工具,并通过共享的 MATLAB 引擎完成调用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MATLAB MCP 集成
这是一个适用于 MATLAB 的模型上下文协议(MCP)服务实现。它允许 MCP 客户端(例如大模型 Agent 或 Claude Desktop)通过 MATLAB Engine API for Python 与共享的 MATLAB 会话交互。
功能
- **执行 MATLAB 代码:**通过
runMatlabCode工具运行任意 MATLAB 代码片段。 - **获取变量:**使用
getVariable工具获取 MATLAB 工作区中变量的值。 - **结构化通信:**工具以结构化 JSON 形式返回结果和错误,方便客户端以编程方式使用。
- **非阻塞执行:**MATLAB 引擎调用通过
asyncio.to_thread异步运行,以避免阻塞服务。 - **标准日志记录:**使用 Python 标准
logging模块,将日志输出到stderr,方便在客户端日志中查看。 - **共享会话:**连接到现有的共享 MATLAB 会话。
提示
DEVIN 编写的 MatlabMCP 维基。 查看 DeepWiki,了解有关架构的更多详细说明和示例。
要求
- Python 3.12 或更高版本
- MATLAB(建议使用 R2023a 或更高版本——请检查 MATLAB Engine API for Python 的兼容性),并安装 MATLAB Engine API for Python。
- Python 软件包
numpy。
安装
-
克隆此仓库:
git clone https://github.com/jigarbhoye04/MatlabMCP.git cd MatlabMCP -
设置 Python 虚拟环境(推荐):
# 如果尚未安装 uv,请先安装:https://github.com/astral-sh/uv uv init uv venv source .venv/bin/activate # Windows 上请使用:.venv\Scripts\activate -
安装依赖项:
uv pip sync -
确保已安装 MATLAB,并已为你的 Python 环境配置 MATLAB Engine API for Python。请参阅 MATLAB 文档。
-
**启动 MATLAB 并共享其引擎:**在 MATLAB 命令窗口中运行以下命令:
matlab.engine.shareEngine你可以在 MATLAB 中运行
matlab.engine.isEngineShared,确认引擎是否已共享(应返回true或1)。MCP 服务需要连接到此共享引擎。
配置(适用于 Claude Desktop)
要在 Claude Desktop 中使用此服务:
-
转到 Claude Desktop -> Settings -> Developer -> Edit Config。
-
这将打开
claude_desktop_config.json。添加或修改mcpServers部分,以包含MatlabMCP配置:{ "mcpServers": { "MatlabMCP": { "command": "C:\\Users\\username\\.local\\bin\\uv.exe", // uv 可执行文件的路径 "args": [ "--directory", "C:\\Users\\username\\Desktop\\MatlabMCP\\", // 克隆仓库目录的绝对路径 "run", "main.py" ] // 可选:如有需要,可添加环境变量 // "env": { // "MY_VAR": "value" // } } // 如有其他 MCP 服务,可在此处添加 } } -
重要:将
C:\\Users\\username\\...路径替换为系统上对应的绝对路径。 -
保存文件并重启 Claude Desktop。
-
**日志记录:**服务日志(来自 Python 的
logging模块)会显示在 Claude Desktop 的 MCP 日志文件中(在 macOS 上可通过tail -f ~/Library/Logs/Claude/mcp-server-MatlabMCP.log查看,在 Windows 上可检查%APPDATA%\Claude\logs\)。
开发
项目结构:
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
文档
请参阅 更新,了解有关服务功能、用法和开发说明的详细文档。
贡献
欢迎贡献!如果你有任何建议或改进意见,欢迎提交 issue 或 pull request。
让我们携手把它做得更好!
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。