Fabric IQ MCPサーバーを始めましょう

Fabric IQ MCPは、AIエージェント、アプリケーション、MCP互換クライアントをMicrosoft Fabric内のPower BIレポートやセマンティックモデルに接続するリモートモデルコンテキストプロトコル(MCP)サーバーです。

サーバーは読み取り専用ツールセットを公開し、エージェントがPower BIのコンテンツを見つけ、レポートやセマンティックモデルのメタデータを検査し、関連する値を特定し、サインインしたユーザーがアクセス可能なデータに対してDAXクエリを実行します。 各クライアントごとに別々のFabric統合を作ることなく、互換性のあるMCPクライアントを接続できます。

Fabric IQ MCPは自然言語応答ツールを公開していません。 呼び出しAIエージェントはツールを選択し組み合わせ、DAXクエリを作成し、結果を説明します。

Fabric IQ MCPは一般的に利用可能です。

サーバーは発信者の既存のMicrosoft Fabric権限を適用します。 MCP経由で接続しても、発信者が通常アクセスできないレポートやセマンティックモデル、データへのアクセスは得られません。 Power BIの行レベルのセキュリティ(RLS)およびオブジェクトレベルのセキュリティ(OLS)は、返送されるデータを引き続き制限しています。

Important

Fabric IQ MCPはMCPサーバーであり、従来のREST APIではありません。 クライアントはMCPのライフサイクルとツールインターフェースを通じて操作します。

この記事では次の方法を紹介します:

  • 前提条件を確認します。
  • Fabric IQ MCPをGitHub Copilot CLIに追加してください。
  • 推奨エージェント体験のためにFabric IQスキルを活用してください。
  • Microsoft Entra ID でサインインします。
  • MCP接続とFabricアクセスを確認してください。
  • 利用可能なPower BIツールを理解しましょう。
  • 現在のFabric IQツール契約版をピン留めしてください。

Prerequisites

接続する前に、以下のことを確認してください:

  • ホームリージョンがすべてのFabricワークロードをサポートするテナント。
  • Microsoft Entra職場または学校アカウント。
  • 少なくとも1つのサポートされているPower BIレポートまたはセマンティックモデルへのアクセス。
  • GitHub Copilot CLIがインストールされ認証されました。

Fabric IQ MCPは既存のFabric権限を尊重します。 セマンティックモデルに対してワークスペースロールやビルド権限は必要ありません。 また、最初のテストでワークスペースID、レポートID、セマンティックモデルIDは必要ありません。 アクセス可能なレポート名やセマンティックモデルの名前だけが必要です。 また、ブラウザのアドレスバーからレポートやセマンティックモデルのURLをコピーしてMCPクライアントに貼り付けることもできます。

クライアントの互換性

  • クライアントはStreamable HTTPと必要なOAuth 2.0フローをサポートしなければなりません。
  • 一部のクライアントはシングルテナントのMicrosoft Entraアプリ登録が必要です。
  • クライアントは仮定されたスキーマをハードコーディングするのではなく tools/list 呼び出し、加算ツールやフィールドを許容すべきです。

Fabric IQ MCPエンドポイント

以下のエンドポイントをご利用ください:

https://fabriciq.svc.cloud.microsoft/v1/mcp/fabriciq

Note

もし組織がプライベートリンクを使用している場合は、代わりにプライベートリンク https://api.fabric.microsoft.com/v1/mcp/fabriciq を使いましょう。

Important

Fabric IQ MCPはSkills for FabricのFabric IQスキルと最もよく合います。 推奨される体験のために、それらを組み合わせて使いましょう。

スキルとMCPサーバーは補完的な役割を果たします。 このスキルは、AIエージェントにPower BIコンテンツの特定方法、レポートおよびセマンティックモデルのコンテキストの解釈、そしてビジネスの質問に答えるためにFabric IQツールを調整する方法を教えます。 MCPサーバーは認証済みのアクセスを提供し、あなたのライブPower BIコンテンツにアクセスし、ツール呼び出しを実行します。

スキルをインストールしなくてもFabric IQ MCPに接続できます。 これがなければ、クライアントはFabric固有のオーケストレーションやガードレールを決定しなければなりません。

GitHub Copilot CLIについては、「Install Skills for Fabric」をフォローしてプラグインマーケットプレイスを通じてSkills for Fabricをインストールしてください。 次に、次のセクションで説明するようにFabric IQ MCPエンドポイントを設定します。

