Power BI従量課金 MCP サーバー (プレビュー)

Power BI従量課金 MCP サーバーは、AI エージェントが自然言語を使用してPower BIセマンティック モデルのデータとチャットする、リモートでホストされるエンドポイントです。 モデル コンテキスト プロトコル (MCP) に基づいて構築され、プロンプトをPower BI操作に変換し、DAX クエリを生成し、アクセス許可とセキュリティ ポリシーを尊重しながら実行します。

クエリではなくセマンティック モデルを作成または変更するには、MCP サーバーの作成Power BI参照してください。

この記事では、次の方法について説明します:

  • Visual Studio Code でリモート Power BI MCP サーバーに接続する
  • GitHub Copilot を Power BI セマンティック モデルに接続する
  • テスト クエリを使用して接続を検証する

Important

セマンティック モデルを使用する場合は、Fabric IQ MCP サーバーを使用することをお勧めします。 Fabric IQ は、信頼できるビジネス データとコンテキストを、Power BIセマンティック モデルとレポートから AI クライアントに取り込むための主要な MCP サーバーです。 この記事では、プレビュー段階にある以前の Power BI MCP 従量課金エンドポイントについて説明します。

[前提条件]

  • 管理者の承認 - Power BI 管理者はテナント設定を有効にする必要があります。"ユーザーは Power BI モデル コンテキスト プロトコル サーバー エンドポイント (プレビュー) を使用できます"
  • Visual Studio Code - VS Code のダウンロード
  • GitHub Copilot - VS Code で GitHub Copilot を有効にする
  • セマンティック モデルのアクセス - 少なくとも 1 つの Power BI セマンティック モデルに対するアクセス許可を構築する
  • (推奨)最適化されたモデル - クエリ生成の品質を向上させるために AI のセマンティック モデルを準備する

VS Code で設定する

リモート Power BI MCP サーバーは次の場所にあります。

https://api.fabric.microsoft.com/v1/mcp/powerbi

サーバーを構成する最も簡単な方法は、ワンクリック インストーラーを使用することです。

このインストーラーは、VS Code 設定で MCP サーバーを自動的に構成します。

手動インストール

サーバーを手動で構成するには、MCP 構成ファイルに次のコードを追加します。

{
    "servers": {
        "powerbi-remote": {
            "type": "http",
            "url": "https://api.fabric.microsoft.com/v1/mcp/powerbi"
        }
    }
}

詳細情報:VS Code の MCP サーバー

Power BI MCP サーバー接続をテストする

構成後、セットアップが機能することを確認します。

  1. VS Code で MCP サーバーを起動する

    • MCP サーバー パネルを開く
    • Power BI MCP サーバーが接続済みとして表示されていることを確認する
  2. GitHub Copilot を開く

    1. VS Code でチャット ウィンドウを起動する
    2. エージェント モードを有効にする
  3. セマンティック モデル ID を指定する

    1. Power BI サービスからセマンティック モデル ID を取得する ( セマンティック モデル ID の検索を参照)
    2. 会話で Copilot と ID を共有する
  4. 質問する

    • 例: "このセマンティック モデルに含まれるテーブルは何ですか?
    • 例: "売上別の上位 10 製品を表示する"
  5. ツールを承認する

    1. メッセージが表示されたら、Copilot に MCP サーバー ツールの使用を許可します
    2. 要求された場合は、Microsoft の資格情報を使用して認証します
  6. 応答を確認する

    • Copilotモデルに対してクエリを実行し、結果を返します

ヒント

最良のクエリ結果を得るには、AI 命令と検証済みの回答を追加して、 AI のセマンティック モデルを準備 します。

トラブルシューティング:VS Code で MCP サーバーを管理する

使用可能な Power BI MCP サーバー ツール

リモート Power BI MCP サーバーには、AI エージェントが呼び出すツールとして、クエリの実行、セマンティック モデル スキーマの取得、レポート メタデータの取得、およびクエリの生成が用意されています。 次のセクションでは、各ツールについて説明します。

クエリ実行ツール

クエリ実行ツールは、Power BIセマンティック モデルに対して DAX クエリを実行し、その結果を AI エージェントに返します。

必要な入力:

  • セマンティック モデル ID
  • DAX クエリ式

アクセス許可:

  • セマンティック モデルに対する ビルド権限 が少なくとも必要です
  • クエリは、認証されたユーザーのコンテキストで実行されます

セキュリティに関する考慮事項:

「クエリの実行 REST API」も参照してください

セマンティック モデル スキーマの取得ツール

セマンティック モデル スキーマの取得ツールは、テーブル、列、メジャー、リレーションシップ、モデル作成者が構成した AI 最適化メタデータなど、Power BIセマンティック モデルの包括的なメタデータを取得します。 このツールを使用して、モデルの構造で DAX クエリの生成を実行し、クエリの精度を向上させる作成者が提供するガイダンスを表示します。

