MCPとAPIの違いとは?
Kitbay編集部 ·
APIは、1つのサービスがほかのプログラムに提供するインターフェースで、エンドポイント、データ形式、ログインのルールはサービスごとに異なります。MCP(Model Context Protocol)は、AIアプリケーションが多くのサービスのツールやデータを同じ方法で見つけて使えるようにする、共通のプロトコルです。実際には両者は組み合わせて使われます。MCPサーバーは多くの場合、サービスのAPIの手前に置かれ、MCPに対応したどのAIクライアントからでも使える形でそのAPIを提供します。
APIとは
API(アプリケーションプログラミングインターフェース)は、1つのサービスが公開する取り決めです。天気予報サービス、決済サービス、プロジェクト管理ツールは、それぞれ独自のエンドポイント、パラメーター、認証方法をドキュメントにしています。開発者はそのドキュメントを読み、それに合わせてコードを書きます。APIはサービスごとに異なるため、連携も1つずつ個別に作ることになります。
MCPが加えるもの
MCPは、AIアプリケーションを外部のシステムにつなぐためのオープン標準です。MCPのドキュメントでは、MCPをUSB-Cポートにたとえています。機器ごとに別のケーブルを使うのではなく、合意された1つのコネクタを使う、という考え方です。Anthropicが2024年11月にMCPを発表したとき、課題として挙げていたのは、新しいデータソースごとに専用の連携が必要で、外部と連携するAIシステムをスケールさせにくいという点でした。
MCPが定めているのは次のものです。
- 役割。 ホスト(Claude DesktopやVS CodeなどのAIアプリケーション)は、サーバーごとに1つのクライアントを作ります。各サーバーは機能を提供します。
- メッセージ形式。 すべてのメッセージにJSON-RPC 2.0を使います。
- トランスポート。 自分のコンピューターで動くサーバーにはstdio、オンラインのサーバーにはStreamable HTTPを使います。
- 構成要素。 ツール(モデルが呼び出せる操作)、リソース(アプリケーションが読み取れるデータ)、プロンプト(ユーザーが選べるテンプレート)です。
- ディスカバリー。 クライアントは、たとえば
tools/listでサーバーに何を提供しているかを尋ね、各ツールの名前、説明、JSON Schemaで書かれた入力スキーマを受け取ります。そのうえでtools/callでツールを呼び出します。
重要なのは、実行時にディスカバリーを行うという点です。AIアプリケーションは、サービスごとに事前にコードを書いておく必要がありません。サーバーに接続してツールの一覧を読み、目の前のリクエストにどのツールを使うかはモデルに判断させます。
比較表
| 一般的なWeb API | MCP | |
|---|---|---|
| 定義するのは | 各サービスが個別に | クライアントとサーバーが共有する1つのオープンな仕様 |
| 主な利用者 | コードを書く開発者 | AIアプリケーションと、その中のモデル |
| 機能の見つけ方 | サービスのドキュメントを読む | 実行時にサーバーに尋ねる(tools/list、resources/list、prompts/list) |
| 説明文 | 人間向けに書かれている | モデルが選ぶために書かれ、入力にはJSON Schemaが付く |
| メッセージ形式 | さまざま(RESTとJSONが多い) | JSON-RPC 2.0 |
| 接続方法 | サービスへのHTTP | ローカルサーバーはstdio、リモートサーバーはStreamable HTTP |
| どの呼び出しをするか決めるのは | 開発者のコード | モデル(ホストがユーザーに同意を求める) |
| AIアプリ間での再利用 | アプリごとに連携を作る | 1つのサーバーがどのMCPクライアントでも動く |
MCPとAPIの連携
ほとんどのMCPサーバーは、既存のAPIの上にかぶせた薄いレイヤーです。MCPのドキュメント自身が例に挙げているのはSentryのサーバーで、Sentryのプラットフォーム上で動き、Streamable HTTPで接続します。その裏では、Sentry自身のシステムが処理を行います。Anthropicが2024年に最初に公開したオープンソースのサーバー群にはGitHubやSlackのサーバーが含まれており、こうしたサーバーも同じパターンに従っています。サービスのAPIはそのままで、サーバーがAPIとAIアプリケーションの間を橋渡しします。
リモートのAPIとまったく結びついていないMCPサーバーもあります。ファイルシステムサーバーは自分のコンピューター上のフォルダを直接操作し、ブラウザ自動化サーバーはローカルのブラウザを操作します。これらは特定のサービスではなく、ファイルシステムやブラウザ自動化といった汎用的な作業を担います。
MCPと関数呼び出し
モデルプロバイダーのAPIでは、以前からモデルが関数を呼び出せるようになっています。たとえばClaude APIでは、リクエストにツールを列挙し、それぞれに名前、説明、入力スキーマを付けます。Claudeはツールを使うための構造化されたリクエストを返し、自分のコードがそれを実行して、結果を送り返します。
これは1つのアプリケーションの中ではうまく機能します。MCPは、ツールの定義とそれを実行するコードを独立したサーバーに移すので、同じツールをClaude Desktop、Cursor、VS Code、ChatGPTなどのクライアントで書き直さずに再利用できます。Claude APIには、リクエストから直接リモートのMCPサーバーにアクセスできるMCPコネクタもあります。
つまり、レイヤーは次のようになります。
- サービスのAPIが実際の処理を行います。
- MCPサーバーが、それをツールとデータの標準的な記述で包みます。
- AIクライアントがサーバーに接続し、そのツールをモデルに提供します。
- モデルが関数呼び出しでツールを選び、クライアントがMCP経由でそれを実行します。
使い分け
APIを直接呼び出すのは、次のような場合です。
- 決まった順序で処理を進める通常のプログラムを書いているとき
- 次に何をするかをモデルが選ばないとき
- どのMCPサーバーも公開していないエンドポイントやオプションが必要なとき
MCPサーバーを使う(または作る)のは、次のような場合です。
- AIアシスタントに、会話の中でそのサービスを使わせたいとき
- 同じ連携を複数のAIクライアントで使いたいとき
- 許可した操作を説明付きのわかりやすい一覧としてモデルに見せたいとき
自分で作る場合は、MCPサーバーの作り方のガイドで、SDK、トランスポート、テストについて説明しています。
安全上の注意
APIをMCPで包んでも、安全性が高まるわけではありません。MCPのツールは、その背後にあるAPIキーやアカウントで許可されていることは何でもでき、いつ呼び出すかはモデルが決めます。MCPの仕様では、ホストがツールを実行する前にユーザーの同意を得ること、そしてサーバーが信頼できるものでない限りツールの説明を信頼できないものとして扱うことを求めています。サーバーをインストールする前に、どんな操作が公開されているかを確認し、できるだけ権限の狭いキーを渡してください。確認すべき点は、MCPのセキュリティに関するチェックポイントにまとめています。
使っているサービスのサーバーを探す
KitbayではMCPサーバーをツールごとに掲載しているので、サービスにサーバーがあるか、誰が公開しているか、データを変更できるかがわかります。MCPが初めてならMCPサーバーとはから読むか、Web検索などの用途別のページから探してみてください。
よくある質問
- MCPはAPIに取って代わるものですか?
- いいえ。ほとんどのMCPサーバーは、裏で既存のAPIを呼び出しています。MCPが標準化するのは、AIアプリケーションがそうした機能を見つけて呼び出す方法で、実際の処理は引き続きAPIが行います。
- MCPは関数呼び出しと同じものですか?
- 関係はありますが、別のレイヤーにあります。関数呼び出し(ツール使用)は、モデルがツールの実行を求める仕組みです。MCPは、多くのAIアプリケーションが接続できる独立したサーバーにツールをまとめるためのプロトコルです。
- MCPを使わずにAPIを直接呼び出すべきなのはどんなときですか?
- 決まった順序で処理を進める通常のソフトウェアを書いていて、AIモデルが操作を選ぶことがないときは、APIを直接呼び出します。MCPが役立つのは、AIアプリケーションが実行時にツールを見つけて使う必要があるとき、特に複数のクライアントで使うときです。
出典
- What is the Model Context Protocol? (MCP docs)2026年11月14日 確認
- MCP architecture overview2026年11月14日 確認
- Understanding MCP servers (MCP docs)2026年11月14日 確認
- MCP specification overview2026年11月14日 確認
- Introducing the Model Context Protocol (Anthropic)2026年11月14日 確認
- Tool use with Claude (Claude Platform docs)2026年11月14日 確認