GITHUB COPILOT CLI を設定する

Fabric IQ MCPはStreamable HTTP上でMCPを使用します。 プロトコルの概念やクライアントのガイダンスについては、 モデルコンテキストプロトコルのドキュメントを参照してください。 Windowsでは、%USERPROFILE%\.copilot\mcp-config.jsonを開くか作成してください。 macOSやLinuxでは、 ~/.copilot/mcp-config.jsonを開くか作成してください。

以下のサーバー構成を追加してください:

{
  "mcpServers": {
    "FabricIQ": {
      "type": "http",
      "url": "https://fabriciq.svc.cloud.microsoft/v1/mcp/fabriciq",
      "tools": ["*"]
    }
  }
}

推奨構成に Authorization ベアラートークンを追加しないでください。 設定された Authorization ヘッダーはインタラクティブなOAuthおよび自動トークン管理を上書きします。 トークンが無効または期限切れの場合は、ヘッダーを削除してインタラクティブなサインインフローを復元します。

Authenticate

Fabric IQ MCPはMicrosoft Entra IDを通じた委任されたOAuth 2.0認証を使用しています。

すべてのクライアントはPower BI Service APIからの委任されたItem.Read.All、Item.Execute.All、Dataset.Read.All権限を必要とします。 サービスプリンシパル認証やアプリケーションのみ認証はサポートされていません。

GitHub Copilot CLI(コマンドラインインターフェース)

GitHub Copilot CLIは事前登録済みのMicrosoft Entraアプリケーションを使用しています。 自分でアプリ登録を作成する必要はありません:

  1. MCPの設定を保存した後、GitHub Copilot CLIを起動します。
  2. /mcp show FabricIQ を実行します。
  3. 求められたら、Microsoft Entraの職場または学校のアカウントでサインインしてください。
  4. 求められたら要求された権限を受け入れてください。
  5. サインイン完了後、GitHub Copilot CLIに戻る。

ブラウザはMicrosoft Entraアカウントを選択するよう促します:

Microsoftのサインインページでアカウントを選択するよう促すスクリーンショット。

承認が成功したら、GitHub Copilot CLIに戻ってください:

承認成功確認ページのスクリーンショットです。

クライアントはランタイムでベアラートークンを取得し、保存し、更新し、送信します。

アプリの登録が必要なクライアント

もしMCPクライアントがOAuth対応の事前登録済みMicrosoft Entraアプリケーションを提供していない場合は、自分でアプリ登録を作成してください:

  1. Microsoft Entra 管理センターでアプリの登録に行き、「新規登録」を選択してください。
  2. 名前を入力し、 この組織ディレクトリの「アカウント 」を選択すると、単一テナントアプリケーションを作成できます。
  3. 認証の下に、MCPクライアントが必要とするリダイレクトURIを追加してください。
  4. API のアクセス許可で、アクセス許可の追加>>Power BI Service を選択します。
  5. 委任 権限を選択し、 Item.Read.All、 Item.Execute.All、 Dataset.Read.Allを追加し、その後 「権限を追加」を選択します。
  6. MCPクライアントが要求する場合は、アプリケーション(クライアント)IDとテナントIDを提供します。
  7. Fabric IQ MCP接続を開始し、ブラウザのサインインフローを完了します。

Note

Item.Read.All、Item.Execute.All、Dataset.Read.All権限はデフォルトで管理者の同意を必要としません。 テナント設定で許可されている場合、ユーザーは同意できます。 テナント管理者はユーザーの同意を制限したり、管理者承認ワークフローの使用を要求したりすることができます。 認証権限はエンドポイント全体に適用されます。

接続をテストする

セットアップの検証には2回のチェックを使います。

MCP接続を確認してください

設定を保存した後:

  1. GitHub Copilot CLIを開始します。
  2. /mcp show FabricIQ を実行します。
  3. ブラウザのサインインを促されたら必ず実行してください。
  4. サーバーが接続されていること、そしてFabric IQツールが利用可能であることを確認しましょう。

このチェックではエンドポイント、認証、MCPハンドシェイクの確認が行われます。

GitHub Copilot CLIで/mcp show FabricIQを入力してください:

MCPのスクリーンショットはGitHub Copilot CLI内のFabricIQコマンドを示しています。

