第3章 アプリケーション開発 / 想定学習時間:30〜40分 / 最終確認:2026年8月

3-10. MCPサーバー連携の基礎(ツール統合)

🎯 この節の学習目標

1. MCPとは何か:ツール統合の「共通コネクタ」

MCP(Model Context Protocol)は、LLMアプリケーション(エージェント)とツール/データソースを、標準化されたプロトコルでつなぐ仕組みです。Anthropic が公開したオープン標準で、特定のベンダーやフレームワークに依存しません。

MCPがない世界では、エージェントに新しいツールを追加するたびに、そのエージェントのコードにツールごとの接続処理を個別に実装する必要がありました。エージェントがN個、ツールがM個あれば、最悪 N×M 通りの統合コードが必要です。MCPは、この接続部分を共通のプロトコルに標準化します。よく「AI版のUSBのような共通コネクタ」と説明されるのはこのためです。

登場人物役割
MCPサーバーツールやリソース(データ)を公開する側。「どんなツールがあるか」「どう呼ぶか」をプロトコルに従って提供する
MCPクライアントエージェント側。サーバーに接続してツール一覧を発見(discover)し、必要に応じて呼び出す

重要なのは、クライアントがサーバーのツール一覧を実行時に発見できることです。エージェントのコードにツールを1つずつハードコードしなくても、サーバーが公開するツール群をまとめて利用できます。

2. MCPの利点:なぜツール統合を分離するのか

3-9 ではエージェントのコード内でツールを定義しました。MCPは、そのツールの実装をエージェントの実装から切り離します。利点は次の3つです。

📝 試験のポイント

MCPについては、まず「何を標準化するものか」を一言で答えられることが重要です。答えは「LLMアプリケーション(エージェント)とツール/データソースの接続方法」です。モデルの重み形式や学習手順、プロンプトの書式を標準化するものではありません。

3. Databricks のマネージドMCPサーバー

Databricks は、プラットフォーム上の主要な機能をマネージドMCPサーバーとして公開しています。自分でサーバーを実装・運用しなくても、Databricks 上の資産をMCP経由でエージェントのツールにできます。

マネージドMCPサーバーツールとして公開されるものエージェントができること
AI SearchAI Search インデックスの検索社内ドキュメントの意味検索(RAGの検索ステージ)
Unity Catalog 関数UCに登録したSQL/Python関数(3-9)ガバナンス管理されたビジネスロジックの実行
Genie スペースGenie による構造化データへの自然言語問い合わせ売上・在庫などのテーブルデータへの質問応答

これらは Unity Catalog の権限管理の下で動作するため、「誰が(どのエージェントが)どのデータ・関数にアクセスできるか」というガバナンスを保ったままツール統合ができます。さらに、独自のツール群を公開するカスタムMCPサーバーを作る場合は、Databricks Apps 上でホストできます。

4. エージェント+MCPの構成イメージ

3-9 のエージェントのツール群を、MCP経由で供給する構成は次のようになります。

構成例:社内アシスタントエージェント

  1. エージェント(MCPクライアント) — LLM+ReActループ。起動時に各MCPサーバーへ接続し、利用可能なツール一覧を発見する
  2. マネージドMCPサーバー(AI Search) — 「製品マニュアル検索」ツールを公開
  3. マネージドMCPサーバー(Genie) — 「売上データ問い合わせ」ツールを公開
  4. マネージドMCPサーバー(UC関数) — 「為替換算」などの登録済み関数を公開
  5. カスタムMCPサーバー(Databricks Apps でホスト) — 社内チケットシステムのAPIをツールとして公開

ユーザーの質問を受けたエージェントは、発見済みのツール一覧から適切なものを選び(function calling)、MCPのプロトコルで呼び出し、結果をもとに回答します。

この構成では、たとえばチケットシステムのAPI仕様が変わっても、修正するのはカスタムMCPサーバーだけで、エージェント本体には手を入れません。また、新しいエージェントを作るときも、既存のMCPサーバー群に接続するだけでツールがそろいます。

5. 3-9のツール定義との関係:試験対策の整理

