リモート Power BI MCP サーバーを外部 MCP クライアントに登録する (プレビュー)

リモート Power BI MCP サーバーは、Visual Studio Codeや GitHub Copilot CLI など、事前登録されたMicrosoft Entra アプリケーションに付属する MCP クライアントですぐに使用できます。 その他の MCP クライアント ( Claude DesktopChatGPT など) には、OAuth クライアント ID の登録が必要です。 Microsoft Entra IDは現在クライアント登録をサポートしていないため、これらのクライアントは、Power BI MCP サーバーのクライアント ID を自動的に取得することはできません。

これを回避するには、Microsoft Entra アプリを自分で登録し、そのアプリケーション (クライアント) ID を OAuth クライアント ID として MCP クライアントに提供します。

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

  • 外部 MCP クライアントのMicrosoft Entra アプリ登録を作成して構成する
  • Entra アプリ ID を使用して、リモート Power BI MCP サーバーを外部クライアントに登録する

Prerequisites

始める前に、以下のことを確認してください:

  • Administrator の承認 - Power BI管理者はテナント設定を有効にする必要があります:Users は、Power BI モデル コンテキスト プロトコル サーバー エンドポイント (プレビュー) を使用できます。
  • アプリを登録するためのアクセス権 - Microsoft Entra テナントにアプリを登録することも、アプリを登録できるテナント管理者と連携することもできます。

手順 1: Microsoft Entra アプリの登録を作成する

Power BI環境をホストするのと同じMicrosoft Entra テナントに新しいアプリ登録を作成します。

  1. アプリケーションを登録できるユーザーとして Microsoft Entra 管理センター にサインインします。
  2. アプリの登録 に移動し、新しい登録 を選択します。
  3. わかりやすい名前を入力します (例: Power BI MCP - Claude Desktop)。
  4. [ サポートされているアカウントの種類] で、[この組織のディレクトリ内のアカウントのみ (シングル テナント)] を選択します。
  5. 現時点では、リダイレクト URI は空のままにしておきます。 次の手順で構成します。
  6. 登録を選択します。
  7. アプリの [概要 ] ページで、 アプリケーション (クライアント) ID をコピーします。 後で MCP クライアントを構成するときに使用します。

手順 2: リダイレクト URI を構成する

外部 MCP クライアントはパブリック クライアントとして機能するため、 パブリック クライアント/ネイティブ (モバイルおよびデスクトップ) 型のリダイレクト URI を追加する必要があります。

  1. アプリの登録で、 認証>リダイレクト URI の追加>Mobile アプリケーションとデスクトップ アプリケーションを選択します

  2. MCP クライアントによって提供されるリダイレクト URI を追加します。 例えば次が挙げられます。

    MCP クライアント リダイレクトURI
    クロードデスクトップ (Claude Desktop) https://claude.ai/api/mcp/auth_callback
    ChatGPT https://chatgpt.com/connector/oauth/<random_chars>
    その他のクライアント クライアントによって文書化された OAuth コールバック URL を使用する
  3. [ 構成] を 選択してプラットフォーム構成を保存します。

  4. [ 認証 ] ページの [詳細設定] で、クライアント ドキュメントで明示的に要求されない限り、[ パブリック クライアント フローを許可 する] が [いいえ ] に設定されていることを確認します。

  5. 保存を選びます。

Important

MCP クライアントによって文書化された正確なリダイレクト URI を常に使用します。 一致しない場合、OAuth サインインは失敗します。

手順 3: 委任されたPower BI APIアクセス許可を追加する

リモート Power BI MCP サーバーは、サインインしているユーザーの代わりに Power BI REST API を呼び出します。 Power BI Service API に次の委任されたアクセス許可を付与します。

  1. アプリの登録で、[API のアクセス許可] を選択します>アクセス許可を追加します

  2. Microsoft APIsPower BI Service を選択します。

  3. [ 委任されたアクセス許可] を選択し、次のアクセス許可を追加します。

    リソース URI: https://analysis.windows.net/powerbi/api

    Scope Description
    Dataset.Read.All ユーザーがアクセスできるすべてのセマンティック モデルを読み取る。
    MLModel.Execute.All ML モデルの実行を許可します。
    Workspace.Read.All ユーザーがアクセスできるワークスペースを読み取ります。
  4. アクセス許可の追加を選択します。

  5. (省略可能)テナントでこれらのアクセス許可に対する管理者の同意が必要な場合は、[ 管理者の同意を付与する] を選択します。 それ以外の場合、ユーザーは MCP クライアントから初めてサインインする際に同意するように求められます。

手順 4: MCP クライアントにリモート Power BI MCP サーバーを登録する

リモート Power BI MCP サーバーをクライアントに追加するときに、手順 1 の Application (クライアント) ID を OAuth クライアント ID として使用します。 正確な構成手順は、クライアントによって異なります。

サインインに失敗した場合は、次のことを確認します。

  • Entra アプリのリダイレクト URI は、クライアントが期待したものと正確に一致します。
  • 必要な委任されたPower BIアクセス許可が付与されます (テナントで必要な場合は管理者が同意します)。
  • テナント設定 "ユーザーは Power BI モデル コンテキスト プロトコル サーバー エンドポイント (プレビュー) を使用できます" が有効になっています。

クロードデスクトップ (Claude Desktop)

  1. Claude Desktop を開き、 設定>Connectors>カスタム コネクタの追加に移動します。

  2. 次の値を入力します。

    • 名前: Power BI
    • リモート MCP サーバー URL: https://api.fabric.microsoft.com/v1/mcp/powerbi
    • OAuth クライアント ID: 手順 1 の アプリケーション (クライアント) ID
  3. コネクタを保存します。 Claude Desktop によってブラウザー ウィンドウが開き、Microsoft Entra アカウントでサインインし、要求されたPower BIのアクセス許可に同意できます。

ChatGPT

  1. ChatGPT で、[>> に移動します。

  2. [新しいアプリ] ダイアログに入力します。

    • 名前: Power BI
    • MCP サーバー URL: https://api.fabric.microsoft.com/v1/mcp/powerbi
    • 認証: [OAuth] を選択します。
  3. [ 詳細設定] を展開して、検出された OAuth 設定を確認し、次の構成を行います。

    • 登録方法: User-Defined OAuth Client を選択します。
    • OAuth クライアント ID: 手順 1 の アプリケーション (クライアント) ID を 入力します。
  4. を選択してを作成します。 ChatGPT は、Microsoft Entra アカウントでサインインし、要求されたPower BIアクセス許可に同意するように求められます。

その他の MCP クライアント

他の MCP クライアントの場合は、クライアントのドキュメントに従ってリモート MCP サーバーを追加します。

接続をテストする

クライアントにサーバーを登録した後、セットアップを検証します。

  1. MCP クライアントで新しい会話を開始します。
  2. Power BI MCP サーバーを必要とする質問をします。例: "セマンティック モデルのテーブル [セマンティック モデルの ID]?"
  3. クライアントがPower BIセマンティック モデルから結果を返していることを確認します。