/ ディレクトリ / プレイグラウンド / MATLAB
● 公式 matlab 🔑 自分のキーが必要

MATLAB

作者 matlab · matlab/matlab-mcp-core-server

AIエージェントからMATLABコードの実行、テスト、ツールボックスの操作が可能 — MathWorks公式MCP。

MathWorks公式のMATLAB MCPです。エージェントがMATLAB式の評価、.mスクリプトファイルの実行、ユニットテストの実行、インストール済みツールボックスの検出を行えます。LLMの推論能力とMATLAB上の数値計算・シミュレーションワークロードを橋渡しします。

なぜ使うのか

主な機能

ライブデモ

実際の動作

matlab.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "matlab": {
      "command": "uvx",
      "args": [
        "matlab-mcp-core-server"
      ]
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "matlab": {
      "command": "uvx",
      "args": [
        "matlab-mcp-core-server"
      ]
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "matlab": {
      "command": "uvx",
      "args": [
        "matlab-mcp-core-server"
      ]
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "matlab": {
      "command": "uvx",
      "args": [
        "matlab-mcp-core-server"
      ]
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "matlab",
      "command": "uvx",
      "args": [
        "matlab-mcp-core-server"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "matlab": {
      "command": {
        "path": "uvx",
        "args": [
          "matlab-mcp-core-server"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add matlab -- uvx matlab-mcp-core-server

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: MATLAB

MATLABスクリプトの生成・解析・実行

👤 エンジニアリング研究者、制御/DSPエンジニア ⏱ ~20 min intermediate

使うタイミング: MATLABで対話的に計算をプロトタイピングしたいとき — 生成、実行、調整、繰り返し。

前提条件
  • MATLAB R2020b以上がインストール済みでPATHに登録されていること — ターミナルからmatlab -helpが実行できることを確認
  • MATLABがPersonal Automation Serverとして登録されていること — MATLABでmatlab.engine.shareEngineを一度実行 — MCP READMEを参照
フロー
  1. 機能の確認
    インストール済みのMATLABツールボックスを検出してください。Signal ProcessingとControl Systemが必要です。✓ コピーしました
    → バージョン付きのリスト。エージェントが使用可能な機能を把握
  2. スクリプトの生成
    signal.matを読み込み、50HzのButterworthローパスフィルタを適用し、適用前後をプロットするMATLABスクリプトを作成してください。./lp_filter.mとして保存。✓ コピーしました
    → .mファイルが作成される
  3. チェックして実行
    lp_filter.mに対してcheck_matlab_codeを実行してください。問題があれば修正し、run_matlab_fileで実行してプロットのパスを返してください。✓ コピーしました
    → 静的チェック通過、スクリプト実行完了、出力図が保存される

結果: ウィンドウを切り替えることなく、数分でMATLABプロトタイプが完成します。

注意点
  • 相対パスが機能しない — MATLABは独自の作業ディレクトリで起動するscript_pathおよびスクリプト内では常に絶対パスを使用するか、最初の行でcdで対象ディレクトリに移動する
  • 非インタラクティブモードでuiopen/plotウィンドウによりスクリプトがハングするfigure('Visible','off')を使用し、表示の代わりにsaveas()でファイルに保存する
組み合わせ: filesystem

MATLABユニットテストの実行と失敗の反復修正

👤 MATLABコードベースを保守するエンジニア ⏱ ~20 min intermediate

使うタイミング: テストスイート(matlab.unittest)があり、エージェントに実行させてリグレッションの修正を支援してほしいとき。

前提条件
  • matlab.unittestを使用したテストファイル — matlab.unittest.TestCaseを継承するクラス
フロー
  1. スイートの実行
    ./tests/MyAlgorithmTest.mのテストを実行してください。メソッドごとの合格/不合格とエラーテキストを返してください。✓ コピーしました
    → 構造化されたテストレポート
  2. 診断
    各失敗について、アサーション内容と実装を読み、差異を説明してください。✓ コピーしました
    → 失敗ごとの根本原因
  3. 修正と再実行
    実装に最小限の修正を適用してください(テストではなく)。全て通るまで再実行。✓ コピーしました
    → 全テスト合格

結果: エージェント主導でMATLABコードのTDDループを実現します。

注意点
  • テストがMATLABパス上にないファイルに依存している — テスト冒頭でaddpath(genpath(pwd))を追加するか、project_pathを明示的に指定する

組み合わせ

他のMCPと組み合わせて10倍の力を

matlab + filesystem

データファイルを読み込み → MATLAB計算を実行 → 結果ファイルを保存

./data/*.csvを読み込み、各ファイルを処理するMATLABスクリプトを作成し、出力を./processed/に保存してください。実行して結果を確認。✓ コピーしました
matlab + git

エージェントが生成したスクリプトをバージョン管理する

MATLAB解析スクリプトを生成し、実行して結果を確認したら、説明的なメッセージを付けてスクリプトをコミットしてください。✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
detect_matlab_toolboxes 最初のステップ — 使用可能な機能を把握する free
check_matlab_code script_path (absolute) 実行前にリント — 明らかな問題を素早く検出 free
evaluate_matlab_code code: str, project_path (absolute) 単発の式やインラインコードの実行 free
run_matlab_file script_path (absolute) 保存済みの.mファイルを実行する free
run_matlab_test_file script_path (absolute) 構造化されたテスト実行 free

コストと制限

運用コスト

APIクォータ
なし — ローカルでのMATLAB実行
呼び出しあたりのトークン
スクリプト出力が大きくなる場合があります(プロット、テーブル)。返却データに上限を設定してください。
金額
MATLABライセンスが必要(無料ではありません)。MCP自体は無料です
ヒント
大きな数値行列をレスポンスに含める代わりに、エージェントにプロットをファイルに書き出させてください

セキュリティ

権限、シークレット、影響範囲

認証情報の保管: なし — ローカル実行
データ送信先: なし — MATLABはローカルで動作

トラブルシューティング

よくあるエラーと対処法

初回呼び出し時に'MATLAB engine not found'が発生

MATLABをPersonal Automation Serverとして登録してください:MATLABでmatlab.engine.shareEngineを実行し、その後MCPを再起動します。

確認: ターミナルから: `python -c 'import matlab.engine; matlab.engine.find_matlab()'` — エンジンの一覧が表示されるはずです
スクリプトが'Undefined function'エラーで失敗する

その関数はインストールされていないツールボックスに含まれているか、MATLABパスに登録されていません。detect_matlab_toolboxesを実行して確認してください。

check_matlab_codeで問題なしだが実行時に失敗する

mlintは構文エラーを検出しますが、意味的な誤りは検出しません。evaluate_matlab_codeで小さなテスト入力を使用してロジックを検証してください。

長時間実行スクリプトがタイムアウトする

MCPクライアントには呼び出しごとのタイムアウトがあります。スクリプトをステージに分割し、中間結果をディスクに保存して、ステージごとに実行してください。

代替案

MATLAB 他との比較

代替案代わりに使う場面トレードオフ
Octave via shell MCPMATLABライセンスがなく、オープンソースが必要な場合コア機能は構文互換ですが、ツールボックスは大きく異なることが多い
Python (numpy/scipy) via a Python-exec MCPワークフローをPythonに移行してもよい場合無料で巨大なエコシステムがありますが、MATLAB固有のツールボックス(Simulinkなど)は利用できません

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る