MATLAB集成服务

MATLAB MCP集成服务是一个实现模型上下文协议(MCP)的服务,允许MCP客户端通过Python的MATLAB引擎API与共享的MATLAB会话交互。

  • by jigarbhoye04
  • Python
  • 本地部署
  • 20 星标
  • 更新于
在 GitHub 查看 jigarbhoye04/MatlabMCP

使用说明

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。
  • numpy Python包。

安装

  1. 克隆此存储库:

    git clone https://github.com/jigarbhoye04/MatlabMCP.git
    cd MatlabMCP
    
  2. 设置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
    
  3. 安装依赖项:

    uv pip sync
    
  4. 确保安装了MATLAB,并为您的Python环境配置了用于Python的MATLAB引擎API。看 MATLAB文档.

  5. 启动MATLAB并共享其引擎: 在MATLAB命令窗口中运行以下命令:

    matlab.engine.shareEngine
    

    您可以通过运行验证它是否共享 matlab.engine.isEngineShared 在MATLAB中(它应该返回 true 或 1).MCP服务器需要此共享引擎才能连接。

配置(适用于Claude Desktop)

要将此服务器与Claude Desktop一起使用,请执行以下操作:

  1. 转到克劳德桌面->设置->开发人员->编辑配置。

  2. 这将打开 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
      }
    }
    
  3. 重要: 替换 C:\\Users\\username\\... 正确的路径 绝对路径 为您的系统。

  4. 保存文件并 重新启动克劳德桌面.

  5. 登录中: 服务器日志(来自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

文档

结账 更新 有关服务器功能、用法和开发说明的详细文档。

贡献

欢迎投稿!如果您有任何建议或改进,请随时打开问题或提交拉取请求。

让我们一起让这变得更好!