APIは「サービスやシステムが外部から機能を利用するための窓口」で、MCPは「AIアプリが外部のツールやデータを扱うための共通プロトコル」となります。
まぁ、なんだかよく区別のつかないAPIとMCP、MCPはAPIの代わりになるものではなく、MCPサーバーの内部でAPIを呼び出す構成もありますが、データベースやファイル、コマンドラインツール、独自の処理などを直接扱うこともできます。
APIとMCPは同じ場所を取り合う技術ではなく、役割が違うんです。
APIは「サービスの窓口」、MCPは「AIと外部機能をつなぐ共通プロトコル」
APIは、ソフトウェア同士が機能やデータをやり取りするための仕組みで、天気予報サービスなら天気情報を取得するAPI、カレンダーなら予定を取得・登録するAPI、決済サービスなら決済処理を行うAPIなどがあります。
それぞれのサービスが、URL、リクエスト方法、データ形式、認証方法などを定めている一方、MCP(Model Context Protocol)は、AIアプリケーションと外部のデータやツールを接続するためのオープンなプロトコルです。
Anthropicが2024年11月25日に発表した後、MCPはオープンな標準として広がり、2025年12月にはAnthropicがMCPをLinux Foundation傘下のAgentic AI Foundationへ寄贈し、現在は特定のAIサービスだけの仕組みではなく、複数のAI開発環境で利用される共通プロトコルとして位置づけられています。
イメージすると、次のような関係。
ユーザー
↓
AIアプリ
↓ MCP
MCPサーバー
↓
API・データベース・ファイル・CLIなど
↓
外部サービスやデータ
ここで重要なのは、MCPサーバーの下にあるものがAPIとは限らないことで、MCPサーバーが社内データベースを直接検索したり、パソコン上のファイルを読み取ったり、コマンドラインツールを実行したりする構成なども考えられます。
そのため、「MCPはAPIを置き換えるもの」というものではなく、AIアプリと外部の機能・データを共通の方法で接続するための層と考えるほうが分かりやすくなります。
APIとMCPの違いを具体例で比べる
たとえば、社内の予定表サービスをAIに操作させるケースを考えてみましょう。
APIだけで作る場合
開発者は予定表サービスのAPI仕様を確認し、予定の取得や登録を行うプログラムを作ります。
さらにAIにその機能を使わせるには、AIアプリ側で「どの機能を呼べるのか」「どんな引数を渡すのか」「結果をどう受け取るのか」といった処理を組み込む必要があります。
別のAIアプリで同じサービスを利用する場合には、そのAIアプリ側でも対応が必要になることがあります。
MCPを使う場合
予定表サービスに接続するMCPサーバーを用意します。
MCPに対応したAIアプリは、そのMCPサーバーが公開するツールやリソースなどを、MCPという共通のプロトコルを通じて扱えます。
MCPサーバーの内部では、予定表サービスのAPIを呼び出しても構いません。
この場合の構造は、
AIアプリ → MCP → MCPサーバー → 予定表API → 予定表サービス
となります。
ただし、MCPサーバーが必ずAPIを経由するわけでもなく、
AIアプリ → MCP → MCPサーバー → データベース
という構成も可能となっています。
つまり、MCPとAPIは「どちらを使うか」という単純な二択ではなく、APIはサービスやシステムの機能を外部から利用するためのインターフェースで、MCPはAIアプリが外部のツールやデータを扱うための共通プロトコル。
この違いを押さえると、両者の関係が分かりやすくなります。
MCPは「個別の接続方法」を共通化する
MCPのメリットを理解するには、AIアプリや外部サービスが増えた場合を考えると分かりやすくなります。
AIアプリごとに、それぞれの外部サービスへ個別の接続方法を用意すると、サービスが増えるたびに対応する範囲も広がります。
たとえば、AIアプリが複数あり、接続したいサービスも複数ある場合、それぞれの組み合わせに合わせて異なる接続処理を作る必要が出てきますが、MCPを使えば、AIアプリ側はMCPに対応し、サービス側はMCPサーバーを用意することで、共通のプロトコルを使って接続できます。
そのため、MCPのメリットは、AIと外部サービスの組み合わせが増えても、毎回ゼロから接続方法を設計する必要を減らせることであり、これがMCPが「USB-C」にたとえられる理由の一つでもあります。
機器ごとに異なる専用の接続方法を用意するのではなく、共通の方式に対応することで接続しやすくするという考え方なのですが、MCPに対応したからといって、すべてのAIアプリとサービスが何の設定もなく自動的につながるわけでもありません。
認証、権限、対応する仕様、サービス固有の処理などは、別途考える必要があります。
MCPの基本的な仕組み
MCPでは、AIアプリ側とMCPサーバー側がプロトコルを介して通信します。
一般的な構成では、AIアプリケーションがホストとなり、その中のMCPクライアントがMCPサーバーと通信します。
MCPサーバーは、AIアプリに外部のツールやデータを提供します。
代表的なものが次の3つ。
- Tools(ツール):AIが実行できる操作
- Resources(リソース):AIやアプリケーションが参照できるデータ
- Prompts(プロンプト):あらかじめ用意された指示やテンプレート
たとえば、
- ツール:予定を登録する、ファイルを検索する
- リソース:文書、データベースの情報、ファイルの内容
- プロンプト:特定の作業で使う指示テンプレート
といったもので、通常のAPIでも似た機能を作ることはできますが、違いは、MCPではAIアプリとサーバーの間で、こうした機能を公開・利用するための共通の方式が定められていること。
そのため、MCPに対応したAIアプリは、個々のサービスごとにまったく異なる方式を学習するのではなく、共通のプロトコルを通じツールやリソースを扱えます。
なお、MCPにはこの3種類だけでなく、認証や拡張機能など、さまざまな仕組みがあります。
MCPの通信方法も共通化されている
MCPでは、メッセージの形式としてJSON-RPCが使われます。
通信方法には、ローカルでMCPサーバーを起動する場合のstdioや、リモートのサーバーと通信するためのStreamable HTTPがあります。
ここでも重要なのは、MCPが「APIそのもの」ではなく、AIアプリとMCPサーバーの間でやり取りするためのプロトコルだという点です。
また、MCPの仕様は更新されています。
2026年7月28日に公開された仕様では、従来のプロトコルレベルのセッションやinitializeによるハンドシェイクが廃止され、ステートレスなプロトコルコアへ変更されました。必要に応じてserver/discoverを使ってサーバーの能力を確認できます。
そのため、MCPについて調べるときは、どの仕様バージョンを前提にした説明なのかを確認する必要があります。
どちらを意識すればよいのか
立場によって、見るべきところは変わります。
AIアプリを使う側
MCPに対応したAIアプリなら、対応するMCPサーバーを接続することで、外部のツールやデータを利用できる場合があり、この場合、利用者が外部サービスのAPI仕様を細かく理解する必要はありません。
ただし、MCPサーバーにどのような権限を与えるのかは確認が必要。
自社サービスをAIから使えるようにしたい開発者
すでにAPIを提供しているなら、そのAPIを残したままMCPサーバーを追加する構成が考えられます。
たとえば、
既存API → MCPサーバー → AIアプリ
という形で、APIはAI以外のシステムからも利用できるため、APIとMCPを両方用意することで、それぞれの利用目的に対応できます。
AI以外のシステム同士をつなぐ場合
AIが介在しない通常のシステム連携なら、APIを直接利用する方法が一般的です。
たとえば、
販売管理システム → API → 会計システム
のように、処理の内容があらかじめ決まっている連携であれば、MCPを使う必要はありません。
MCPは特に、AIが状況に応じて外部のツールやデータを選択して利用するような処理で意味を持ちます。
MCPで注意したいセキュリティ
MCPは単なる「データの読み取り規格」ではありません。
ツールを通じ、AIが外部システムに対して操作を実行できる場合がありますので、、MCPサーバーを追加するときは、
- 何にアクセスできるのか
- 何を実行できるのか
- どの権限を持っているのか
を確認する必要があります。
特に注意したいのが、外部から取得した文章などに悪意のある指示を混ぜるプロンプトインジェクションで、AIがメールやWebページ、カレンダーなどの内容を読み取り、その中に書かれた指示を誤って実行してしまう可能性があります。
また、MCPのツールには、読み取り専用か、破壊的な操作を行う可能性があるかといった情報を示す仕組みがありますが、それだけで安全性が保証されるわけではありません。
そのため、MCPを導入するときは、許可するツールを限定する、必要以上の権限を与えない、認証を設定する、実行ログを確認できるようにするなどの対策が重要になります。
出どころの分からないMCPサーバーを、機能だけを見て接続するのも避けたほうが安全。
APIとMCPは「どちらか」ではない
APIとMCPの違いを一言で整理すると、次のようになります。
| API | MCP | |
|---|---|---|
| 主な役割 | システムの機能やデータを外部から利用する | AIアプリと外部のツール・データを共通方式で接続する |
| 主な利用者 | アプリケーション、システム、開発者 | AIアプリ、AIエージェント |
| 接続先 | サービス、システム、データベースなど | MCPサーバー |
| 共通化するもの | サービスごとに異なる | AIとMCPサーバー間の通信・機能公開の方式 |
| 下にあるもの | データベースやサービスなど | API、データベース、ファイル、CLIなど |
| AI専用か | いいえ | AIとの連携を主な目的とする |
だから、MCPが普及したからAPIが不要になるという話でもなく、むしろ、APIがサービスやシステムの機能を外部に公開し、MCPがその機能やデータをAIから扱うための共通の接続方法を提供するという関係で考えると分かりやすくなると思います。
AIが外部のサービスやデータを扱う場面が増えるほど、「AIに何をさせられるか」だけでなく、「AIと外部の機能をどのようにつなぐか」も重要になり、MCPは、その接続方法を共通化するための仕組みとなっています。