MCPは3-9で学んだツール定義・function callingを置き換えるものではなく、供給経路を標準化するものです。ツールに名前・説明・引数スキーマがあること、LLMがツール呼び出しをJSONで出力し実行結果を受け取ること(ReActループ)は変わりません。変わるのは「ツールがどこで定義・実行され、どうやってエージェントに届くか」です。

観点コード内ツール(3-9)MCP経由のツール(この節)
ツールの定義場所エージェントのコード内MCPサーバー側
ツールの追加・変更エージェントのコード修正が必要サーバー側の変更のみ。クライアントは発見し直すだけ
複数エージェントでの共有コードのコピーや共通ライブラリ化が必要同じサーバーに接続するだけ
ツール選択・実行ループ共通(function calling / ReActループ。3-9と同じ)

試験対策としては、次の2点を確実に押さえてください。

✅ この節のまとめ

練習問題

問1. MCP(Model Context Protocol)が標準化するものとして最も適切なのはどれか。

  1. LLMのモデル重みの保存形式
  2. LLMアプリケーション(エージェント)とツール/データソースの接続方法
  3. プロンプトの記述文法
  4. GPUクラスタ間の通信プロトコル
解答と解説を見る

正解:B

MCPはエージェントとツール/データソースをつなぐ接続方法(ツール統合)を標準化するオープンプロトコルです。Aのモデル形式、Cのプロンプト文法、Dのインフラ通信はいずれもMCPの対象外です。「モデル」という語が入っていても、モデルの中身ではなくモデルに文脈(ツール・データ)を供給する経路の標準であることに注意してください。

問2. MCPにおけるサーバーとクライアントの役割分担として正しいのはどれか。

  1. サーバーがLLMの推論を実行し、クライアントがツールを公開する
  2. サーバーがツール・リソースを公開し、クライアント(エージェント側)がそれらを発見して呼び出す
  3. サーバーとクライアントは同一プロセスでなければならない
  4. クライアントはツール一覧を事前にハードコードしておく必要がある
解答と解説を見る

正解:B

MCPサーバーはツール・リソースの提供側、MCPクライアントはエージェント側で、ツールの発見(discovery)と呼び出しを行います。Aは役割が逆です。Cのような制約はなく、分離されているからこそ再利用性が生まれます。Dは誤りで、実行時にサーバーからツール一覧を発見できることがMCPの利点です。

問3. Databricks のマネージドMCPサーバーを通じてエージェントのツールとして公開できるものの組み合わせとして、最も適切なのはどれか。

  1. AI Search インデックス、Unity Catalog 関数、Genie スペース
  2. クラスタの起動スクリプト、Sparkの実行計画、Delta Lakeのトランザクションログ
  3. ワークスペースの管理者権限、課金情報、監査ログ
  4. モデルの重みファイル、チェックポイント、学習データセット
解答と解説を見る

正解:A

Databricks のマネージドMCPサーバーは、AI Search(意味検索)、Unity Catalog 関数(登録済みビジネスロジック)、Genie スペース(構造化データへの自然言語問い合わせ)をエージェントのツールとして公開できます。B・C・Dはいずれもプラットフォームの内部機構や管理情報であり、エージェントのツールとしてMCPで公開する対象ではありません。

問4. 社内チケットシステムのAPIを複数のエージェントから共通のツールとして使えるようにしたい。ツールの実装をエージェントから分離し、Databricks 上でホストする方法として最も適切なのはどれか。

  1. 各エージェントのコードにAPI呼び出し処理をそれぞれ実装する
  2. チケットAPIをツールとして公開するカスタムMCPサーバーを作り、Databricks Apps でホストして各エージェントから接続する
  3. チケットシステムのデータベースを全エージェントに直接開放する
  4. APIの認証情報をプロンプトに書いてLLMに呼び出させる
解答と解説を見る

正解:B

独自ツールの共有には、カスタムMCPサーバーとして公開し Databricks Apps でホストする構成が適切です。API仕様の変更もサーバー側の修正だけで済みます。Aは実装の重複でMCPの利点(分離・再利用)を放棄しています。Cはアクセス制御を失う危険な設計です。Dは認証情報の漏えいリスクが重大で、そもそもLLM自身はAPIを直接実行できません(実行はアプリケーション側の役割。3-9)。