ClaudeとThoughtSpot Spotterを連携する方法 — 売上の変化を自然言語で掘る
ThoughtSpot SpotterのコネクタをClaudeにつなぐと、権限内のデータモデルに自然言語で質問し、結果をダッシュボードに残せます。前提のライセンスとバージョン、接続手順、5つのツールの動きをまとめます。
ThoughtSpot SpotterをClaudeにつなぐと、自社のThoughtSpotにあるデータモデルへ自然言語で質問できます。分析を実行するのはThoughtSpot側のエンジンで、Claudeは質問を渡して結果を受け取る役です。結果はThoughtSpotのダッシュボード(Liveboard)として残せます。
Claudeのコネクタ一覧には「Anthropic verified」付きで載っていて、開発元はThoughtSpotです。2026年5月に追加され、サインインが必要です。
この記事では、使うための前提(ライセンスとバージョン)、Claude WebとDesktop・Claude Codeそれぞれの接続手順、5つのツールの動き、つまずきやすい点を順に扱います。
Claude ThoughtSpot Spotter連携とは
Spotter MCP Serverは、ThoughtSpotが運営するリモートのMCPサーバーです。MCPクライアントとThoughtSpotの間に立ち、ツール呼び出しを受けて認証し、ThoughtSpotへ中継します。クエリの実行とチャートの生成はThoughtSpotのインスタンスが担当します。
ここが、MetabaseのようにClaude自身がクエリを組み立てる連携との違いです。Metabaseの連携では、Claudeがツールを選んでクエリの中身まで決めます。Spotterでは、ClaudeがThoughtSpotのエージェントに質問を渡し、エージェントが分析を進めます。
ThoughtSpotのドキュメントによると、接続するとAIエージェントは次のことができます。
- ThoughtSpotのMCPツールを自動で見つける
- 自然言語の質問を投げて回答を受け取る
- 会話の結果からLiveboardと可視化を作る
- 既存のコンテンツを名前・作成者・タグ・種類で検索する
データの見え方は、接続した本人のThoughtSpot上の権限で決まります。行レベル・列レベルのセキュリティ(RLS・CLS)は回答にも自動で適用されます。
使う前に確認する前提
コネクタを追加するだけでは動きません。ThoughtSpot側の条件が先にあります。
接続の前に確かめる3点
ライセンス
Spotter MCP ServerはアドオンとしてEnterprise EditionかThoughtSpot Embeddedのライセンスで提供されます。購入の相談は営業担当が窓口です。
バージョン
ThoughtSpotは10.11.0.cl以降が必要です。Spotter 3の機能を使うなら26.2.0.cl以降です。
権限
対象のモデルとテーブルを閲覧できる権限が要ります。チャートやダッシュボードを作るには、データのダウンロードとコンテンツ作成の権限も必要です。
ライセンスの有無は、自分のThoughtSpot管理者に聞くのが早道です。コネクタページには、必要なプランの記載がありません。
Claude WebとDesktopでつなぐ
ThoughtSpot SpotterはClaudeのコネクタ一覧から追加できます。手順は次のとおりです。
コネクタ一覧からの追加
- 1
コネクタ一覧を開く
Claudeのコネクタ一覧で「ThoughtSpot Spotter」を探します。
- 2
追加する
「Add to Claude」から追加します。
- 3
ThoughtSpotにサインインする
ブラウザでThoughtSpotのログイン画面に移り、認証します。SSOを使っている組織では、そのIdPの画面が挟まります。
- 4
質問してみる
データについて普通に質問します。ThoughtSpotのツールが呼ばれていれば、接続は成功です。
サインインはOAuthで進みます。ログイン後に発行されたトークンをClaudeが保持し、以降のツール呼び出しに付けます。MCPホストが動的クライアント登録(DCR)に対応していれば、OAuthクライアントは自動で登録されます。非対応のホストでは、ThoughtSpotのOAuthクライアント登録ページで事前に登録し、クライアントIDとシークレットをホストに設定します。シークレットは作成時に一度しか表示されません。
Claude Codeでつなぐ
Claude Codeからは、リモートMCPサーバーとして追加します。URLに ? が含まれるので、引用符で囲みます。
claude mcp add --transport http thoughtspot \
"https://agent.thoughtspot.app/mcp?api-version=latest"追加後に claude を起動し、/mcp で一覧からThoughtSpotを選んで認証します。OAuthが必要なリモートサーバーは、この画面で認証するのがClaude Codeの流れです。
バージョンを固定したいときは、日付を指定します。固定の意味は後の節で扱います。
claude mcp add --transport http thoughtspot \
"https://agent.thoughtspot.app/mcp?api-version=2026-05-01"トークンで認証するアプリ向けには、別のURL(https://agent.thoughtspot.app/token/mcp)が用意されています。Claudeから使う通常の接続はOAuth側のURLです。
質問が答えになるまでの流れ
コネクタページに載っているツールは5つです。
| ツール | 役割 |
|---|---|
check_connectivity | 役割MCPサーバーに届くかの疎通確認 |
create_analysis_session | 役割分析セッションの開始 |
send_session_message | 役割質問やフォローアップの送信 |
get_session_updates | 役割結果の取得(ポーリング) |
create_dashboard | 役割回答からダッシュボードを作成 |
肝になるのは非同期のセッションです。質問を送っても、その呼び出しでは答えが返りません。
create_analysis_sessionでanalytical_session_idを受け取る。データソースを指定しなければ、質問に最も合うものが自動で選ばれるsend_session_messageで質問を送る。返るのは受理の確認だけget_session_updatesをis_doneがtrueになるまで繰り返し呼び、途中経過を足し合わせる
ポーリングの途中では、Searching data models や Running query のような手順の見出しと、思考の説明文が流れてきます。最終的な回答には、タイトル、使われた検索クエリ、埋め込み用のiframe URL、ダッシュボード用の answer_id が付きます。1つの質問に回答は1つです。
1回の応答が5〜20回以上のポーリングにまたがることもあると、ドキュメントに書かれています。1回目のポーリングで答えが揃うとは限りません。
同じセッションなら、フォローアップは文脈を引き継いで続けられます。前の回答を貼り直す必要はありません。ただし、前の質問のポーリングが終わる(is_done: true)まで、次のメッセージは送れません。
「売上が落ちた理由」型の質問を投げる
Spotter 3は、高度な分析、予測、複数ステップの推論、ディープリサーチをうたっています。数字を引くだけでなく、変化の要因を掘る使い方が想定されています。
次のような依頼を、Claudeへの指示として使えます。これは例示で、実際の回答はデータモデルの中身によって変わります。
ThoughtSpotで、先月の売上が前月より落ちた地域を出して。
そのうえで、落ちた地域の売上を商品カテゴリ別に分けて、
どのカテゴリが原因か掘って。会計年度は4月始まりです。最後の「会計年度は4月始まり」のような前提は、send_session_message の additional_context に入れる使い方があります。ドキュメントの例には「ユーザーの会計年度は4月始まり」「ユーザーは西部リージョンのマネージャー」といった内容が挙がっています。毎回の質問に同じ前提を書くより、Claudeに一度伝えておくほうが楽です。
質問の癖は、次の順で効きます。
- 対象のデータソースがはっきりしているなら、名前で伝える。伝えなければThoughtSpotが自動選択する
- 期間は「先月」「今期」だけでなく、会計年度の始まりを添える
- 原因を掘りたいときは、切り口(地域・カテゴリ・チャネル)を2つ程度に絞る
回答は、Claudeが自分で描き直したチャートではなく、ThoughtSpotのiframeで表示される可視化です。埋め込みの標準設定では、Pin・Save・Downloadの操作と、集計・フィルタ・並べ替え・ドリルダウンが使えます。Editは出ません。編集したいときは、Make a Copyでコピーしてから触ります。
結果をダッシュボードに残す
分析の結果は create_dashboard でThoughtSpotのダッシュボードにできます。条件が1つあります。呼べるのは、get_session_updates が is_done: true を返した後だけです。answer_id が完了した回答にしか付かないためです。
入力は3つです。
title: ダッシュボードの題名answers: 回答のanswer_idとタイトルの組。同じセッションの複数の回答や、別セッションの回答もまとめられるnote_tile: 分析の要約をHTML1行で書いたもの。ダッシュボードの最初に見えるタイル
ダッシュボードのURLは dashboard_url として返ります。作成にはコンテンツ作成の権限が要るので、権限が足りないユーザーは先に管理者へ依頼します。
既存のLiveboardを探すときは、search_objects を使います。名前や説明で検索でき、種類(Liveboard・保存済みのAnswer・データモデルなど)、作成者、タグ、更新日、検証済みかどうかで絞り込めます。結果の既定は10件で、続きはカーソルで取ります。
コネクタページの5つと、ドキュメントのツールの違い
コネクタページが挙げるツールは5つですが、ThoughtSpotのドキュメントには search_objects、list_orgs、switch_org も載っています。コネクタ経由の接続で3つが使えるかは、コネクタページに記載がありません。同じサーバーのツールなので、接続後のツール一覧で確かめるのが確実です。Claude Codeなら /mcp の画面で見られます。
list_orgs と switch_org は、複数のOrgを持つユーザー向けです。Org対応のインスタンスでOAuthで接続したときだけ使え、トークン認証の接続では使えません。Orgは既定で最後にログインしたものになります。切り替えた状態は、全アクティブセッションに及びます。
つまずきやすい点
落とし穴
URLに日付を付けないと、ツールが変わる
日付を付けないURLや ?api-version=latest は、ThoughtSpotが新しい版を出すたびに追随します。ツールの挙動、入力パラメーター、出力の形が変わりうる、とドキュメントにあります。業務で使う接続や自作のワークフローは、?api-version=2026-05-01 のように日付で固定する選択肢があります。
古い版のURLにも注意が要ります。https://agent.thoughtspot.app/mcp(日付なし)は、いまのところ旧ツール(getDataSourceSuggestions、getAnswer、createLiveboard など)を指します。近いうちに最新版へ切り替わる予定です。旧ツールは同期型でセッションを持たず、フォローアップのたびに文脈を渡し直す必要があります。/openai/mcp と /bearer/mcp は非推奨です。
サインインや接続が切れる主な要因は次のとおりです。
- ブラウザがサードパーティCookieを遮断していると、サインインが完了しないことがある(認証がThoughtSpotクラスターのCookieに依存するため)
- 接続が14日間使われないと、セッションが切れて再認証になる
- トークンの更新時にThoughtSpotのインスタンスに届かないと、サインアウトされて再接続を求められることがある
- 401・403・500が返るときは、エンドポイントとホストの設定、セッションの期限、データ閲覧・コンテンツ作成の権限を順に見る
公式のスキルを足す
ThoughtSpotは、Claudeのようにスキルに対応するクライアント向けに、analyzing-data-with-thoughtspot というスキルを配っています。スキルはコネクタとは別に入れます。ツール自体は増えず、質問の振り分け、処理中の経過の表示、ThoughtSpotが作った可視化へのリンクの提示(チャートの描き直しをしない)が改善される、という位置づけです。
スキルがなくてもコネクタは使えます。ただ、スキル対応のクライアントでは両方入れたほうが結果が良くなりやすいと、ThoughtSpotは説明しています。配布元は、ThoughtSpotのMCPサーバーのGitHubリポジトリです。
他のBI連携との使い分け
3つは別製品で、乗り換え先ではなく、すでに使っているBIに合わせて選ぶものです。コネクタ全般の権限まわりのつまずきは、別の記事にまとまっています。