MCP Toolkit for Azure Cosmos DBがGAに:AI/Copilot連携で変わる点と確認事項

MCP Toolkit for Azure Cosmos DBのGAは、Azure Cosmos DB上の業務データをAIエージェントやCopilotから扱いやすくするための更新です。既存のAzure Cosmos DBが自動的にAIへ公開されるわけではありませんが、Microsoft FoundryやVS Code/GitHub CopilotなどのMCP対応クライアントから、Cosmos DBのデータ検索・スキーマ確認・ベクトル検索などを標準的な形で呼び出せるようになります。

特に確認すべきポイントは、「どのCosmos DBアカウントをAIに見せるか」「誰がMCPサーバーを呼び出せるか」「読み取り可能なデータ範囲が広すぎないか」の3つです。開発者にとってはAI/Copilot連携の実装が進めやすくなる一方、管理者にとっては認証、RBAC、ネットワーク、監査ログ、RU消費の管理がより重要になります。Microsoftの発表では、MCP Toolkit for Azure Cosmos DBはMCP対応のAIクライアントやエージェントフレームワークにCosmos DBデータを公開するための仕組みとして説明されています。(Microsoft for Developers)

目次

Azure Cosmos DBのAI/Copilot更新で何が変わるのか

今回の更新の中心は、Azure Cosmos DBをAIエージェントの外部データソースとして接続しやすくする「MCP Toolkit for Azure Cosmos DB」が一般提供されたことです。MCPはModel Context Protocolの略で、AIエージェントが外部システムやデータソースとやり取りするための標準的な接続方式として使われます。

これまでAIアプリや社内CopilotからCosmos DBを参照させるには、独自API、検索API、認証処理、権限制御、データ取得ロジックを個別に作る必要がありました。MCP Toolkitを使うと、Cosmos DB向けのMCPサーバーを用意し、AIエージェント側から標準化されたツールとして呼び出せます。

実務上の変化を整理すると、次のようになります。

観点これまで起きやすかった課題MCP Toolkit for Azure Cosmos DBで変わる点
AI連携アプリごとにCosmos DB接続ロジックを実装していたMCP対応クライアントから共通のツールとして呼び出せる
データ検索キーワード検索、ベクトル検索、スキーマ確認を個別実装していた代表的な検索・参照ツールが用意される
認証APIキーや独自認証を混在させがちだったMicrosoft Entra ID、Managed Identity、RBACを前提に構成しやすい
展開本番向けホスティング設計を別途考える必要があったAzure Container Appsへの展開例が用意される
運用AIからのアクセス範囲が曖昧になりやすいMCPサーバー単位で権限・ログ・接続先を管理しやすい

GAとは、Azure Updates上の区分では本番利用を前提に利用できる状態を指します。ただし「GAだから設定不要で安全」という意味ではありません。Cosmos DBのデータをAIエージェントに触らせる以上、既存のアプリケーション連携よりもデータ露出範囲を慎重に設計する必要があります。(マイクロソフト Azure)

MCP Toolkit for Azure Cosmos DBでできること

MCP Toolkit for Azure Cosmos DBは、AIエージェントが自然言語の指示をもとにCosmos DBへ問い合わせるためのMCPサーバーです。GitHubの公式リポジトリでは、Azure Entra ID認証、ドキュメント操作、ベクトル検索、ハイブリッド検索、スキーマ検出を備えるツールキットとして説明されています。(aka.ms)

代表的なMCPツールは次のとおりです。

ツール主な用途活用例
list_databasesCosmos DBアカウント内のデータベース一覧を取得エージェントに利用可能なデータソースを確認させる
list_collections指定データベース内のコンテナー一覧を取得顧客、商品、問い合わせ履歴などのコンテナーを把握する
get_approximate_schemaサンプル文書から上位プロパティを推定開発者がスキーマを把握してクエリ設計する
get_recent_documents最近のドキュメントを取得最新の注文、問い合わせ、イベントを確認する
find_document_by_idIDでドキュメントを検索顧客IDや注文IDを指定して詳細を取得する
text_search指定プロパティに対するテキスト検索「nameにAzureを含む商品」を探す
vector_search埋め込みを使ったベクトル検索意味的に近いFAQ、商品、ナレッジを探す
hybrid_searchベクトル検索と全文検索を組み合わせるキーワード一致と意味検索を併用して精度を上げる

公開されているツール一覧を見る限り、AI/Copilotへ公開する基本機能は参照・検索系が中心です。業務システムの更新処理までAIに任せるというより、まずは「安全に業務データを探す」「根拠データを取り出す」「開発時にデータ構造を確認する」用途から検討するのが現実的です。hybrid_searchについては、対象コンテナーにベクトルインデックスと全文インデックスの両方が必要とされています。(aka.ms)

