MATLAB脚本执行服务

提供与MATLAB的集成,允许通过Claude或其他MCP客户端创建和执行MATLAB脚本和函数。

  • by Tsuchijo
  • Python
  • 本地部署
  • 40 星标
  • 更新于
在 GitHub 查看 Tsuchijo/matlab-mcp

使用说明

MATLAB MCP服务器

此模型上下文协议(MCP)服务器提供与MATLAB的集成,允许您通过Claude或其他MCP客户端创建和执行MATLAB脚本和函数。

设置要求

  • Python 3.11(MATLAB引擎目前不支持Python 3.13和3.12)
  • MATLAB R2024a(或兼容版本)
  • uv包管理器

安装

  1. 创建并设置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]"
  1. 安装MATLAB引擎 MATLAB引擎将在服务器首次运行时自动安装,使用中指定的MATLAB安装 MATLAB_PATH 环境变量。

目录结构

  • matlab_server.py:主MCP服务器实现
  • matlab_scripts/:保存所有MATLAB脚本和函数的目录(自动创建)
  • pyproject.toml:Python项目配置
  • .python-version:指定uv的Python版本

Claude桌面集成

  1. 打开您的Claude Desktop配置:
# On macOS
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
  1. 添加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安装
  • 使用绝对路径(非相对路径)

特性

服务器提供了几个工具:

  1. create_matlab_script:创建新的MATLAB脚本文件

    • 脚本保存在 matlab_scripts 目录
    • 文件名必须是有效的MATLAB标识符
  2. create_matlab_function:创建新的MATLAB函数文件

    • 函数保存在 matlab_scripts 目录
    • 必须包含有效的函数定义
  3. execute_matlab_script:运行MATLAB脚本并获取结果

    • 返回输出文本、生成的图形和工作区变量
    • 可以将参数传递给脚本
  4. 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 目录
  • 服务器启动时会自动创建此目录
  • 文件已命名 <script_name>.m 或 <function_name>.m
  • 目录与位于同一位置 matlab_server.py

环境变量

  • MATLAB_PATH:MATLAB安装路径
    • 违约: /Applications/MATLAB_R2024a.app
    • 在Claude Desktop配置中设置或直接运行时设置

故障排除

  1. MATLAB引擎安装失败

    • 验证MATLAB_PATH是否正确
    • 尝试手动安装发动机:
      cd $MATLAB_PATH/extern/engines/python
      python setup.py install
      
  2. Python版本问题

    • 确保你使用的是Python 3.11
    • 请检查: python --version
    • 使用 uv python pin 3.11 如有需要
  3. 脚本执行错误

    • 检查 matlab_scripts 目录存在
    • 验证脚本语法是否有效
    • 在MATLAB输出中查找错误消息

更新和维护

  • 保持MATLAB安装的更新
  • 根据需要更新Python包: uv pip install --upgrade mcp[cli]
  • 更新Python时检查MATLAB引擎兼容性