使用说明
项目简介
MatlabMCP Server 是一个基于 Model Context Protocol (MCP) 的服务器实现,它允许大型语言模型 (LLM) 客户端(如 Claude)通过标准化的 MCP 协议,调用 Matlab 执行代码。该服务器主要提供了一个 工具 (Tool),使 LLM 能够利用 Matlab 强大的科学计算和数据处理能力。
主要功能点
- Matlab 代码执行: 通过定义好的 'runMatlabCode' 工具,接收 LLM 客户端发送的 Matlab 代码,并在预先启动并共享的 Matlab 会话中执行。
- 工具注册与调用: 使用 'mcp.tool()' 装饰器注册 'runMatlabCode' 函数为 MCP 工具,使其可以通过 MCP 协议被 LLM 客户端发现和调用。
- 基于 Stdio 的传输: 使用标准输入输出 (stdio) 作为 MCP 服务器与客户端之间的通信协议,简化部署和集成。
- 共享 Matlab 会话: 服务器连接到一个预先启动并共享的 Matlab 会话,允许多个请求复用 Matlab 环境,提高效率。
安装步骤
- 克隆仓库: 从 GitHub 克隆 MatlabMCP 仓库到本地:
git clone https://github.com/jigarbhoye04/MatlabMCP.git cd MatlabMCP - 安装 Python 虚拟环境 (可选但推荐): 创建并激活 Python 虚拟环境,隔离项目依赖:
uv init uv venv .venv/bin/activate # 或 .venv\Scripts\activate (Windows) - 安装 Python 依赖: 虽然仓库中没有明确的依赖声明文件,但根据代码推测,可能需要安装 'mcp' 和 'matlabengine' 库。建议使用 'uv' 安装:
uv pip install mcp matlabengine - 安装 Matlab Engine API: 必须安装 Matlab 并且是 2025a 或更高版本。确保安装了适用于 Python 的 Matlab Engine API。具体安装方法请参考 Matlab 官方文档。
- 启动共享 Matlab Engine: 在 Matlab 命令行窗口中运行以下命令以共享 Matlab Engine:
并检查 Engine 是否已共享:matlab.engine.shareEngine
如果返回 'false',请再次运行 'matlab.engine.shareEngine'。matlab.engine.isEngineShared
服务器配置
要将 MatlabMCP 服务器配置到 MCP 客户端(例如 Claude Desktop),您需要编辑客户端的配置文件 (例如 'claude_desktop_config.json'),添加 MatlabMCP 服务器的配置信息。以下是一个示例配置,请根据您的实际安装路径进行调整:
{ "mcpServers": { "MatlabMCP": { // 服务器名称,客户端配置中引用此名称 "command": "C:\\Users\\username\\.local\\bin\\uv.exe", // uv 可执行文件的路径,如果使用venv,则指向虚拟环境中的 uv "args": [ "--directory", // 指定工作目录参数 "C:\\Users\\username\\MatlabMCP\\", // MatlabMCP 仓库的本地路径 "run", // uv run 命令,用于运行 Python 脚本 "main.py" // 要运行的 Python 脚本文件名 ] } } }
配置参数说明:
- '"MatlabMCP"': 服务器的名称,可以自定义,客户端通过此名称识别和调用服务器。
- '"command"': 启动服务器的命令。这里假设使用 'uv' 运行 Python 脚本。如果直接使用 'python',则需要将 'uv.exe' 替换为 Python 解释器的路径,并移除 'uv' 相关的参数。
- '"args"': 传递给启动命令的参数列表。
- '"--directory"': 指定工作目录为 MatlabMCP 仓库的根目录,确保程序能找到 'main.py' 文件。
- '"run"': 'uv run' 命令指示 'uv' 运行指定的 Python 脚本。
- '"main.py"': 指定要运行的服务器主程序文件。
请务必根据您的实际 'uv.exe' 或 Python 解释器路径、MatlabMCP 仓库路径进行调整。 如果使用 'python' 命令直接运行,配置可能简化为:
{ "mcpServers": { "MatlabMCP": { "command": "python", "args": [ "C:\\Users\\username\\MatlabMCP\\main.py" ] } } }
基本使用方法
-
启动 MatlabMCP 服务器: 配置完成后,启动 MCP 客户端(如 Claude Desktop),客户端会根据配置自动启动 MatlabMCP 服务器。您也可以在 MatlabMCP 仓库目录下,手动运行 'uv run main.py' 或 'python main.py' 来启动服务器。
-
在 LLM 客户端中使用: 在支持 MCP 协议的 LLM 客户端中,配置并连接到名为 "MatlabMCP" 的服务器。
-
调用 'runMatlabCode' 工具: 在 LLM 的 Prompt 中,指示 LLM 使用 "MatlabMCP" 服务器提供的 'runMatlabCode' 工具,并提供需要执行的 Matlab 代码作为工具的参数。例如,在 Claude 中,您可以使用类似以下的 Prompt:
请使用 MatlabMCP 服务器的 runMatlabCode 工具执行以下 Matlab 代码: ```matlab x = 1:10; y = sin(x); plot(x, y); title('Sine Wave');LLM 客户端会将 Prompt 转换为 MCP 请求发送给 MatlabMCP 服务器,服务器执行 Matlab 代码后,将结果返回给客户端。
注意: MatlabMCP 服务器依赖于预先启动并共享的 Matlab 会话。请确保在启动服务器之前,已经启动 Matlab 并运行了 'matlab.engine.shareEngine' 命令。
信息
分类
AI与计算