MCP アクセス#
MCP クライアントを https://mcp.supernova.ai/mcp に接続します。Supernova は PKCE 対応の OAuth 2.1 を使用し、現在のセッションに紐づく組織を表示して、アクセスを許可する前に要求するスコープをすべて提示します。
スコープ#
| スコープ | 許可される操作 |
|---|---|
files:read | レイクのメタデータ、データリポジトリ、ダッシュボードの読み取りとコネクターの検索 |
files:write | データリポジトリとダッシュボードへのコミット |
files:admin | 組織の新しいデータリポジトリの初期化 |
query:execute | run_query |
アクセストークンの有効期間は 1 時間です。リフレッシュトークンの有効期間は 30 日で、失効させることができます。失効すると、新しいアクセストークンは発行できなくなります。発行済みのアクセストークンは、通常の有効期限まで有効です。
OAuth ディスカバリー#
MCP クライアントは、MCP エンドポイントの保護リソースメタデータ URL、またはそのエンドポイントから認証なしのリクエストに返される 401 レスポンスを使って、認可サーバーを検出できます。
保護リソースメタデータ:
https://mcp.supernova.ai/.well-known/oauth-protected-resource/mcp認可サーバーメタデータ:
https://mcp.supernova.ai/.well-known/oauth-authorization-server
パスごとの URL を組み立てないクライアント向けに、オリジン単位の保護リソースメタデータ URL も利用できます。
ツール#
| ツール | 用途 |
|---|---|
list_files | 仮想スキーマツリーを参照 |
read_file | テーブルのスキーマと SQL の修飾名を読み取り |
run_query | 読み取り専用 SQL 文を 1 件実行 |
list_repo_files | 指定した Git ref にある組織のデータリポジトリのファイルを一覧表示 |
read_repo_file | UTF-8 のデータリポジトリファイルを 1 つ読み取り |
write_repo_file | UTF-8 のデータリポジトリファイルを 1 つコミット |
list_dashboards | 指定した Git ref にある有効なダッシュボードを一覧表示 |
read_dashboard | 有効なダッシュボードの Markdown ドキュメントを 1 つ読み取り |
write_dashboard | 有効なダッシュボードの Markdown ドキュメントを 1 つコミット |
connect_data | 利用可能なデータソースの設定 URL、または未対応のコネクターのリクエスト先を検索 |
データとクエリ#
仮想ツリーは、テーブルのメタデータを <schema>/<table>.json の形式で整理します。各テーブルのドキュメントには、qualifiedName、メタデータの取得元、クエリエンジンが記載されています。従来の MCP レイクを持たない組織と、Neutron を有効にした組織では、Titan Catalog からメタデータを読み取り、MCP クエリを Neutron のみで実行します。これらのリクエストが DuckDB にフォールバックすることはありません。
同じレイク全体のメタデータを、titan.information_schema.schemata、titan.information_schema.tables、titan.information_schema.columns としてクエリできます。Neutron では、文がデータテーブルを直接参照していない場合でも、Supernova は Titan の現在のレイク一覧からこれらのリレーションを解決します。
データを接続#
必要なデータソースが Supernova に接続されていない場合、connect_data は、アプリに表示されるものと同じ、その組織向けのコネクターカタログを検索します。完全一致または一意の一致が見つかると、コネクター名と /apps/new 配下の絶対設定 URL を返します。複数が一致すると、それぞれの名前と設定 URL を返し、目的のソースを確認できるようにします。
利用可能なコネクターに一致するものがない場合は、コネクターをリクエストするかどうかを尋ね、既存のコネクターリクエストページの URL を返します。また、requestSubmitted を false に設定します。このツールを開いたり呼び出したりするだけでは、同意なしにリクエストが送信されることはありません。
リポジトリとダッシュボード#
リポジトリとダッシュボードのツールは、デフォルトで refs/heads/main を使用し、ブランチ ref も指定できます。ダッシュボードの各結果には、Supernova でブランチを反映したダッシュボードを開くための url と、画面を忠実に再現した、有効期間の短い PNG キャプチャの previewImageUrl が含まれます。ライブ URL は、Supernova の対話的なダッシュボードを開きます。プレビュー PNG は、ダッシュボードの改修中に、レイアウト、スタイル、データ表示、カスタムコンポーネントの出力を比較して確認するための画像です。
プレビューはサムネイルではなく、実際のダッシュボード全体です。Chromium は、アプリと同じ DashboardView、テーマ、クエリ結果、カスタムコンポーネントを、1440 × 900 の固定デスクトップビューポートでレンダリングし、ダッシュボードの縦方向全体を 1x のスケールでキャプチャします。フォント、画像、クエリ、カスタムコンポーネントがすべて確定してから撮影するため、リビジョン間の画像比較を再現可能にします。
各 previewImageUrl には、有効期間が 1 時間の署名付きベアラートークンが含まれ、組織、ユーザー、ダッシュボードのパス、Git ref に紐づきます。プレビューのレスポンスは非公開で、no-store キャッシュを使用します。
クエリの制限#
MCP クエリは 5 分でタイムアウトします。返されるプレビューの上限は 500 行または 100 KB です。where、order by、limit を使って、要求する結果を明示してください。
select id, amount, currency
from titan.stripe.charges
where status = 'succeeded' and not _deleted
order by created_at desc
limit 50レイクを変更する SQL は、文の受付時に拒否されます。MCP サービスは組織単位で動作し、ステートレスです。ある組織のトークンから、別の組織の物理レイクやデータリポジトリを指定することはできません。