MATLAB MCP服务器
此模型上下文协议(MCP)服务器提供与MATLAB的集成,允许您通过Claude或其他MCP客户端创建和执行MATLAB脚本和函数。
设置要求
- Python 3.11(MATLAB引擎目前不支持Python 3.13和3.12)
- MATLAB R2024a(或兼容版本)
- uv包管理器
安装
- 创建并设置Python环境:
# Pin Python version
uv python pin 3.11
# Create virtual environment
uv venv
# Activate virtual environment
source .venv/bin/activate
# Install MCP
uv add "mcp[cli]"- 安装MATLAB引擎
MATLAB引擎将在服务器首次运行时自动安装,使用中指定的MATLAB安装 MATLAB_PATH 环境变量。
目录结构
matlab_server.py:主MCP服务器实现matlab_scripts/:保存所有MATLAB脚本和函数的目录(自动创建)pyproject.toml:Python项目配置.python-version:指定uv的Python版本
Claude桌面集成
- 打开您的Claude Desktop配置:
# On macOS
code ~/Library/Application\ Support/Claude/claude_desktop_config.json- 添加MATLAB服务器配置:
{
"mcpServers": {
"matlab": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/matlab-mcp",
"run",
"matlab_server.py"
],
"env": {
"MATLAB_PATH": "/Applications/MATLAB_R2024a.app"
}
}
}
}确保:
- 替换
/absolute/path/to/matlab-mcp带有项目目录的实际路径 - 验证
MATLAB_PATH指向您的MATLAB安装 - 使用绝对路径(非相对路径)
特性
服务器提供了几个工具:
create_matlab_script:创建新的MATLAB脚本文件
- 脚本保存在 matlab_scripts 目录 - 文件名必须是有效的MATLAB标识符
create_matlab_function:创建新的MATLAB函数文件
- 函数保存在 matlab_scripts 目录 - 必须包含有效的函数定义
execute_matlab_script:运行MATLAB脚本并获取结果
- 返回输出文本、生成的图形和工作区变量 - 可以将参数传递给脚本
call_matlab_function:使用参数调用MATLAB函数
- 返回函数输出和任何生成的数字
测试
您可以使用MCP检查器测试服务器:
# Make sure you're in your virtual environment
source .venv/bin/activate
# Run the inspector
MATLAB_PATH=/Applications/MATLAB_R2024a.app mcp dev matlab_server.py示例测试脚本:
t = 0:0.01:2*pi;
y = sin(t);
plot(t, y);
title('Test Plot');
xlabel('Time');
ylabel('Amplitude');脚本存储
- 所有MATLAB脚本和函数都保存在
matlab_scripts目录 - 服务器启动时会自动创建此目录
- 文件已命名
.m或.m - 目录与位于同一位置
matlab_server.py
环境变量
MATLAB_PATH:MATLAB安装路径
- 违约: /Applications/MATLAB_R2024a.app - 在Claude Desktop配置中设置或直接运行时设置
故障排除
- MATLAB引擎安装失败
- 验证MATLAB_PATH是否正确 - 尝试手动安装发动机:
cd $MATLAB_PATH/extern/engines/python
python setup.py install- Python版本问题
- 确保你使用的是Python 3.11 - 请检查: python --version - 使用 uv python pin 3.11 如有需要
- 脚本执行错误
- 检查 matlab_scripts 目录存在 - 验证脚本语法是否有效 - 在MATLAB输出中查找错误消息
更新和维护
- 保持MATLAB安装的更新
- 根据需要更新Python包:
uv pip install --upgrade mcp[cli] - 更新Python时检查MATLAB引擎兼容性
