mcpField
M
MathCAD MCP Server

MathCAD MCP Server

ローカル
github.com/hvkshetry科学・教育2083 週間前に更新

MathCAD MCP Server について

MathCAD MCP サーバーは、Windows の COM 自動化を通じて PTC MathCAD Prime を操作する MCP サーバーで、AI アシスタントがワークシートを扱えるようにします。単位を考慮した値の入出力や、結果の書き出しを AI クライアントから行いたいエンジニアや研究者を想定しています。

主な機能

  1. 01ワークシートの開く、閉じる、保存
  2. 02単位を含む入力と出力へのアクセス
  3. 03計算の一時停止、再開、再計算
  4. 04PDF、RTF、XPS 形式へのエクスポート
  5. 05読み取り専用と変更状態の確認

活用シーン

  1. 01AI アシスタントによるパラメーター変更と工学計算結果の取得
  2. 02MathCAD ワークシートの PDF 書き出し
  3. 03入力値を変えた場合の梁のたわみの検討

MCP 対応

このプロジェクトは MCP サーバーであり、ワークシート管理、入出力へのアクセス、計算制御のためのツール、リソース、プロンプトテンプレートを MCP クライアントに公開します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

MathCAD MCP サーバー

PTC MathCAD Prime との連携を提供する Model Context Protocol(MCP)サーバーです。Claude などの AI アシスタントが、標準化されたインターフェースを通じて MathCAD ワークシートを操作できます。

機能

  • ワークシート管理:MathCAD ワークシートを開く、閉じる、保存する
  • 入力制御:単位付きの数値、文字列、行列を設定する
  • 出力へのアクセス:適切な単位付きで計算結果を取得する
  • 計算管理:ワークシートの計算を一時停止、再開、再実行する
  • エクスポートオプション:ワークシートを PDF、RTF、XPS ファイルとして保存する

要件

  • Windows オペレーティングシステム(MathCAD の COM オートメーションに必要)
  • Python 3.10 以降
  • PTC MathCAD Prime 3.0 以降がインストールされていること
  • 依存関係:MathcadPy、pywin32、MCP Python SDK(requirements.txt を参照)

インストール

Claude Desktop を使った簡単なインストール
  1. 必要な依存関係をインストールします:

    pip install -r requirements.txt
    
  2. インストールスクリプトを実行します:

    python install_standalone.py
    

    オプション:

    • 実行時に MathCAD ウィンドウを非表示にするには、--hide フラグを使用します:python install_standalone.py --hide
  3. 変更を反映するため、Claude Desktop を再起動します。

手動設定

Claude Desktop の設定ファイル(Mac の場合は ~/Library/Application Support/Claude/claude_desktop_config.json、Windows の場合は %APPDATA%\Claude\claude_desktop_config.json)を編集します:

{
  "mcpServers": {
    "mathcad": {
      "command": "python",
      "args": [
        "path/to/mathcad-mcp/standalone.py"
      ],
      "env": {
        "MATHCAD_VISIBLE": "true"
      }
    }
  }
}

使用方法

ツール

このサーバーは、次の MCP ツールを公開します:

  • list_mathcad_version:実行中の MathCAD のバージョンを取得する
  • open_worksheet:ファイルパスから MathCAD ワークシートを開く
  • close_worksheet:指定したワークシートを閉じる
  • close_all_worksheets:開いているすべてのワークシートを閉じる
  • quit_mathcad:MathCAD アプリケーションを終了する
  • save_worksheet:ワークシートを指定したパスと形式で保存する
  • save_worksheet_inplace:ワークシートを現在の場所に保存する
  • activate_worksheet:ワークシートを最前面に表示する
  • set_real_input:単位を任意で指定して数値入力を設定する
  • set_string_input:文字列入力を設定する
  • set_matrix_input:単位を任意で指定して行列入力を設定する
  • get_input:指定した入力(実数/文字列/行列)の現在の値を取得する
  • get_matrix_input:指定した行列入力の現在の値を取得する
  • calculate_worksheet:ワークシートを再計算する
  • sync_worksheet:ワークシートの計算を行うエイリアス
  • pause_calculation:ワークシートの計算を一時停止する
  • resume_calculation:ワークシートの計算を再開する
  • get_output:指定した出力値(実数、文字列、または行列)を取得する
  • get_real_output:ワークシートから数値の出力値を取得する
  • get_real_output_with_units:指定した単位に変換して数値の出力値を取得する
  • get_matrix_output:ワークシートから行列の出力を取得する
  • get_matrix_output_with_units:単位を変換して行列の出力を取得する
  • save_as_pdf:ワークシートを PDF ファイルとして保存する(Mathcad Prime 5 以降のみ)
  • save_as_rtf:ワークシートを RTF ファイルとして保存する
  • save_as_xps:ワークシートを XPS ファイルとして保存する
  • is_worksheet_readonly:ワークシートが読み取り専用かどうかを確認する
  • is_worksheet_modified:ワークシートに未保存の変更があるかどうかを確認する
  • set_worksheet_modified:ワークシートの「変更済み」ステータスを強制的に設定する
