Model Context Protocol(MCP)とは?
Model Context Protocol(MCP)とは?
MCP(Model Context Protocol)は、Anthropic(アンソロピック)社 によって開発された オープン標準のプロトコル で、AI アシスタントが外部のデータソースと安全かつ双方向に接続できる仕組みを提供します。
簡単に言うと、MCP は、いろんな道具を繋ぐ(USB ケーブル、共通の言葉、窓口)みたいなものです。
例えば、皆さんがいろんな国の友達と遊ぶとき、言葉が通じないと困りますよね? MCPは、AIがいろんな道具(例えば、インターネットや計算機)とスムーズに会話できるようにするためのルールなんです。
別の見方をすると、いろんな道具を繋ぐ「USBケーブル」みたいなものでもあります。USBケーブルがあれば、パソコンにプリンターやカメラなど、いろんなものを繋げられますよね? MCPも同じように、AIをいろんな道具や情報に繋げて、もっと便利に使えるようにするわけです。
MCPを使うことで、AI システムは情報の取得や変更をリアルタイムに行い、より適切な応答を提供できるようになります。
エディターがデータベースを操作できるようになるみたいなイメージです。例えば、エディターにSupabase MCP を接続させれば、Supabase のデータを直接操作できるようになります。
その他、業界特化型検索エンジン(医療・法律・B2B など)なども作ることができるでしょう。そうなれば、専門家のように、検索エンジンにない情報も返してくれるわけです。
もちろん、エンドユーザーにも役立ちます。例えば、Google や一般的な検索エンジンでは社内の情報は検索できないけれど、MCP を使えば社内データに直接アクセスして、適切な情報を抽出できるようになります。
- 社内ドキュメントを横断検索(MCP + Google Drive + Notion)
- 社内の Slack やメールのやりとりを検索(MCP + Slack + Gmail)
- 社内の FAQ / ナレッジベースを統合(MCP + Confluence + Notion + 社内 Wiki)
- CRM の顧客情報を検索(MCP + Salesforce + HubSpot)
Anthropic社についてはこちら。
Anthropic は、Claude AI などの開発を手掛ける企業で、AI の安全性と透明性を重視しています。MCP の導入により、AI アシスタントは Google Drive、Slack、GitHub、PostgreSQL などのデータにアクセスし、最新のファイル、コード、ビジネス情報を動的に取得・統合 することが可能になります。
MCP の仕組みと利点
AI システムは、独立したデータソースへのアクセスが制限されているため、これまで異なるシステム間でコンテキストを維持するのが困難でした。
MCP を導入すると、AI アシスタントが MCP Server を介して複数のデータソースに安全かつ統一的にアクセスできるようになります。
MCP の主要コンポーネント
- MCP Server:Google Drive、Slack、GitHub などのデータを提供するサーバー
- MCP Client(AI エージェント):AI アシスタントが MCP Server を通じて情報を取得・変更
- 統一プロトコル:各データソースへのカスタム実装不要で、統一的にアクセス可能
MCP を活用することで、AI システムは 複雑なデータ統合やコンテキスト維持を容易に行えるようになります。
MCP を活用した AI システムのデータ統合例
- ドキュメント管理 AI:Google Drive や Notion からデータを取得し、AI がリアルタイムでレポートを作成。
- 開発者向け AI アシスタント:GitHub、PostgreSQL から情報を取得し、コードレビューやデバッグを支援。
- 企業向け AI カスタマーサポート:Slack、CRM(Salesforce など)と統合し、顧客対応を自動化。
これにより、AI は 最新のデータに基づいた適切な回答を提供 できるようになります。
Supabase MCP の例
Supabase を例にとると以下のような感じです。
1 いちいち「テーブル構造」を渡さなくてもいい
❌ MCP なし → AI に「users テーブルには id, name, email, created_at があります」と 毎回説明しないといけない
✅ MCP あり → AI が Supabase に接続し、テーブル構造を自動で把握 → 「users テーブルには id, name, email, created_at があるから、このクエリをこう書くのがベストですね」と 勝手に最適な提案をしてくれる!
📌 開発者のメリット: 「AI にいちいちデータ構造を説明する手間がゼロになる!」
2 どのデータが重要か、AI が自動で判断して補助
❌ MCP なし → AI は「一般的な SQL の知識」しか知らず、その DB の「特定のデータの重要性」を理解できない
✅ MCP あり → AI は Supabase のデータを直接参照し、「どのカラムが頻繁に使われているか」「どのデータがクエリに最適か」を判断できる → 例えば、「orders テーブルの status カラムは pending, shipped, delivered の 3 種類しかないので、クエリに ENUM を使うのが最適」などの提案が可能
📌 開発者のメリット: 「データの傾向を AI が勝手に学習し、より実用的なコード補助をしてくれる!」
3 Supabase の「リレーション」を勝手に見てくれる
❌ MCP なし → AI は「users テーブルと orders テーブルがどう関連しているか分からない」 → 「users と orders のリレーションを説明してください」と聞かれる
✅ MCP あり → AI が Supabase のリレーション(外部キーなど)を自動で把握! → 「users.id は orders.user_id に紐づいているので、JOIN するならこの形がベストです」と自動提案
📌 開発者のメリット: 「ER 図を見なくても、AI がリレーションを理解して適切なクエリを補完してくれる!」
4 テストデータを AI が勝手に生成
❌ MCP なし → ランダムなダミーデータを手動で作る必要がある
✅ MCP あり → AI が Supabase の実際のデータを見て、適切なテストデータを自動生成! → 「users テーブルには email が example.com のドメインで保存されているので、テストデータも example.com にするのが自然」と提案
📌 開発者のメリット: 「テストデータを自分で考えなくても、AI が実際の DB に基づいて最適なデータを作ってくれる!」
🎯 結論:Supabase MCP がもたらす「勝手に見てくれる」体験
MCP Server は自分で作れるのか?
結論: MCP Server は自作可能 です。Anthropic が提供する MCP の仕様に従えば、カスタム MCP Server を構築できます。
自作 MCP Server の基本構成
MCP Server は、通常 API サーバー として動作します。以下のような構成で作成可能です。
1️⃣ MCP Server(API) → AI からのリクエストを受け取り、データを処理
2️⃣ データソース(DB, API, ファイルストレージ) → Supabase, PostgreSQL, Google Drive, GitHub など
3️⃣ 認証 & アクセス制御 → API キー, OAuth, JWT などを利用
MCP Server の実装(Python + FastAPI)
例えば、Supabase のデータを MCP Server 経由で AI に提供する例を実装すると、以下のようになります。
必要なライブラリをインストール
MCP Server を作る(FastAPI)
MCP Server をローカルで起動
MCP の実装方法(Python)
- MCP Server の構築:FastAPI で Google Drive や GitHub のデータ提供サーバーを作成
- MCP Client(AI エージェント)の開発:LLM(GPT-4, Claude)を活用し、MCP Server から情報取得
- データ統合の最適化:PostgreSQL + Weaviate を活用し、AI アシスタントの応答精度を向上
- セキュアなアクセス管理:OAuth などを活用し、外部データアクセスを適切に制御
これにより、MCP を活用した AI のデータ統合システム を構築できます。
MCP によるデータアクセスフロー
このように、MCP の実装は、特定のニーズに応じた情報提供を実現するための強力な手段となります。