使用说明
MATLAB MCP集成
这是MATLAB的模型上下文协议(MCP)服务器的实现。它允许MCP客户端(如LLM代理或Claude Desktop)使用Python的MATLAB引擎API与共享的MATLAB会话进行交互。
特性
- 执行MATLAB代码: 通过以下命令运行任意MATLAB代码片段
runMatlabCode工具。 - 检索变量: 使用以下命令从MATLAB工作区获取变量值
getVariable工具。 - 结构化沟通: 工具将结果和错误作为结构化JSON返回,以便客户端更容易进行编程使用。
- 非阻塞执行: MATLAB引擎调用使用异步方式运行
asyncio.to_thread以防止阻塞服务器。 - 标准日志记录: 使用Python标准
logging模块,输出到stderr以便在客户端日志中查看。 - 共享会话: 连接到现有的共享MATLAB会话。
[!提示] DEVIN的MatlabMCP维基百科。 结账 DeepWiki 有关架构的更详细和说明性的信息。
需求
- Python 3.12或更高版本
- MATLAB(建议使用R2023a或更高版本 -检查MATLAB引擎API是否与Python兼容),并安装用于Python的MATLAB引擎API。
numpyPython包。
安装
-
克隆此存储库:
git clone https://github.com/jigarbhoye04/MatlabMCP.git cd MatlabMCP -
设置Python虚拟环境(推荐):
# 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 -
安装依赖项:
uv pip sync -
确保安装了MATLAB,并为您的Python环境配置了用于Python的MATLAB引擎API。看 MATLAB文档.
-
启动MATLAB并共享其引擎: 在MATLAB命令窗口中运行以下命令:
matlab.engine.shareEngine您可以通过运行验证它是否共享
matlab.engine.isEngineShared在MATLAB中(它应该返回true或1).MCP服务器需要此共享引擎才能连接。
配置(适用于Claude Desktop)
要将此服务器与Claude Desktop一起使用,请执行以下操作:
-
转到克劳德桌面->设置->开发人员->编辑配置。
-
这将打开
claude_desktop_config.json.添加或修改mcpServers部分包括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 } } -
重要: 替换
C:\\Users\\username\\...正确的路径 绝对路径 为您的系统。 -
保存文件并 重新启动克劳德桌面.
-
登录中: 服务器日志(来自Python
logging模块)将出现在Claude Desktop的MCP日志文件中(可通过以下方式访问tail -f ~/Library/Logs/Claude/mcp-server-MatlabMCP.log在macOS上或检查%APPDATA%\Claude\logs\在Windows上)。
发展
项目结构:
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
文档
结账 更新 有关服务器功能、用法和开发说明的详细文档。
贡献
欢迎投稿!如果您有任何建议或改进,请随时打开问题或提交拉取请求。
让我们一起让这变得更好!