リソース

このサーバーは、次の MCP リソースを公開します:

  • mathcad://worksheets:開いているすべてのワークシートを一覧表示する
  • mathcad://worksheets/paths:ファイルパスを含めてワークシートを一覧表示する
  • mathcad://worksheet/{worksheet_name}/inputs:ワークシート内の入力を一覧表示する
  • mathcad://worksheet/{worksheet_name}/outputs:ワークシート内の出力を一覧表示する
  • mathcad://worksheet/{worksheet_name}/output/{output_name}:特定の出力値を取得する
  • mathcad://worksheet/{worksheet_name}/output/{output_name}/matrix:行列の出力を取得する
  • mathcad://worksheet/{worksheet_name}/output/{output_name}/with_units/{units}:単位を変換して出力を取得する
  • mathcad://worksheet/{worksheet_name}/info:ワークシートに関する情報を取得する
  • mathcad://worksheet/{worksheet_name}/status:ワークシートのステータスを取得する
プロンプトテンプレート

サーバーは、MathCAD 関連のタスクを支援する次のプロンプトテンプレートを提供します。

  • solve_equation:数式を解くためのテンプレート
  • plot_function:関数をプロットするためのテンプレート
  • analyze_engineering_problem:工学的な問題を分析するためのテンプレート
  • unit_conversion:単位変換タスクのためのテンプレート
  • create_worksheet_template:新しいワークシートテンプレートを作成するためのテンプレート

ワークフローの例

例 1:物理の問題を解く
1. Open an existing MathCAD worksheet:
   "Can you open my physics worksheet at C:\Users\username\Documents\Physics\projectile_motion.mcdx?"

2. Set input parameters:
   "Set the initial velocity to 50 m/s and the launch angle to 30 degrees."

3. Calculate the results:
   "Now calculate the trajectory and show me the maximum height and distance."

4. Extract output values:
   "What's the maximum height reached by the projectile?"
例 2:工学的な分析
1. Open or create a worksheet for analysis:
   "I need to analyze a beam deflection problem. Can you open the structural_analysis.mcdx worksheet?"

2. Configure the worksheet:
   "Set the load P to 5000 N, beam length L to 2 m, Young's modulus E to 200 GPa, and moment of inertia I to 4×10⁻⁶ m⁴."

3. Run the calculation:
   "Calculate the worksheet and tell me the maximum deflection."

4. Export the results:
   "Save the worksheet as a PDF so I can include it in my report."

環境変数

  • MATHCAD_VISIBLE:MathCAD アプリケーションのウィンドウを表示する場合は「true」(デフォルト)、非表示にする場合は「false」に設定します。

アーキテクチャ

このサーバーは、MCP Python SDK の FastMCP フレームワークを使用して構築されています。主なコンポーネントは次のとおりです。

  • standalone.py:MathCAD と連携する自己完結型のサーバースクリプト
  • install_standalone.py:Claude Desktop にサーバーをインストールするためのユーティリティスクリプト

トラブルシューティング

よくある問題
COM オートメーションエラー

COM オートメーションエラーが発生した場合は、次の点を確認してください。

  • MathCAD がインストールされ、正しくライセンス認証されていることを確認します
  • Windows で実行していることを確認します
  • MathCAD と MCP サーバーを再起動してみます
ワークシートが見つからない

ワークシートが見つからない場合は、次の点を確認してください。

  • 相対パスではなく、絶対パスを使用します
  • ファイルパスが正しくエスケープされていることを確認します
  • ファイルが存在し、有効な .mcdx ファイルであることを確認します
単位変換の問題

単位変換に失敗する場合は、次の点を確認してください。

  • 単位間に互換性があることを確認します(例:長さを質量に変換することはできません)
  • 正しい単位記号が使われていることを確認します(例:メートルには「m」を使用します)
  • 標準的な単位形式を使用してみます(例:「m*s^(-1)」ではなく「m/s」を使用します)

ライセンス

このプロジェクトは MIT License の下でライセンスされています。詳細については、LICENSE ファイルを参照してください。

謝辞

コメント

MCP は初めてですか?

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

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