必須の入力: セマンティック モデル ID

含まれるもの:

  • テーブル、列、測定値、リレーションシップ
  • データ型と階層
  • Copilotツール メタデータは、構成すると、モデルに関するより多くのコンテキストを提供し、モデル内の適切なデータへのCopilotをガイドするのに役立ち、Copilot出力の品質を向上するのに役立ちます。

レポート メタデータの取得ツール

レポート メタデータの取得ツールは、ワークスペース情報、セマンティック モデルの詳細、ページ、ビジュアル情報、フィルターなど、Power BI レポートの高レベル スキーマを取得します。 レポートでは、レポートで実際にセマンティック モデルがどのように使用されているかが明らかになり、DAX クエリの生成をガイドする必要がある目的のコンテキスト、リレーションシップ、およびフィルター処理ロジックを明確にできます。 このツールを使用して、レポートが使用するモデル スキーマの構造で DAX クエリの生成を実行し、クエリの精度を向上させる作成者が提供するガイダンスを表示します。

必須の入力: レポート ID

含まれるもの:

  • レポート内のページ(非表示かどうかにかかわらず)
  • グラフ、テーブル、マトリックス、スライサー、カードなど、有効なモデル スキーマ参照を含むビジュアル。 このツールは、アクション ボタン、図形、画像、四角形などのデータ以外のビジュアルを除外します。
  • 非表示の列とメジャーがビジュアルで参照される場合
  • フィールドをカテゴリ、値、凡例、ヒントなどのビジュアル ロールにマップするビジュアル バインド
  • 各ページのテキスト ボックスの内容

制限:

  • レポート メタデータがサポートされている最大サイズを超えると、要求は失敗します。

クエリ生成ツール

クエリの生成ツールでは、Power BIのCopilotを使用して、自然言語プロンプトから最適化された DAX クエリを作成します。 このツールでは、Power BI 用 Copilot と同じ DAX 生成エンジンを使用して、ベスト プラクティスに従うクエリを作成します。

必要な入力:

  • セマンティック モデル ID
  • 自然言語の質問またはプロンプト
  • エージェントが決定する関連するスキーマ コンテキスト (テーブル、列、メジャー)

Requirements:

Note

Copilot 容量を使用しない場合は、MCP クライアント構成でこのツールを無効にし、クライアントの LLM に依存して DAX を直接生成します。

セマンティック モデル ID を検索する

Power BI サービスからセマンティック モデル ID を取得するには:

  1. Power BI にサインインする
  2. セマンティック モデルを含むワークスペースに移動します
  3. セマンティック モデルを選択して詳細ページを開く
  4. URL からセマンティック モデル ID をコピーする

セマンティック モデルの URL は、次の形式に従います。

https://app.powerbi.com/groups/{workspaceId}/datasets/{semanticModelId}

ヒント

  • 頻繁に使用されるモデル ID を格納します。エージェントは、 semantic-model-ids.json ローカル ファイルやエージェント命令ファイルのようにアクセスできます。
  • Power BI REST API を使用して、セマンティック モデル ID をプログラムで取得することもできます。

制限事項と考慮事項

認証とセキュリティ

  • 行レベルセキュリティ (RLS): サービス プリンシパル認証を使用する場合、Power BIでは RLS は適用されません。 サービス プリンシパルは、クエリを実行するときに、プリンシパルがアクセスを許可されているすべてのデータにアクセスできます。 サービス プリンシパルで認証されたエージェントをエンド ユーザーに公開する前に、セキュリティへの影響を慎重に確認してください。
  • テナント設定: 管理者は、組織で "ユーザーは Power BI モデル コンテキスト プロトコル サーバー エンドポイント (プレビュー) を使用できます" を有効にする必要があります。

クエリの生成

  • 複雑な DAX: 非常に複雑な計算や入れ子になったロジックは、自然言語のプロンプトからうまく変換されない場合があります。
  • モデルの最適化:AI 用にデータを準備すると、クエリ生成の品質が大幅に向上します。

Performance

  • モデル設計への影響: クエリ実行のパフォーマンスは、セマンティック モデルの設計、サイズ、および最適化によって異なります。
  • 大きなスキーマ: 数百のテーブルまたは数千の列を持つモデルでは、スキーマ ペイロードが大きくなる可能性があります。
  • クエリの複雑さ: 複雑な DAX クエリの生成と実行には時間がかかる場合があります。

コンテキストと会話

  • コンテキスト ウィンドウの制限: MCP クライアントが使用する AI モデルでは、会話ターン間で維持できるコンテキストの量が制限されます。
  • ステートレス クエリ: 各クエリは個別に実行されます。 サーバーは、要求間でクエリの状態を維持しません。