MATLAB MCP統合
これはMATLAB用のモデルコンテキストプロトコル(MCP)サーバーの実装です。MCPクライアント(LLMエージェントやClaude Desktopなど)は、Python用のMATLABエンジンAPIを使用して共有MATLABセッションと対話できます。
特徴
MATLAB コードの実行:
runMatlabCodeツールを使用して任意の MATLAB コード スニペットを実行します。変数の取得:
getVariableツールを使用して、MATLAB ワークスペースから変数の値を取得します。**構造化された通信:**ツールは結果とエラーを構造化された JSON として返すため、クライアントによるプログラムでの使用が容易になります。
非ブロッキング実行: MATLAB エンジン呼び出しは、サーバーのブロックを防ぐために
asyncio.to_threadを使用して非同期的に実行されます。標準ログ: Python の標準
loggingモジュールを使用して、クライアント ログでの表示のためにstderrに出力します。**共有セッション:**既存の共有 MATLAB セッションに接続します。
やるべきこと:
MATLAB ワークスペースにデータを書き込むための
setVariableツールを追加します。.mファイルを直接実行するためのrunScriptツールを追加します。ワークスペース管理用のツールを追加します (例:
clearWorkspace、getWorkspaceVariables)。より複雑なデータ型 (構造体、セル配列、オブジェクト) を処理できるように
matlab_to_pythonヘルパーを拡張します。Simulink モデルとの対話のサポートを追加します。
Related MCP server: Modal MCP Toolbox
要件
Python 3.12以上
MATLAB ( R2023a 以上を推奨- Python との互換性については MATLAB Engine API を確認してください) と Python 用 MATLAB Engine API がインストールされています。
numpyPython パッケージ。
インストール
このリポジトリをクローンします:
git clone https://github.com/jigarbhoye04/MatlabMCP.git cd MatlabMCPPython 仮想環境をセットアップします (推奨):
# 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依存関係をインストールします:
uv pip syncMATLABがインストールされ、Python環境向けにMATLABエンジンAPIが設定されていることを確認してください。MATLAB ドキュメントをご覧ください。
MATLAB を起動してエンジンを共有します。MATLABコマンド ウィンドウで次のコマンドを実行します。
matlab.engine.shareEngineMATLABで
matlab.engine.isEngineSharedを実行すると、共有エンジンであるかどうかを確認できます(trueまたは1返されるはずです)。MCPサーバーへの接続には、この共有エンジンが必要です。
構成(Claude Desktop 用)
このサーバーをClaude Desktopで使用するには:
Claude Desktop -> 設定 -> 開発者 -> 構成の編集に移動します。
claude_desktop_config.json``mcpServers開きます。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 } }重要:
C:\\Users\\username\\...パスをシステムの正しい絶対パスに置き換えてください。ファイルを保存し、 Claude Desktop を再起動します。
**ログ記録:**サーバー ログ (Python の
loggingモジュールから) は、Claude Desktop の MCP ログ ファイルに表示されます (macOS ではtail -f ~/Library/Logs/Claude/mcp-server-MatlabMCP.logでアクセスでき、Windows では%APPDATA%\Claude\logs\でアクセスできます)。
発達
プロジェクト構造:
ドキュメント
サーバーの機能、使用方法、開発ノートに関する詳細なドキュメントについては、 「アップデート」を参照してください。
貢献
貢献を歓迎します!ご提案や改善点がありましたら、お気軽に問題を報告したり、プルリクエストを送信してください。
一緒にさらに良くしていきましょう!