mcpField
M
MATLAB MCP Integration

MATLAB MCP Integration

ローカル
github.com/jigarbhoye04開発ツール2068 週間前に更新

MATLAB MCP Integration について

MATLAB MCP Integration は、MATLAB Engine API for Python を介して、LLM エージェントや Claude Desktop などのクライアントから共有 MATLAB セッションでコードを実行できる MCP サーバーです。AI ワークフローに MATLAB を組み込みたい利用者を対象としています。

主な機能

  1. 01runMatlabCode ツールによる MATLAB コードの実行
  2. 02getVariable ツールによるワークスペース変数の取得
  3. 03結果とエラーの構造化 JSON 出力
  4. 04エンジン呼び出しの非同期実行によるブロッキング回避
  5. 05既存の共有 MATLAB セッションへの接続

活用シーン

  1. 01LLM から MATLAB スクリプトを実行し計算結果を受け取る
  2. 02Claude Desktop から MATLAB のワークスペース変数を読み取る
  3. 03開いている MATLAB セッションで分析を繰り返し実行する

MCP 対応

MCP サーバーとして、runMatlabCode と getVariable のツールを MCP クライアントに提供し、共有 MATLAB エンジン経由で実行します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MATLAB MCP 統合

これは、MATLAB 用の Model Context Protocol(MCP)サーバーの実装です。MATLAB Engine API for Python を使用して、MCP クライアント(LLM エージェントや Claude Desktop など)が共有 MATLAB セッションを操作できるようにします。

機能

  • MATLAB コードの実行: runMatlabCode ツールを使用して、任意の MATLAB コードスニペットを実行します。
  • 変数の取得: getVariable ツールを使用して、MATLAB ワークスペース内の変数の値を取得します。
  • 構造化された通信: ツールは結果とエラーを構造化 JSON として返すため、クライアントからプログラムで簡単に利用できます。
  • ノンブロッキング実行: サーバーのブロッキングを防ぐため、MATLAB エンジンの呼び出しは asyncio.to_thread を使用して非同期で実行されます。
  • 標準ロギング: Python の標準 logging モジュールを使用し、クライアントのログで確認できるように stderr に出力します。
  • 共有セッション: 既存の共有 MATLAB セッションに接続します。

ヒント

DEVIN による MatlabMCP の Wikipedia です。 アーキテクチャの詳細で図解入りの情報については、DeepWiki をご覧ください。

要件

  • Python 3.12 以降
  • MATLAB(R2023a 以降を推奨。MATLAB Engine API for Python との互換性をご確認ください)と、MATLAB Engine API for Python がインストールされていること。
  • numpy Python パッケージ。

インストール

  1. このリポジトリをクローンします:

    git clone https://github.com/jigarbhoye04/MatlabMCP.git
    cd MatlabMCP
    
  2. Python 仮想環境をセットアップします(推奨):

    # まだインストールしていない場合は uv をインストールします:https://github.com/astral-sh/uv
    uv init
    uv venv
    source .venv/bin/activate  # Windows の場合:.venv\Scripts\activate
    
  3. 依存関係をインストールします:

    uv pip sync
    
  4. MATLAB がインストールされ、MATLAB Engine API for Python が Python 環境用に設定されていることを確認します。詳しくは MATLAB ドキュメントをご覧ください。

  5. MATLAB を起動してエンジンを共有します: MATLAB のコマンドウィンドウで次のコマンドを実行します:

    matlab.engine.shareEngine
    

    MATLAB で matlab.engine.isEngineShared を実行すると、共有状態を確認できます(true または 1 が返されます)。MCP サーバーは接続にこの共有エンジンを必要とします。

設定(Claude Desktop の場合)

このサーバーを Claude Desktop で使用するには:

  1. Claude Desktop -> Settings -> Developer -> Edit Config に移動します。

  2. claude_desktop_config.json が開きます。mcpServers セクションに MatlabMCP の設定を追加するか、既存の設定を変更します:

    {
      "mcpServers": {
        "MatlabMCP": {
          "command": "C:\\Users\\username\\.local\\bin\\uv.exe", // uv 実行ファイルへのパス
          "args": [
            "--directory",
            "C:\\Users\\username\\Desktop\\MatlabMCP\\", // クローンしたリポジトリディレクトリへの絶対パス
            "run",
            "main.py"
          ]
          // 必要に応じて環境変数を追加します(任意)
          // "env": {
          //   "MY_VAR": "value"
          // }
        }
        // 他にも MCP サーバーがある場合は、ここに追加します
      }
    }
    
  3. 重要: C:\\Users\\username\\... のパスを、ご使用のシステムに合った絶対パスに置き換えてください。

  4. ファイルを保存し、Claude Desktop を再起動します。

  5. ロギング: サーバーログ(Python の logging モジュールによるもの)は Claude Desktop の MCP ログファイルに表示されます(macOS では tail -f ~/Library/Logs/Claude/mcp-server-MatlabMCP.log を実行するか、Windows では %APPDATA%\Claude\logs\ を確認してください)。

開発

プロジェクト構成:

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

ドキュメント

サーバーの機能、使用方法、開発に関するメモの詳細については、Updates をご覧ください。

貢献

貢献を歓迎します!ご提案や改善点があれば、お気軽に issue を作成するか、プルリクエストを送信してください。

一緒にさらに良いものにしていきましょう!

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。