MCP(Model Context Protocol)って、結局何がすごいの?
ミドリ: タツヤさん、最近「MCP」って言葉をよく見かけるんですけど、正直ピンと来てないんですよね。
タツヤ: いいところに来たね。MCPを理解すると、AIエージェントの「できること」が一気に広がるよ。まず前提として、AIエージェントってどれだけ性能が高くても、外部のデータやツールにアクセスできなかったらどうなると思う?
ミドリ(confused): えーと……ただ文章を生成するだけ、ですか?
タツヤ(nodding): その通り。社内のドキュメントを参照する、データベースを検索する、Slackにメッセージを送る――こういう「外の世界との接続」がないと、AIエージェントは閉じた空間で動くだけの存在なんだ。
ミドリ(thinking): じゃあ従来はどうやって外部ツールと接続してたんですか?
タツヤ: ツールごとに個別のインテグレーションコードを開発してた。10個のツールと接続するなら10種類の統合コード、100個なら100種類。この開発・保守コストが膨大だったんだよ。
ミドリ: 100種類……それは辛い。
タツヤ: そこで登場したのがMCP(Model Context Protocol)。Anthropic(アンソロピック、Claude AIの開発企業)が2024年11月に提唱したオープンな標準プロトコルで、AIモデルと外部ツール・データソースの間の通信方式を統一するものだ。
ミドリ: たとえるとどういう感じですか?
タツヤ: USB-Cだね。昔はデバイスごとに違う端子が必要だったのが、USB-Cで統一された。MCPはそれのAI版。しかも公開からわずか数ヶ月で、GitHub、Slack、PostgreSQL、Google Driveなど300以上のMCPサーバーがコミュニティから公開されてる。
ミドリ(smiling): エコシステムの広がりがすごいですね。
タツヤ: エンタープライズ領域では、MCPを採用したAIシステムの開発工数が従来比で平均40%削減されたという報告もあるよ。
MCPの3つの柱
ミドリ(thinking): 具体的にMCPの中身ってどうなってるんですか?
タツヤ: 3つの要素で構成されてる。
1. Resources(リソース)
タツヤ(nodding): まずリソース。AIがアクセスできるデータソースを定義する仕組みだ。ファイル、データベースレコード、APIレスポンスなどを、URIで一意に識別できる形で提供する。
ミドリ(thinking): 具体的にはどんなURIですか?
タツヤ: こんな感じ。
file:///documents/sales-report-2026-q1.pdf── 四半期の売上レポートdb://customers/search?region=tokyo── 東京地域の顧客データapi://weather/current?city=osaka── 大阪の現在の天気情報
リソースは「読み取り」に特化していて、動的なもの(データベースクエリの結果)と静的なもの(設定ファイル)の両方をサポートしてるよ。
2. Tools(ツール)
タツヤ: 次にツール。AIが実行できるアクションを定義する仕組み。「何かを行う」操作を記述する。
send-email── 指定した宛先にメールを送信create-jira-ticket── Jiraにチケットを新規作成execute-sql-query── データベースにSQLクエリを実行deploy-cloudflare-worker── Cloudflare Workerをデプロイ
ミドリ: リソースが「見る」でツールが「やる」ってことですね。
タツヤ: 鋭いね。各ツールにはJSON Schemaで入力パラメータが定義されて、AIモデルはツールの説明文(description)を読んで適切なツールを選択する。だから明確で具体的な説明を書くことが精度向上の鍵だ。
3. Prompts(プロンプト)
タツヤ: 最後にプロンプト。再利用可能なプロンプトテンプレートを定義する仕組み。特定のタスクに最適化されたプロンプトをサーバー側で管理して、クライアントから呼び出せる。
code-review── コードレビュー用の最適化プロンプトsummarize-meeting── 会議録を要約するプロンプトgenerate-test-cases── テストケースを生成するプロンプト
ミドリ: プロンプトまでサーバーで管理できるんですか!
タツヤ: そう。これで組織全体で最適化されたプロンプトを共有できるから、個人のプロンプト品質のばらつきを解消できるんだ。
アーキテクチャの全体像
ミドリ: 全体的な仕組みはどうなってるんですか?
タツヤ: MCPはクライアント・サーバーモデルを採用してて、登場するコンポーネントは3つ。
タツヤ(nodding): まずMCPホスト。Claude DesktopやVS Codeの拡張機能みたいなAIアプリケーションがこれにあたる。ユーザーとの対話を管理する最上位のコンポーネントだ。
タツヤ: 次にMCPクライアント。ホスト内で動く接続管理コンポーネントで、各MCPサーバーとの1対1の接続を維持する。1つのホストが複数のクライアントを持てるから、それぞれが異なるMCPサーバーに接続できるんだ。
タツヤ: そしてMCPサーバー。外部ツールやデータソースへのアクセスを提供するサーバーで、特定のドメインに特化して構築される。
ミドリ(thinking): 具体的にどんなサーバーがあるんですか?
タツヤ: たとえばこんな感じ。
- ファイルシステムMCPサーバー ── ローカルファイルの読み書き
- PostgreSQL MCPサーバー ── データベースへのクエリ実行
- Slack MCPサーバー ── メッセージの送受信、チャンネル管理
- GitHub MCPサーバー ── リポジトリの操作、Issue/PR管理
通信フローを追ってみよう
ミドリ: 実際にどういう流れで動くのか知りたいです。
タツヤ: じゃあ具体例で説明するね。ユーザーが「先月の売上データを分析して、レポートをSlackに投稿して」って依頼したとする。
- MCPホスト(AIアプリケーション)がリクエストを受信
- AIモデルが、利用可能なツール一覧からデータベースクエリツールとSlack投稿ツールを選択
- MCPクライアントがPostgreSQL MCPサーバーに売上データのクエリを送信
- PostgreSQL MCPサーバーが結果を返却
- AIモデルがデータを分析し、レポートを生成
- MCPクライアントがSlack MCPサーバーにレポート投稿リクエストを送信
- Slack MCPサーバーが投稿を実行し、結果を返却
- ユーザーに完了報告
ミドリ: これが全部MCPっていう統一プロトコルで動くんですね。シームレスだ。
MCPサーバーの構築
ミドリ: 自分でMCPサーバーを作ることもできるんですか?
タツヤ: もちろん。MCPの公式TypeScript SDK(@modelcontextprotocol/sdk)を使えば、少ないコードで構築できるよ。
基本の構成要素
タツヤ: サーバーの基本構成要素は4つ。
- サーバーインスタンスの作成:サーバー名、バージョン、対応するCapabilities(機能)を定義
- ツールの登録:名前、説明、入力スキーマ、実行ハンドラーを定義
- リソースの登録:URI、説明、データ取得ロジックを定義
- トランスポートの設定:標準入出力(stdio)またはHTTP/SSEを選択
ミドリ(thinking): トランスポートって何ですか?
タツヤ: 通信方式のこと。2種類あって、使い分けが大事だよ。
| トランスポート | 適しているケース | 特徴 |
|---|---|---|
| stdio | ローカル実行、デスクトップアプリとの連携 | 設定が簡単、セキュリティが高い |
| HTTP/SSE | リモートサーバーでの運用、Webアプリとの連携 | ネットワーク越しのアクセスが可能 |
ツール定義のコツ
ミドリ: ツールの定義で気をつけることってありますか?
タツヤ(smiling): AIモデルはツールの説明文を読んでどのツールを使うか判断するから、定義の書き方がめちゃくちゃ重要なんだ。良いツール定義の条件はこれ。
- 名前は動詞で始める:
search-customers、create-ticket、send-notificationのように - 説明文は具体的に:「データベースを操作する」じゃなくて「PostgreSQLのcustomersテーブルから条件に合致する顧客レコードを検索し、最大50件を返す」
- 入力パラメータの説明も丁寧に:各パラメータに何を指定すべきかを、例示を含めて記述
- エラーケースを明示:ツールが失敗する可能性のあるケースを説明に含める
ミドリ: 要は「AIに対するUX設計」みたいなものですね。
タツヤ: いい表現だね、まさにそれだよ。
実践的なユースケース
ミドリ: 企業で実際にどう使われてるんですか?
ユースケース1:社内ナレッジベース連携
タツヤ(nodding): まず一番多いのがこれ。社内のドキュメントがConfluence、Notion、SharePoint、Google Driveに分散してて、必要な情報を探すのに平均20分かかるって課題があるよね。
ミドリ: あるあるですね……。
タツヤ: 各ドキュメント管理システムに対応するMCPサーバーを構築して、AIアシスタントが横断的に検索・参照できるようにする。導入した企業では情報検索時間が平均20分→2分に短縮(90%削減)。新入社員のオンボーディング期間も3週間から1.5週間に短縮されたケースがあるよ。
ユースケース2:データベースクエリ実行と分析
ミドリ(confused): 非エンジニアがデータ分析するたびにエンジニアに依頼するの、どこでもありますよね。
タツヤ(nodding): その通り。MCPでデータベースに接続するサーバーを構築すれば、AIが自然言語の質問をSQLに変換して実行できるようになる。マーケティング部門がキャンペーン分析を自分でできるようになって、分析サイクルが2営業日→15分に短縮された例がある。
ミドリ(confused): でも、AIがデータベースを直接触るのは怖くないですか?
タツヤ: いい指摘。セキュリティ上の重要ポイントがある。
- 読み取り専用アクセスの強制:SELECT権限のみ付与。INSERT/UPDATE/DELETEは絶対に許可しない
- クエリのバリデーション:DROP TABLE、TRUNCATEなど破壊的操作をブラックリストでブロック
- 実行時間制限:タイムアウトを設定(例:最大30秒)
- 機密データのマスキング:個人情報を含むカラムは結果返却時に自動マスキング
- クエリログの記録:誰がいつ何を実行したか完全に記録
ユースケース3:外部SaaSツールとの統合ワークフロー
タツヤ: Slack、GitHub、Jira、Salesforce、Google CalendarをMCPで接続して、AIが横断的に操作できる環境を作る。
ミドリ: たとえばどんなことができるんですか?
タツヤ: 「今週のスプリントで未完了のJiraチケットを一覧にして、各担当者にSlackでリマインドを送り、明日の朝会のGoogleカレンダーのアジェンダにも追加して」――こういう複数ツールにまたがる指示を、AIが自動で実行する。従来30分かかってた作業が、数十秒で完了する。
ユースケース4:CI/CDパイプライン統合
タツヤ: 開発環境にMCPサーバーを導入して、AIがビルド、テスト、デプロイのパイプラインを管理・実行する。テスト結果の分析、失敗原因の推定、ロールバックの自動判断なんかもできるようになる。
セキュリティとガバナンス
ミドリ: AIが外部システムを操作できるって、便利だけどリスクもありますよね?
タツヤ: まさに。企業環境でMCPを導入する際は、セキュリティ設計が最重要事項だ。4つのポイントを押さえよう。
最小権限の原則
タツヤ: 各MCPサーバーには必要最小限の権限のみを付与する。メール送信ツールは社内アドレスのみ送信可能とか、顧客データベースは特定のテーブルのみ参照可能とか、きめ細かく制御する。
監査ログ
タツヤ: すべてのツール実行とリソースアクセスを記録する。実行日時、実行ユーザー、使用したツール、入力パラメータ、実行結果、処理時間。ログの保持期間は業界規制に応じて1年〜7年程度が一般的だね。
入力バリデーション
タツヤ: AIから渡されるパラメータに対して厳密なバリデーションを実施する。AIモデルはツールの使い方を誤ることがあるから、不正なパラメータが来る可能性を常に想定する。JSON Schemaによる型チェック、SQLインジェクション対策、ファイルパスのトラバーサル対策、レート制限の実装が必要だ。
人間の承認フロー(Human-in-the-Loop)
ミドリ: 全部AIに任せちゃって大丈夫なんですか?
タツヤ: 大丈夫じゃない。だからHuman-in-the-Loopが重要なんだ。本番データベースへの書き込み、メールの大量送信、外部公開APIの変更――こういう機密性の高い操作は、AIの判断だけで実行せず、人間の承認を必須にするフローを組み込むことを強く推奨する。
MCPエコシステムの現状と将来
ミドリ: 今のMCPエコシステムってどのくらい広がってるんですか?
タツヤ: 主要なMCPクライアント対応状況はこんな感じ。
- Claude Desktop ── Anthropic公式。MCPの参照実装としても機能
- VS Code / Cursor ── 開発者向けIDE。コーディング支援にMCPサーバーを活用
- Cline / Continue ── AI開発アシスタント。複数のMCPサーバーと連携
人気のMCPサーバーは、filesystem、postgresql、github、slack、google-driveあたりだね。
ミドリ: 今後はどう発展していくんですか?
タツヤ: ロードマップでは、エージェント間通信への適用、マルチモーダル対応の拡張、エンタープライズ向けガバナンス機能、リモートMCPサーバーの標準化が予定・期待されてるよ。
まとめ:MCPはAIの「能力拡張基盤」
ミドリ: 今日の話をまとめるとどうなりますか?
タツヤ: MCPは、AIエージェントの能力を飛躍的に拡張するための基盤技術だ。標準化されたプロトコルで得られるメリットは5つ。
- 開発コストの削減:ツールごとに個別の統合コードを書く必要がなくなり、開発工数を平均40%削減
- 保守性の向上:プロトコルが標準化されているため、ツールの追加・変更が容易
- セキュリティの強化:アクセス制御、監査ログ、バリデーションを統一的な枠組みで管理
- エコシステムの活用:コミュニティが開発した300以上のMCPサーバーを再利用可能
- ベンダーロックインの回避:オープンな標準プロトコルで、特定のAIモデルやプラットフォームに依存しない
ミドリ: USB-Cのたとえがすごくしっくり来ました。AIの「つなぐ力」を標準化するものなんですね。
タツヤ(nodding): その通り。これからのAIエージェント開発では、MCPを前提としたアーキテクチャ設計がスタンダードになっていくはずだよ。
次のアクション
ミドリ: MCPを試してみたいんですけど、どこから始めればいいですか?
タツヤ: 3ステップで進めよう。
- 体験する:Claude DesktopにfilesystemのMCPサーバーを設定し、AIがローカルファイルを読み書きできる環境を体験する(所要時間:30分)
- ユースケースを特定する:自社の業務で「AIがこのツールにアクセスできたら便利」と思う場面を3つ以上リストアップする
- 既存サーバーを調査する:MCPサーバーの公式リポジトリで、特定したユースケースに対応するサーバーが既に存在しないか確認する
- Shimanto AI Solutionsでは、MCPを活用したAIエージェントシステムの設計・構築を支援しています
- 社内ツールとAIの連携、カスタムMCPサーバーの開発、セキュリティ設計のレビューなど、MCPに関するあらゆるご相談に対応しています
- 「どのツールからMCP化すべきか」という戦略的な検討から、実装・運用まで一貫してサポートいたします