使用说明

项目简介

本项目 'matlab-mcp' 是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在将强大的 MATLAB 计算能力桥接到大型语言模型 (LLM) 应用中。通过此服务器,LLM 客户端(如 Claude)可以调用 MATLAB 执行脚本、函数,并获取计算结果、图形和工作区变量,从而扩展 LLM 在科学计算和数据分析领域的应用能力。

主要功能点

  • MATLAB 代码执行: 支持创建、编辑和执行 MATLAB 脚本和函数。
  • 结果返回: 返回 MATLAB 脚本或函数的文本输出、生成的图形(PNG 格式)以及工作区变量。
  • 工具集成: 通过 MCP 协议向 LLM 客户端暴露 MATLAB 的功能,使其可以作为工具被 LLM 调用。
  • 资源管理: 将 MATLAB 脚本和函数存储在服务器本地,并可通过资源路径访问脚本内容。

安装步骤

  1. 环境准备:

    • 确保已安装 Python 3.11 (不支持 3.12 和 3.13)。
    • 确保已安装 MATLAB R2024a 或兼容版本。
    • 安装 uv 包管理器 (如果未安装,请参考 uv installation)。
  2. 创建 Python 虚拟环境: 打开终端,进入项目目录,执行以下命令:

    # 锁定 Python 版本为 3.11
    uv python pin 3.11
    # 创建虚拟环境
    uv venv
    # 激活虚拟环境
    source .venv/bin/activate
  3. 安装 MCP 库: 在激活的虚拟环境中,执行命令安装 'mcp' 库:

    uv add "mcp[cli]"
  4. 安装 MATLAB Engine: 首次运行服务器时,MATLAB Engine 会尝试自动安装。服务器会根据 'MATLAB_PATH' 环境变量指定的 MATLAB 安装路径查找并安装 Engine。如果自动安装失败,请参考仓库 README 手动安装。

服务器配置

要将此 MCP 服务器配置到 MCP 客户端(例如 Claude Desktop),您需要提供以下配置信息。以下是 Claude Desktop 'claude_desktop_config.json' 文件的配置示例,请根据您的实际情况修改:

{
    "mcpServers": {
        "matlab": {  // 服务器名称,客户端用以标识,可以自定义
            "command": "uv", // 启动服务器的命令,这里使用 uv 包管理器
            "args": [ // 启动参数
                "--directory", // 指定工作目录
                "/absolute/path/to/matlab-mcp", //  **请替换为 matlab-mcp 项目的绝对路径**
                "run",        // uv run 命令,用于执行 Python 脚本
                "matlab_server.py" // 要执行的服务器脚本文件名
            ],
            "env": { // 环境变量
                "MATLAB_PATH": "/Applications/MATLAB_R2024a.app" // **请替换为您的 MATLAB 安装路径**
            }
        }
    }
}

配置说明:

  • '"matlab"': 服务器的名称,您可以自定义,客户端会使用这个名称来引用该服务器。
  • '"command": "uv"': 指定用于启动服务器的命令。这里使用 'uv' 包管理器来运行 Python 脚本。
  • '"args"': 启动参数列表。
    • '"--directory", "/absolute/path/to/matlab-mcp"': 指定 'uv run' 命令的工作目录为您的 'matlab-mcp' 项目的绝对路径请务必替换为实际路径
    • '"run", "matlab_server.py"': 告诉 'uv' 运行 'matlab_server.py' 脚本。
  • '"env"': 环境变量设置。
    • '"MATLAB_PATH": "/Applications/MATLAB_R2024a.app"': 指定 MATLAB 的安装路径。请务必替换为您实际的 MATLAB 安装路径,并使用绝对路径

注意:

  • 请将 '/absolute/path/to/matlab-mcp' 和 '/Applications/MATLAB_R2024a.app' 替换为您的实际路径。
  • 配置文件中请使用绝对路径,避免使用相对路径。

基本使用方法

  1. 启动 MCP 客户端 (如 Claude Desktop)。
  2. 在客户端中配置并连接到名为 "matlab" (或您在配置中设置的名称) 的 MCP 服务器。
  3. 使用客户端的功能,例如在 Claude 中,您可以使用 '@matlab' 前缀来调用 MATLAB 服务器提供的工具,例如:
    • '@matlab.create_matlab_script script_name="my_script" code="x = 1:10; plot(x, sin(x));"' (创建 MATLAB 脚本)
    • '@matlab.execute_matlab_script script_name="my_script"' (执行 MATLAB 脚本)
    • '@matlab.call_matlab_function function_name="my_function" args=[1, 2]' (调用 MATLAB 函数,假设已定义 my_function)

具体工具的使用和参数请参考仓库 'README.md' 文件中 "Features" 部分的描述,以及代码中 '@mcp.tool()' 装饰器下方函数的文档字符串。

信息

分类

AI与计算