新標準「MCP」で“AIアプリ開発”の何がどこまで楽になる?:MCPを実践してみた
AIモデルを外部のデータソースと連携させるプロトコル「MCP」を活用することで、AIアプリケーション開発にどのようなメリットが生まれるのか。その基本的な仕組みから実装例までを解説する。
「Model Context Protocol」(以下、MCP)への関心が急速に高まっている。MCPは、AI(人工知能)技術ベンダーAnthropicが2024年11月に発表した、AIエージェントを外部のデータソースに接続するオープンソースのプロトコルだ。
2025年3月には、OpenAIが自社製品でMCPをサポートすると発表した他、同年5月にはMicrosoftが同社のAI製品群におけるMCPのサポートを開始している。こうして普及しつつあるMCPの基本的な仕組みからメリットまでを、実装例と併せて紹介する。
新標準「MCP」で“AIアプリ開発”はどこまで楽になる?
MCPは「AI用のUSB-Cポート」と表現されることもある。デバイスがUSB-Cポートを使って周辺機器に接続できるように、MCPを使ってあらゆるAIモデルの接続方法を標準化し、さまざまな機能や外部サービスとの連携を容易にしようとする取り組みだ。
MCPの基本的な仕組み
MCPは、以下のような3つの主要コンポーネントで構成される。
- MCPホスト
- AIモデルとMCPサーバの接続を実行、管理するアプリケーション。
- 2025年4月時点では、AnthropicのAIチャットbot「Claude」のデスクトップアプリケーションや、Githubのソースコード自動生成ツール「GitHub Copilot」など、限られたシステムのみがMCPホストに対応している。
- MCPクライアント
- MCPホストによって生成される軽量なサブプロセス(処理単位)。基本的には各クライアントが1対1でサーバと接続し、プロトコルのメッセージ送受信を担う。
- AIモデルからのリクエストに応じて、外部情報(データ、ツール、プロンプトなど)をMCPサーバから取得し、それをAIモデルに提供する橋渡し役となる。
- MCPサーバ
- MCPクライアントに対して外部情報を提供する軽量のプログラム。
- 通常はローカル環境で実行される。
- 実装形式としては、npmパッケージ、Dockerコンテナ、もしくは独立したサービスとして提供されることが一般的。
- 2025年4月時点で、MCPサーバはローカル環境での稼働を前提としており、クラウドなど完全なリモートサーバで動かすための標準的な仕組みや仕様は存在しない。
MCPサーバは何を提供するか
MCPサーバは、以下3種類の要素を提供する。
- リソース(Resources)
- データベースのレコードや、API(アプリケーションプログラミングインタフェース)のレスポンスなどの構造化データ。AIモデルがローカルPCに格納されたファイルや、外部のデータを参照する際に利用される。
- ツール(Tools)
- MCPサーバによって公開された関数や処理機能。AIモデルが自動的に呼び出すことができるが、エンドユーザーの承認が必要。
- プロンプト(Prompts)
- 再利用可能な、ワークフローを事前定義したテンプレートやプロンプト(AIモデルへの指示)。エンドユーザーが特定のタスクを実行するのに役立つ。
MCPを使うメリット
MCPサーバを構築することで、既存のAPIやデータをMCPに準拠した形式で公開し、AIモデルから直接利用できるようになる。単一のMCPクライアントから複数のMCPサーバに接続することも可能だ。
つまり、既存のAPIをMCPサーバとして再構成すれば、AIアプリケーション向けに一貫性のある形でパッケージ化できる。MCPの大きな利点の一つは、エンドユーザーが自然言語を用いて外部サービスにアクセスできる点にある。AIツールとクラウドベースのサービスを仲介することで、個別の連携ロジック構築やカスタマイズ実装の負担を軽減できる。
MCPの安全対策
MCPは、リソースの制御とプライバシー保護を重視しており、以下のような安全のためのアーキテクチャを採用している。
- ユーザー承認によるアクセス制御
- MCPサーバを通じて公開されるリソースは、AIモデルがアクセスする度にエンドユーザーの承認が必要。
- リソース公開の制限機能
- MCPサーバに対してアクセス権限を設定し、機密データなどを公開するリソースから除外することが可能。
- ローカルファーストの設計
- ローカルファーストのアーキテクチャを採用しており、ユーザーが明示的に共有を許可しない限り、ローカルPCから外部にデータが送信されることはない。
MCPサーバの実装方法
MCPサーバの主な入手経路は以下の通り。
- ソースコード共有サービス「GitHub」のリポジトリ
- ベンダーが提供するMCPサーバ
- チャットbot型のアシスタント設計ツール「Microsoft Copilot Studio」
- セキュリティベンダーCloudflareが公開するMCPサーバ
- ClaudeなどのMCPクライアントを介して、Cloudflareのリソースに直接アクセスできる
例えば、CloudflareのMCPサーバは、Node.jsのパッケージ実行ツール「NPX」(Node Package Executer)を使って簡単に導入できる。以下のコマンドをコマンドラインで実行する。
npx @cloudflare/mcp-server-cloudflare init
インストールにはCloudflareのアカウントが必要だ。Claudeのデスクトップ用アプリケーションがインストールされている必要もある。
MCPサーバをインストールしてからClaudeを再起動すると、コンテキストウィンドウの右側にハンマー型のアイコンが新しく表示される。CloudflareのMCPサーバから利用できるツールのリストも表示される(図1)。
これで、自然言語のプロンプトを使ってCloudflareのリソースを操作できるようになった。例えば、Claudeに「『Worker』を作成」(注)と指示すると、その内容がMCPサーバ経由でCloudflareのリソースにルーティングされる。
※注 Workerとは実行環境「Cloudflare Workers」でのプログラムの実行単位。
プロンプトを実行すると、ClaudeはMCPサーバに公開されたツールを呼び出す前に、ユーザーによる承認を求めてくる。
図2は、MCPサーバを使用してWorkerを新規作成するよう指示した際のClaudeの応答だ。
複数のMCPサーバを接続する
複数のMCPサーバを同時に実行することも可能だ。
自動化ツール「Zapier」をMCPサーバに接続すれば、数百種類におよぶ外部アプリケーションを、ClaudeやGitHub Copilotから自然言語で操作できるようになる。
GitHubのMCPサーバを設定すれば、リポジトリの管理、ファイルの作成、Issue(課題)の送信といった操作も自然言語のプロンプトで実行できる。
図3は、Claudeに対して「リポジトリ内にIaC(Infrastructure as Code)ツール『Terraform』の設定ファイルを作成してほしい」と指示した際の応答画面だ。このように、Terraformを使ったインフラ構築の自動化も可能だ。
MCPサーバをGitHubと連携させることで、以下のような操作を自然言語のプロンプトで実行できるようになる。
- ソースコードの静的解析やレビューによるセキュリティリスクの検出
- Issue(課題)の作成と管理
- READMEファイル(プロジェクトの概要やセットアップ手順を記載したテキストファイル)やディレクトリ構成の自動生成
- リポジトリの新規作成や内容の更新といったGit操作の自動化
<翻訳・編集協力:雨輝(リーフレイン)>
TechTarget発 先取りITトレンド
米国Informa TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.


