Web APIとMCPサーバの違い

違いについて簡単にまとめておきます。

どちらもリソースや機能を外部に公開して、第三者に使ってもらうための機能という観点では同じです。

これまでは 「外部サービスがREST APIやGraphQL APIを公開し、それをAIやクライアントが直接呼び出す」 という構造でした。
MCP(Model Context Protocol)は、これを一歩抽象化した 「AIに最適化されたAPIの公開方法」 と考えると分かりやすいと思います。

利用者の想定

従来のWeb API
→ 主に「人間の開発者」が呼び出す前提。
→ ドキュメントを読んでエンドポイントやリクエスト形式を理解し、実装する必要がある。

MCPサーバ
→ 主に「AIエージェント」が利用する前提。
→ 機能一覧(カタログ)を自動で渡すので、エージェントは「何ができるか」を自分で学習して使える。

機能の公開方法

従来のWeb API

  • 各サービスがそれぞれ異なる形式(REST, GraphQL, SOAPなど)。
  • パラメータ仕様も統一されていない。

MCPサーバ

  • 標準化されたJSON-RPC を使う。
  • 「ツール一覧」「リソース一覧」「イベント一覧」という共通インターフェースを提供。
  • どのサービスであっても同じ形式でAIが理解できる。

抽象度の違い

従来のWeb API

  • 「エンドポイント = 機能」という低レベルな公開。
  • 例: /drive/v3/files?q=... のような細かい指定が必要。

MCPサーバ

  • 「このサービスはファイル検索できますよ」 と抽象化して提示。
  • エージェントは「ユーザーの意図」を解釈して自動的にパラメータを埋めて呼び出せる。