ClaudeとOmni Analyticsを連携する方法 — 権限を保ったままBIを引く
OmniのMCPサーバーをClaudeにつなぐ手順と、管理者が先に入れる設定、pickModel・pickTopic・getDataの役割、getDataが既定で無効な点をまとめます。
Omni Analytics Claude連携でできること
Omni Analyticsのコネクタは、BIツールOmniのセマンティックモデルをClaudeから自然言語で引くための接続です。Claudeのコネクタディレクトリでは「Anthropic verified」と表示され、2026年3月に追加されました。カテゴリは「Data & analytics」で、サインインが必要です。
説明文の中心は「データチームが定義したセマンティックモデル・権限・ロジックをそのまま使う」ことです。SQLを書く代わりに、モデルが持つ指標や項目の定義をClaudeが参照して、Omniにクエリを組ませます。
Omni側のドキュメントが挙げる特徴は次のとおりです。
- 自然言語の質問をOmniがクエリに変換する
- 結果をメモリに残して、複数ステップで掘り下げる
- 会話の途中でOmniのモデルを切り替えられる
- クエリはMCPに渡したモデル(指定すればトピックも)の範囲に閉じる
- 認証したユーザーの権限でクエリが走る
コネクタURLは https://callbacks.omniapp.co/callback/mcp です。コネクタの一覧に載っているツールは pickModel / pickTopic / getData の3つで、記事の以降はこの3つを軸に読み解きます。
接続の前に管理者が入れる設定
Omniの組織管理者(Organization Admin)が設定を済ませていないと、接続しても使えません。先にここを確認するのが近道です。
管理者側で必要な設定
- Settings > Generalの「Enable AI」と、AI Hub > Featuresの「Omni Agent」を有効にする
- AI Hub > MCPの「MCP server」を有効にする(既定で有効)
- OAuthで接続する場合は、Personal Access Tokens(PAT)を有効にする
getDataを使うなら「Single shot query generation」を別に有効にする(既定は無効)
「Omni Agent」を無効にすると、pickModel 以外のMCPツールはクライアントに表示されたまま、呼び出すと 403 Feature is not enabled を返します。ツールが見えるのに動かないときは、まずこの設定を疑えます。
MCPサーバーそのものを止めた場合は、新しいOAuth認可が403になり、すでに許可済みの接続もツール呼び出しをブロックされます。
3つのツールと、getDataが既定で無効な理由
コネクタの一覧にある3つのツールは、次の役割です。
| ツール | 役割 | 有効になる管理者設定 |
|---|---|---|
pickModel | 役割利用できるモデルとIDの一覧を返し、問い合わせ先を選ぶ | 有効になる管理者設定Agentic capabilitiesまたはSingle shot query generation |
pickTopic | 役割選んだモデルのトピックを返し、質問に近いものを選ぶ | 有効になる管理者設定同上 |
getData | 役割選んだモデルとトピックにクエリを実行して結果を返す | 有効になる管理者設定Single shot query generation |
pickModel で扱うモデルは、MCPの設定にモデルIDを渡しておけば省略できます。トピックについても、接続時に X-MCP-Query-All-Views ヘッダーでビュー全体への問い合わせを許可した場合は、pickTopic の手順が任意になります。
ここで見落としやすいのが、getData の扱いです。Omniの設定ページでは、Single shot query generationは既定で無効と書かれています。コネクタの紹介ページにはツールが3つ並んでいても、組織の設定次第では getData が呼べません。
一方で、Agentic capabilities(既定で有効)を使うと、askOmni / checkStatus / cancelJob といった別のツールが加わります。askOmni はジョブを投げてすぐ戻り、checkStatus で完了を確かめる仕組みです。長い分析がタイムアウトしないよう、2つを組み合わせて使う設計だと説明されています。コネクタの紹介ページのツール欄にはこの3つが載っていないため、ツール数が実際の接続とずれて見える点は押さえておく価値があります。
Claude Desktopで接続する手順
Omniのドキュメントは、Claude Desktopの接続方法を3通り示しています。公式コネクタ経由が推奨です。
公式コネクタで接続する流れ
- 1
コネクタを追加する
Omni Analyticsのコネクタページで「Add to Claude」を押します。
- 2
Omniの認可画面で許可する
ClaudeがOmniの認可ページに移動します。権限を確認して「Authorize」を押すと、OmniがPersonal access tokenを作り、ユーザーアカウントに紐づけます。
- 3
チャットで有効になっているか確かめる
チャットの「+」から「Connectors」を開き、Omniが有効になっていることを確認します。
公式コネクタを使わない場合は、Settings > Connectorsの「Add custom connector」から、次のURLをRemote MCP Server URLに入れます。名前は Omni などで構いません。
https://callbacks.omniapp.co/callback/mcp追加後にコネクタ横の「Connect」を押すと、ブラウザでOmniの認可画面が開きます。流れは公式コネクタと同じです。
使い始めると、ツールを呼ぶたびに承認を求められ、「Allow once」か「Allow always」を選びます。ドキュメントの例は Hey Omni, tell me how many users have been sourced by referrals というプロンプトです。Omniを名指しすると、Claudeはこの接続を使います。
複数のOmni組織に所属している場合
OAuthの認可は、最後にログインしたOmni組織のCookieを使ってリダイレクトされます。複数の組織に入っているなら、接続したい組織にいったんログインし直してから認可を始めると、別の組織につながる事故を避けられます。
Claude CodeとAPIキー接続
Claude Codeからは、次のコマンドで追加します。
claude mcp add --transport http omni \
https://callbacks.omniapp.co/callback/mcp追加後に claude で新しいセッションを開き、Omniの認証を済ませます。Claude Codeでのコネクタ全般の扱いは、別のMCP接続の記事と同じ考え方です。たとえばPower BI MCPサーバーのつなぎ方は、同じくBIの文脈でツールの使い分けを扱っています。
OAuthを使わず、APIキーで管理者が一元管理する方法もあります。自動化ワークフローや、サービスアカウントで動かしたい場合に向きます。Claude Desktopでは claude_desktop_config.json に次の形で書きます。
{
"mcpServers": {
"Omni MCP": {
"command": "npx",
"args": ["@omni-co/mcp"],
"env": {
"MCP_SERVER_URL": "https://<YOUR_OMNI_INSTANCE>/mcp/https",
"MCP_API_KEY": "<OMNI_API_KEY>",
"MCP_MODEL_ID": "<OPTIONAL_OMNI_MODEL_ID>",
"MCP_TOPIC_NAME": "<OPTIONAL_TOPIC_NAME>"
}
}
}
}この方式ではnpmとNode.jsが必要です。MCP_MODEL_ID と MCP_TOPIC_NAME を入れると、問い合わせ先をその範囲に固定できます。接続先URLはOAuthの callbacks.omniapp.co ではなく、自分のOmniインスタンスの /mcp/https になります。
権限はどこまで引き継がれるか
OAuthで接続すると、クエリは認証したユーザーのOmni権限で実行されます。つまり、ClaudeだからといってOmniで見られない行や項目が見えるようにはなりません。
注意したいのは、MCP用に作られるPATの性質です。
- Viewerのユーザーも認可フローを完了でき、PATは作られる
- ただしPATはアプリ内の権限を引き継ぐので、Viewerはクエリを実行できない
- このPATはOmniの画面には表示されず、確認するにはAPI Tokensの一覧取得エンドポイントを使う
APIキー方式は、キーを作ったユーザーの権限で動きます。ユーザー単位で絞りたいときは、MCP_USER_REQUIRED と MCP_USER_ID で特定ユーザーの権限として実行させる設定が用意されています。
もう一つ、データの置き場所に関する注意があります。MCPで返したデータは、それを使うツールの中に入ります。Claudeで使うなら、結果はClaudeの会話の中にあります。Omni上のガバナンスは問い合わせまでを守り、返ったあとの扱いは利用側のルールに従う設計です。
結果を良くするためのOmni側の準備
Omniのドキュメントは、結果を良くする方法として次の2つを挙げています。
- Omniのモデルを、AI向けに整える(項目の説明やコンテキストを充実させる)
- AIが返した結果を評価する
セマンティックモデルを「Claudeの知識」にする構成なので、モデルの定義が曖昧だと答えも揺れます。接続の手間より、モデル側の整備のほうが効きます。
つまずいたときの切り分け
認証まわりの症状は、次の順で見ると絞れます。
接続できないときの切り分け
- QOmniのMCP serverは有効ですか?答えがいいえのとき答えがはい
管理者にAI Hub > MCPでの有効化を頼みます。無効だと新しい認可が403になります。
- QEnable AIとOmni Agentは有効ですか?答えがいいえのとき答えがはい
無効だと、pickModel以外が403 Feature is not enabledで失敗します。
- QOAuthで接続するなら、PATは有効ですか?答えがいいえのとき答えがはい
管理者にPersonal Access Tokensの有効化を頼みます。
それでもクエリが失敗するなら権限を見る
モデルとトピックへのアクセス権と、Omniユーザー自身のデータ権限を確かめます。
認可画面で「Authorize」を押した後に失敗する場合は、ブラウザがMCPクライアントへのリダイレクトを許可しているか、APIキーを作る権限があるかを見ます。切断してから再接続する手も案内されています。
類似のBI・指標系コネクタでは、ChartMogulをClaudeにつなぐ記事が、読み取り専用の権限設計という別の切り口で参考になります。決済データならCheckout.comの記事があります。
どんな質問に向いているか
Omniの接続が活きるのは、定義が決まった指標を会話で何度も絞り込む場面です。ドキュメントの例は、流入元別のユーザー数の質問でした。Omniの機能説明には、ウェブ検索の結果を追加の文脈として渡してからOmniにクエリさせる使い方も出てきます。Claude側の検索や他のコネクタと組み合わせて、Omniのデータに外部の文脈を足す使い方です。
ダッシュボードやアプリの検索、保存済みクエリの実行、ダッシュボードのPNG・PDFダウンロードは、Content accessの設定で使えるツール群が担当します。通常の質問から一歩進んで、すでにチームが作った資産を再利用したいときに向きます。
まとめ
Omni Analyticsのコネクタは、接続自体は「Add to Claude」から数分で終わります。差が出るのは管理者側の設定です。Omni Agent・MCP server・PATが有効か、getData を使うならSingle shot query generationを足したかで、使えるツールが変わります。接続後の答えの質は、セマンティックモデルをどれだけAI向けに整えているかで決まります。