コマンドは接続状況と利用可能なFabric IQツールを表示します:

GitHub Copilot CLI内の接続されたFabric IQ MCPサーバーとその6つの利用可能なツールのスクリーンショット。

Tip

ランタイム tools/list 応答を利用可能なツールや入力スキーマの権威あるリストとして使用してください。

Fabricアクセスとツール実行をチェックしてください

クライアントに、あなたがアクセスできるレポートやセマンティックモデルを探すよう依頼してください。 例えば次が挙げられます。

Find the Sales Analytics report in Microsoft Fabric.

クライアントは DiscoverArtifacts 名前で検索するために呼び出します。 成功した結果は以下のことを証明します:

  • 認証。
  • Fabric のアクセス許可
  • ツールの発見と実行。
  • ターゲットレポートやセマンティックモデルへのアクセス。

GitHub Copilot CLIがDiscoverArtifactsツールでPower BIレポートを見つけるスクリーンショットです。

内部識別子を提供する必要はありません。 Fabric IQ MCPは、後のスキーマやクエリ操作に必要な識別子を取得します。

あるいは、ブラウザのアドレスバーからレポートやセマンティックモデルのURLをコピーしてクライアントに貼り付ける方法もあります。 どちらのタイプでもPower BIの共有リンクは使わないでください。 Fabric IQ MCPはブラウザのURLを解決し、後のツールが必要とする識別子を取得します。

GitHub Copilot CLIがPower BIレポートURLを解析し、レポートをまとめているスクリーンショットです。

エンドツーエンドのデータテストを実行してください

発見が成功したら、そのアイテムからのデータが必要な質問をしてください。 例えば次が挙げられます。

Using the Sales Analytics report, show total sales by region for the latest quarter.

依頼に応じて、クライアントは以下を行えます:

  1. DiscoverArtifactsかResolveFabricItemに電話してください。
  2. GetReportMetadataとGetSemanticModelSchemaに電話してください。
  3. 利用可能な場合は ValueSearchに電話して正確な保存値を探してください。
  4. DAXクエリを生成します。
  5. ExecuteQueryを呼び出します。
  6. 結果を説明してください。

GitHub Copilot CLIがセマンティックモデルをクエリし、最高支出値と最低支出値を比較しているスクリーンショットです。

使用可能なツール

Fabric IQはPower BIレポートやセマンティックモデルを扱うためのツールを提供します。

ツール Description
DiscoverArtifacts 名前でPower BIレポートやセマンティックモデルを検索します。
ResolveFabricItem 他のツールが使用できるサポート済みのFabricアイテムURLを解決します。
GetReportMetadata Power BIレポート用のメタデータを取得します。
GetSemanticModelSchema 意味論モデルのスキーマ情報を取得する。
ValueSearch 特定の保存値をセマンティックモデルで検索します。
ExecuteQuery DAXクエリをセマンティックモデルに対して実行します。

エージェントは通常、複数のツールを組み合わせて一つの質問に答えます。

工具契約

tools/listとtools/callを通じて公開されたFabric IQツール契約は以下の通りです:

  • 利用可能な工具名。
  • ツール入力スキーマ。
  • ツール出力契約。
  • ツールの挙動。
  • エラー時の動作。

仮定されたツールスキーマをハードコーディングするのではなく、実行時に tools/list 呼び出しましょう。

ツールセットのバージョンを選択する

Fabric IQはX-Variantsヘッダーを使ってツール契約のバージョンを選択します。 エンドポイントURLの v1 はエンドポイントアドレスの一部であり、ツール契約版ではありません。

現在の公開版は Fabric.Routing.FabricIQ.V1です。 このバージョンをピン留めするには、すべてのMCPリクエストに以下のヘッダーを送信します:

X-Variants: Fabric.Routing.FabricIQ.V1

initialize、tools/list、tools/callにも同じ値を使いましょう。 新しいバージョンがデフォルトになると、この記事はそのセレクターとともに更新されます。