影響を受ける利用者と受けない利用者

この更新は、すべてのAzure Cosmos DB利用者に即座に影響するものではありません。既存のWebアプリ、API、バッチ処理がCosmos DBを使っているだけなら、MCP ToolkitのGAによってアプリの挙動が変わることは基本的にありません。

影響が大きいのは、次のようなチームです。

対象影響
AIアプリ開発者Cosmos DBをRAG、エージェント、社内Copilotのデータソースとして使いやすくなる
Azure管理者Entra ID、Managed Identity、RBAC、Container Apps、監査ログの設計が必要になる
セキュリティ担当者AIエージェントが読めるデータ範囲、利用者、認証方式の確認が必要になる
データ管理者個人情報、機密情報、社外秘データをAIに渡してよいか判断する必要がある
DevOps担当者MCPサーバーのCI/CD、バージョン更新、障害時の切り戻しを考える必要がある

逆に、Cosmos DBを通常のアプリケーションバックエンドとしてのみ利用しており、AIエージェントやCopilotから接続する予定がない場合は、すぐに移行作業が発生する更新ではありません。ただし、今後社内AIや開発支援エージェントから業務データを参照する計画があるなら、早い段階でデータ境界と権限設計を決めておく価値があります。

管理者が最初に確認すべき設定

MCP Toolkit for Azure Cosmos DBを本番環境に近い場所で使う場合、最初に見るべきなのは機能ではなく「アクセス範囲」です。公式リポジトリでは、権限を付与した後のMCPサーバーは、関連付けられたCosmos DBアカウント内のすべてのデータベースとコンテナーに読み取りアクセスを持つ点が強調されています。認証に成功したエージェントやアプリケーションは読み取り操作を実行できるため、信頼できる利用者とアプリケーションだけにアクセスを限定する必要があります。(aka.ms)

確認項目は次の順番で進めると安全です。

確認項目判断基準失敗しやすいポイント
接続先のCosmos DBアカウントAIに見せてもよいデータだけを含むか本番の全データをそのまま接続してしまう
Entra IDアプリ登録専用アプリとして識別・監査できるか既存アプリ登録を使い回して責任範囲が曖昧になる
ロール割り当てMcp.Tool.Executorを必要なユーザーやサービスだけに付与しているか検証用に広く付与したまま本番化する
Managed IdentityCosmos DBや埋め込みサービスへの権限が最小限か便利だからと広い権限を与える
ネットワーク公開Container Appsの入口を社内要件に合わせて制限できているかテスト時の公開設定を残す
ログと監査誰が、いつ、どのツールを呼んだか追跡できるかAI経由のアクセスが通常アプリのログに埋もれる
RUとコスト検索・スキーマ推定・最近文書取得の負荷を見積もっているかエージェントが繰り返し広範囲検索してRUを消費する

特に避けたいのは、「Copilotに便利そうだから」という理由で本番Cosmos DBアカウントを丸ごと接続することです。まずは検証用アカウント、匿名化済みデータ、参照専用のコンテナー、またはAI公開用に分離したデータセットから始めるのが安全です。

開発者が確認すべき実装・展開上の注意点

開発者は、MCP Toolkitを単なるライブラリではなく「AIから呼ばれるデータアクセス用サービス」として扱う必要があります。公式リポジトリでは、Azure Container Apps、Azure Container Registry、Managed Identity、RBAC割り当てを含む展開構成が示されています。ローカル開発にはDocker Composeや.NET開発環境も利用できます。(aka.ms)

前提条件を満たしているか確認する

主な前提は、Azureサブスクリプション、Azure Cosmos DBアカウント、埋め込みサービス、Azure CLI、PowerShell 7以上、Docker Desktop、.NET 9.0 SDK、Gitです。Azure Developer CLIはazd upで展開する場合に使います。ベクトル検索やハイブリッド検索を使う場合は、Azure AI Services、Microsoft Foundry、OpenAI APIなどの埋め込みサービスも必要です。(aka.ms)

導入前に、少なくとも次の情報をそろえておきます。

必要な情報用途
Cosmos DBエンドポイントMCPサーバーが接続するデータベースを指定する
対象データベース名・コンテナー名エージェントの指示やツールパラメーターで使う
埋め込みモデル名ベクトル検索・ハイブリッド検索で使う
EntraアプリのクライアントIDMCPクライアントの認証対象として使う
Container App URLVS CodeやFoundryなどのMCPクライアントに設定する
ロール割り当て対象利用者、開発者、エージェント実行環境を決める

