Re Reference AI

MCP vs ツールコーリング

MCP(Model Context Protocol)はLLMアプリケーションと外部ツール・データソースの接続方法を標準化するオープンプロトコル、Tool CallingはLLMが個々のツール呼び出しの要否と引数を判断し構造化データとして出力する仕組み。MCPはツールの提供・発見・接続という上位レイヤーを標準化し、Tool Callingはその標準化されたツールを実際に呼び出す下位レイヤーの動作にあたる。両者は代替関係ではなく組み合わせて使われる。

MCPツールコーリング

3行で違いを説明

  • Tool Callingは、LLMがどの関数・ツールをどんな引数で呼ぶかを判断し構造化データとして出力する仕組み。
  • MCPは、Tool Callingで呼び出す対象のツールやデータソースをどう提供・発見・接続するかを標準化するプロトコル。
  • MCPサーバーが提供するツールも、最終的にはTool Callingの仕組みを通じてLLMから呼び出される。
  • 小規模で単一アプリ内完結ならTool Callingのみで十分、複数アプリからツールを再利用したいならMCPが向く。

Comparison Table

ItemMCPツールコーリング
Purposeツール・データソースの提供・接続方法の標準化個々のツール呼び出しの要否判断・引数生成
DeveloperAnthropicOpenAI発、業界横断で使用
Release2024年11月2023年6月
Layerツール提供・接続レイヤー(プロトコル)個々の呼び出しレイヤー(LLMの出力形式)
CommunicationJSON-RPCによるクライアント-サーバー通信単一のAPIリクエスト/レスポンス内での構造化出力
Reusability1つのMCPサーバーを複数のLLMアプリから再利用可能呼び出し定義は通常アプリケーションごとに個別実装

Architecture

MCP

ツール・リソースを提供するMCPサーバーと、それを利用するMCPクライアント(LLMアプリケーション)から構成され、JSON-RPCで通信する。サーバーが公開する複数のツールを、クライアント側が必要に応じて選択・呼び出す。

ツールコーリング

呼び出し可能なツールの名前・説明・引数スキーマをLLMへ提示し、LLMが必要なツールと引数を構造化データとして出力する。アプリケーション側が実際の実行を担う点までを含む、1回のやり取りの仕組み。

Feature Comparison

FeatureMCPツールコーリング
ツール・データソースの標準化された提供方法
複数アプリからのサーバー再利用
個々の呼び出しの引数生成MCPクライアント経由でTool Callingの仕組みに委ねる
JSON-RPCによる通信
単体で完結する呼び出しの仕組み

Advantages

MCP

  • 一度実装したMCPサーバーを複数のLLMアプリケーションから再利用できる
  • ツール・データ連携の実装を標準化し、開発・保守の重複を減らせる

ツールコーリング

  • 専用サーバーを用意せず、APIリクエスト内で完結する軽量な仕組みで導入できる
  • 主要なLLMプロバイダで共通のパターンとして提供されており実装の再利用がしやすい

Disadvantages

MCP

  • MCPサーバーの実装・ホスティングという追加のインフラが必要になる
  • 比較的新しい仕様でエコシステムやセキュリティのベストプラクティスが発展途上

ツールコーリング

  • ツールの提供・発見方法自体は標準化されないため、連携先が増えるとアプリケーションごとの個別実装が増えやすい
  • ツールの説明や引数スキーマの設計が不十分だと誤った呼び出しが起きやすい

Best Use Cases

MCP

GitHub・Slack・社内データベース等、複数のLLMアプリケーションから共通のツール・データソースを再利用したい場合。

ツールコーリング

単一のアプリケーション内で完結する、少数の関数・APIをLLMから呼び出したい場合。

Migration

既存のTool Calling実装をMCP化する場合、個々の関数定義をMCPサーバーのツールとして再実装し、アプリケーション側はMCPクライアントとしてサーバーに接続する形に置き換える。FastMCP等のSDKを使うと、既存の関数へデコレータを追加する程度でMCPサーバー化できる場合が多い。

FAQ

MCPを使えばTool Callingは不要になる?

いいえ。MCPが標準化するのはツールの提供・接続方法であり、LLMがツールを実際に呼び出す際の仕組みとしてTool Callingは引き続き使われる。MCPクライアントは内部でTool Callingの仕組みを用いてMCPサーバーのツールを呼び出す。

小規模なアプリケーションでもMCPを使うべき?

単一アプリ内で完結する少数のツールであれば、MCPサーバーを別途用意するオーバーヘッドに見合わないことが多く、通常のTool Callingで十分な場合が多い。

参考文献

関連する比較

MCP vs ファンクションコーリング

MCPはLLMアプリケーションと外部ツール・データソースの接続方法を標準化するオープンプロトコル、Function CallingはLLMが構造化された関数呼び出しを出力する仕組み。抽象化のレイヤーが異なり、両者は代替関係ではなく組み合わせて使われる。

MCPファンクションコーリング

ファンクションコーリング vs ツールコーリング

Function CallingはOpenAIが最初に導入した、LLMに外部関数の呼び出し内容を構造化データとして出力させる仕組みの名称。Tool Callingは、対象を関数に限らずAPI・検索・コード実行等のツール全般に広げた、より一般的・業界横断的な呼び方。実装としての仕組みはほぼ同一で、名称の由来と適用範囲の広さが異なる。

ファンクションコーリングツールコーリング