制限事項と考慮事項

  • Fabric IQ MCPは、テナントホームリージョンがすべてのFabricワークロードをサポートする場合に利用可能です。 Power BI専用のリージョンやソブリンクラウドでは利用できません。 レポートやセマンティックモデルはFabricやPremiumの容量でホストする必要はありません。
  • Fabric IQ MCPはPower BIレポートおよびセマンティックモデルをサポートしています。 Power BIのダッシュボード、ページ付き(RDL)レポート、Power BIアプリはサポートしていません。 現在、Fabricのオントロジーやデータエージェントをサポートしていません。
  • Fabric IQ MCPは読み取り専用の消費シナリオをサポートしています。 ワークスペース管理、開発、アイテム作成の機能は提供していません。 これらの操作には、より広範なFabric MCPサーバーと連携してSkills for Fabricを使用します。
  • 各 ExecuteQuery コールは1つのセマンティックモデルを対象としています。 ツールセットは複数のセマンティックモデルを1回の実行で結合・クエリしません。 エージェントとプロンプトに応じて、エージェントはセマンティックモデル間の別々の実行結果を組み合わせることができます。
  • maxRowsを指定しない場合、ExecuteQueryデフォルトで最大250行まで返します。 maxRows 設定してより大きな結果セットを要求します。 大規模な応答の場合、Fabric IQ MCPは自動的に埋め込まれたCSVリソースを返します。 クライアントは通常、小さなインラインプレビューを表示し、CSVリソースを通じて完全なデータセットへのアクセスを提供しますが、組み込みリソースのサポートは様々です。 集約、フィルター、フォーカスクエリを使って結果サイズを削減しましょう。 CSVの配信はPower BIクエリの制限に左右されるため、結果が切り詰められることがあります。
  • サービス主体認証はサポートされていません。
  • アプリケーションのみの認証はサポートされていません。
  • クエリ結果はセマンティックモデルで利用可能なデータを反映し、最新の成功した更新時のみ最新です。
  • RLSとOLSは、同じクエリに対して異なるユーザーに対して異なる結果を受け取ることがあります。
  • 認証済みのアイデンティティがアクセスできないレポートやセマンティックモデルには、サーバーは問い合わせることができません。
  • ディスカバリー、メタデータ、値検索、クエリ操作は、サインインしたユーザーのPower BI権限の下で実行されます。 管理者のなりすましの道はありません。
  • モデルが問題に必要なフィールド、測定値、関係性、値などを明示しない場合、ツールの結果は不完全または失敗する可能性があります。
  • Power BI サービス側のスロットリングはメタデータおよびDAX操作に適用されます。 レート制限エラーは再試行可能であり、クライアントは再試行前に引き戻すべきです。

Troubleshooting

症状: 考えられる原因 確認すべきこと
ブラウザのサインインが開きません。 クライアントは自動OAuthディスカバリーをサポートしておらず、アプリの登録も必要です。 クライアントのOAuth設定を確認し、必要に応じてシングルテナントアプリ登録を設定してください。
認証が失敗します。 トークンが存在しない、有効期限が切れている、対象が正しくない、Item.Read.All、Item.Execute.All、または Dataset.Read.All のアクセス許可がない、またはテナントの同意ポリシーに基づく承認が必要です。 再認証し、アプリの登録、Power BIサービス権限、テナント同意ポリシーを確認してください。
tools/list 期待されるツールが表示されません。 サーバー接続が古くなっています。 接続を再起動し、ランタイムツールリストを確認してください。
Fabric IQツールは文書リストと一致しません。 X-Variantsヘッダーが欠落しているか、値が誤っている場合もあります。 X-VariantsをFabric.Routing.FabricIQ.V1として設定し、その後再接続してください。
既知のレポートやセマンティックモデルが見つかりません。 発信者がアクセス権を持たなかったり、アイテムタイプがサポートされていない、または名前が曖昧だったりします。 Fabricアクセスの確認、より具体的な名前の使用、または対応するレポートやセマンティックモデルブラウザのURLを提供する。
ツール呼び出しは権限エラーを返します。 認証済みのアイデンティティは、要求されたコンテンツや操作にアクセスできません。 レポートやセマンティックモデルへのアクセスを確認し、RLSやOLSが要求されたデータを制限しているかどうかを確認してください。
リクエストはレートリミットエラーを返します。 クライアントがリクエストを送りすぎたか、上流のPower BI APIが操作を制限したのです。 再挑戦する前に控え、リクエストのバーストを減らし、メタデータやクエリ結果を絞り込みましょう。
クエリは古いデータを返します。 セマンティックモデルは最近の刷新を完了していません。 モデルのリフレッシュ履歴を確認し、成功後に再試行してください。