AIエージェントへの指示は具体的に書く

MCP Toolkitを接続しただけでは、エージェントが安全で正確な問い合わせをしてくれるとは限りません。Microsoft Foundryの設定例でも、データベース名やコンテナー名をパラメーターとして指定し、利用可能なMCPツールを使うようにエージェントへ指示する流れが示されています。(aka.ms)

実務では、次のように指示を制限すると事故を減らせます。

あなたは社内FAQ検索用のアシスタントです。
指定されたfaqデータベースとpublic-knowledgeコンテナーのみを使用してください。
個人情報を含む可能性があるフィールドは回答に含めないでください。
検索結果に根拠がない場合は、推測せず「該当データが見つかりません」と回答してください。

曖昧な指示のまま接続すると、エージェントが必要以上に広いデータを検索したり、利用者に見せるべきでないフィールドを回答に含めたりする可能性があります。MCP側の権限制御だけでなく、エージェント側のプロンプト、対象コンテナー、返却フィールドの制御を組み合わせることが重要です。

VS CodeやCopilot連携ではトークン更新に注意する

VS CodeのMCPクライアントから使う場合は、Container AppのMCPエンドポイントURLとBearerトークンを設定します。公式手順では、Azure CLIでEntraアプリ向けのアクセストークンを取得し、settings.jsonにAuthorizationヘッダーとして指定する例が示されています。JWTトークンは通常期限切れになるため、検証時に401エラーが出た場合は、まずトークンの有効期限とaudience設定を確認します。(aka.ms)

本番利用では、個人の手動トークンに依存した運用は避けるべきです。エージェント実行基盤、CI/CD、開発端末のどこから呼ぶのかを分け、認証方式とトークン更新手順を文書化しておきましょう。

プレビュー版や検証環境から移行する場合の確認点

すでにMCP Toolkitを検証していた場合は、単に「GAになったからそのまま本番化」ではなく、バージョン、エンドポイント、依存関係、ロール設定を確認します。

GitHubのChangelogでは、2026年5月29日の1.1.2でhybrid_searchが追加され、text_search、vector_search、hybrid_searchの既定件数が10になったこと、Cosmos DB SDKや認証関連ライブラリなどの依存関係が更新されたことが示されています。また、1.1.0では複数の埋め込みプロバイダー対応やトークン取得、Foundry接続スクリプト、ロール割り当てスクリプトの修正も含まれています。(GitHub)

移行時は、次の順番で確認すると安全です。

手順確認内容
バージョン確認利用中のタグ、Changelog、リリースノートを確認する
エンドポイント確認MCPクライアントが/mcpなど現在の推奨エンドポイントを参照しているか確認する
ロール確認既存のEntraアプリ、Service Principal、Mcp.Tool.Executorの割り当てを棚卸しする
検索確認text_search、vector_search、hybrid_searchで期待した件数・スコア・RU消費になるか確認する
インデックス確認ハイブリッド検索に必要なベクトルインデックスと全文インデックスを用意する
ログ確認401、403、Cosmos DBクエリエラー、埋め込みAPIエラーを追跡できるか確認する
切り戻し確認旧コンテナー、旧Container App、旧イメージへ戻せる手順を残す

特に注意したいのは、検証時に作ったEntraアプリやロール割り当てが残っているケースです。検証用ユーザー、退職者、外部委託先、古いサービスプリンシパルに権限が残っていないかを本番化前に必ず確認してください。

セキュリティ設計で押さえるべき考え方

MCP Toolkit for Azure Cosmos DBのセキュリティは、Microsoft Entra ID、JWT Bearer Token、audience検証、Managed Identity、RBACを組み合わせる構成です。アーキテクチャ上は、クライアントがMCP Toolkit APIへBearer Token付きでアクセスし、APIがトークンとロールを検証したうえで、Managed Identityを使ってCosmos DBや埋め込みサービスにアクセスします。(GitHub)

ただし、技術的に安全な認証方式を使っていても、データ設計を誤るとリスクは残ります。次の3つを分けて考えると判断しやすくなります。

誰が呼べるか

利用者本人、開発者、社内Copilot、Foundry上のエージェント、外部MCPクライアントのどれが呼び出すのかを明確にします。人間のユーザーだけでなく、エージェント実行環境や自動化プロセスも「利用者」として扱うべきです。

何を読めるか

MCPサーバーが接続するCosmos DBアカウント、データベース、コンテナーを絞ります。可能であれば、AI公開用のコンテナーを分け、不要なフィールドを含めない形に整えます。個人情報、契約情報、未公開の財務情報、障害対応履歴などは、AIに渡す前に明確な基準を作る必要があります。

