開発元公式のMCPサーバー

Understand

はじめに

以前弊社で独自にMCPサーバーを構築したブログを公開しておりましたが、Understand 7.2では開発元から正式なMCPサーバーが提供されるようになりました。今回はこちらの機能の概要と、設定方法について記載したいと思います。
※MCPサーバーのご利用には「Understand フローティング with API」ライセンスが必要です。

MCPサーバー

MCPサーバーはPythonスクリプトとしてUnderstand 7.2 build 1252のインストールフォルダーに格納されています。

C:\Program Files\SciTools\plugins\Scripts\Python\MCP

フォルダーの中には2つのPythonファイルがあります。それぞれ特徴がありますので、使用目的によって選択してください。

ここでは簡単な使用を想定し、mcp_server_for_understand_llm_optimized.pyを選択します。

MCPサーバーを設定する

MCPサーバーをVSCodeに設定する手順を記載します。以前とは設定手順も変わってきているので、改めて最新の手順として紹介します。
この記事ではGithub Copilotを使用した例を紹介します。

Python 3.14のインストール

Python3.14が環境にインストールされている必要があります。未インストールの場合はこちらからダウンロード、インストールしてください。

MCPサーバーモジュールのインストール

MCPサーバーを構築するためのPythonモジュールを準備します。開発元MCPサーバーもFastMCPを使用して作成されています。
FastMCP:jlowin/fastmcp: 🚀 The fast, Pythonic way to build MCP servers and clients
Pythonパッケージとして公開されていますので、インストールはpipから可能です。

pip install fastmcp

MCPサーバーの登録

GitHub Copilotに対しMCPサーバーを登録する必要があります。簡単な構成ファイルをmcp.jsonとして作成することで登録可能です。作成箇所によって影響範囲が異なります。ここではプロジェクト専用にするため、プロジェクトルートフォルダー配下に.vscodeフォルダーを作成し、その中にmcp.jsonを作成します。

■MCPの読み込み箇所
ユーザー単位:C:\Users\<ユーザー名>\AppData\Roaming\Code\User\mcp.json
プロジェクト単位:VSCodeで開くフォルダーの直下の.vscode\mcp.json

・mcp.json

{
  "servers": {
    "understand-mcp-server": {
      "command": "C:\\Users\\user01\\AppData\\Local\\Programs\\Python\\Python314\\python.exe",
      "args": [
        "C:\\Program Files\\SciTools\\plugins\\Scripts\\Python\\MCP\\mcp_server_for_understand_llm_optimized.py",
        "C:\\work\\zlib\\zlib.und"
      ],
      "env": {
        "PYTHONPATH": "C:\\Program Files\\SciTools\\bin\\pc-win64\\Python",
        "UNDERSTAND_DLL_DIR": "C:\\Program Files\\SciTools\\bin\\pc-win64\\"
      },
      "type": "stdio"
    }
  },
  "inputs": []
}

項目    説明
command実行ファイルを指定します。ここではPythonとなるので、python.exeのパスを指定します。
argsMCPを実行するための引数です。
第一引数:MCPサーバーのPythonファイルパス
第二引数:対象のUnderstandプロジェクトパス
env必要な環境変数を定義します。ここに書くとユーザー環境変数を作成する必要はありません。
PYTHONPATH:UnderstandのPythonフォルダーを指定
UNDERSTAND_DLL_DIR:Understandの実行ファイルのあるパスを指定
typeMCPサーバーとの通信方式を指定します。ここではローカル環境で実行するため、「stdio」を指定します

MCPサーバーを使用する

使用する際は、AIチャットの設定を確認します。

  • AIチャット欄の「エージェントの設定」ボタンを押し、「Agent」を選択します。
  • 「ツールの構成」ボタンを押し、「UNDERSTAND_MCP」にチェックがあるかを確認します。無い場合はチェックをいれてください。

実際にプロンプトを投げてみます。

入力プロンプト:adler32_z関数のCyclomatic Complexityメトリクスの値を取得してください。

正常に取得することができました。このMCPサーバーでは、ツールごとにAIに対するツールの使用説明が詳細に記載されているため、プロンプトが単純でも意図した動作をしてくれる印象です。

トークン消費について

GitHub Copilot CLIにて同様のプロンプトを送ることで、その応答までのトークン消費を確認することができます。MCPを使用した場合とそうでない場合を簡単に比べてみました。入力プロンプトは同じものを使用しました。

・MCPなし・・・3.2kトークン

/contextコマンドで現在のトークン使用量が分かります。Messagesを参考にします。


・MCPあり・・・338トークン

MCPを使用した場合、結果を出力するためのトークン消費はMCPなしに比べて約89.4%削減されていました。計算量や関数のサイズにもよりますが、大きな消費削減であることが分かります。
因みに、mcp_server_for_understand_llm_optimized.pyの取込みに13.4kトークン(/mcp showコマンドを参照)が使用されますが、セッション中はキャッシュされます。

/mcp showコマンドの結果

トークン使用量に関しては、今後、別のブログ記事などでまとめていきたいと思います。

まとめ

開発元の正式なMCPは、プロジェクト内の関数や変数などの基本情報や参照情報などの正確な情報を取得することができます。これを活用することで、AI活用において懸念される誤情報の検出などを抑制し、同時にトークン消費も抑えることができます。
また、MCPサーバーはPythonファイルですので、ご自身で必要なツールを追加したりと自由にカスタマイズも可能です。是非一度お試しください。