どこまで答えてよいか

データにアクセスできることと、利用者へ回答してよいことは別です。たとえば、社内問い合わせエージェントが顧客テーブルを検索できても、すべての顧客情報をそのまま表示してよいとは限りません。エージェントの指示、レスポンス整形、マスキング、ログ監査を組み合わせて制御しましょう。

よくある失敗と回避策

MCP Toolkitの導入で失敗しやすいのは、機能検証の勢いで運用設計を後回しにすることです。特にAI連携では、少人数の検証では問題が見えにくく、本番展開後に「誰でも広いデータを検索できる」「RU消費が急に増えた」「監査ログから原因を追えない」といった課題が表面化しやすくなります。

失敗例起きること回避策
本番DBを丸ごと接続するエージェントが想定外のデータを検索できるAI公開用アカウント、コンテナー、ビュー相当のデータセットを分離する
権限を広く付与する検証ユーザーや不要なアプリが残るロール割り当てを棚卸しし、期限付き運用にする
インデックスを準備しない検索が遅い、RU消費が高い、検索結果が不安定になるtext/vector/hybridごとに必要なインデックスを設計する
プロンプトだけで制御する機密データが回答に出る可能性が残るデータ分離、権限、返却フィールド制限を併用する
ログを取らない問題発生時に誰が何を検索したか分からないContainer Apps、アプリログ、Cosmos DBメトリックを確認できる状態にする
コストを見積もらないエージェントの反復検索でRUや埋め込みAPI利用が増える検証時に代表シナリオのRU、レイテンシ、API利用量を測る

「AIだから例外的に自由に読ませる」のではなく、「AIも通常の業務アプリと同じか、それ以上に厳しく管理する」という前提で設計することが重要です。

どのような用途から始めるべきか

最初のユースケースは、書き込みや高リスクな判断を伴わないものが向いています。たとえば、以下のような用途です。

用途向いている理由
社内FAQ検索公開範囲を限定しやすく、検索品質を検証しやすい
商品・カタログ検索ベクトル検索やハイブリッド検索の効果を確認しやすい
開発者向けスキーマ確認get_approximate_schemaでデータ構造を把握しやすい
問い合わせ履歴の要約前検索最近のドキュメント取得やテキスト検索を活用しやすい
RAGアプリのデータ取得Cosmos DBを運用データと検索データの接点として使いやすい

一方で、次の用途は慎重に進めるべきです。

慎重にすべき用途理由
個人情報を含む顧客DBの直接検索回答への混入や権限逸脱のリスクが高い
請求・契約・人事データの検索閲覧権限の管理が複雑になりやすい
障害対応ログやセキュリティログの検索機密情報や攻撃情報を含む可能性がある
業務データの更新・削除誤操作時の影響が大きく、監査と承認が必要

まずは低リスクな参照系ユースケースで、認証、ログ、RU消費、回答品質を確認します。その後、対象データや利用部門を段階的に広げるのが安全です。

導入前チェックリスト

本番展開を検討する前に、次の項目を確認してください。

チェック内容
データ分類AIに見せてよいデータ、見せてはいけないデータを分けた
接続先分離本番全体ではなく、用途に合ったCosmos DBアカウントまたはコンテナーを選んだ
認証設計Entra IDアプリ、audience、Bearer Token、ロール割り当てを確認した
権限設計Managed IdentityとRBACを最小権限にした
検索設計text/vector/hybridごとのインデックスと検索対象フィールドを決めた
エージェント指示利用するデータベース、コンテナー、禁止事項をプロンプトに明記した
運用監視ログ、メトリック、エラー、RU消費を確認できる
コスト確認代表的な質問パターンでRUと埋め込みAPI利用量を測った
移行手順既存検証環境からの更新手順と切り戻し手順を用意した
利用者教育AIが返す回答を鵜呑みにせず、根拠データを確認するルールを共有した

MCP Toolkit for Azure Cosmos DBは、Azure Cosmos DBをAIエージェントやCopilotの実用的なデータソースにするうえで有力な選択肢です。ただし、価値が出るかどうかは「接続できるか」ではなく、「安全な範囲で、必要なデータだけを、適切な利用者に公開できるか」で決まります。

次に取るべき行動は明確です。まずAIに公開したいユースケースを1つ選び、対象データを分離し、MCPサーバーの検証環境を作ります。そのうえで、Entra IDのロール、Managed Identity、検索インデックス、ログ、RU消費を確認し、小さく本番に近い形で試すのが最も安全な進め方です。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次