---
title: MCP アクセス
description: MCP クライアントを Supernova に接続して、メタデータ、制限付き SQL、データソースの設定、データリポジトリのファイル、実際のダッシュボード作成機能を利用します。
species: guide
---

# 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` を使って、要求する結果を明示してください。

```sql
select id, amount, currency
from titan.stripe.charges
where status = 'succeeded' and not _deleted
order by created_at desc
limit 50
```

レイクを変更する SQL は、文の受付時に拒否されます。MCP サービスは組織単位で動作し、ステートレスです。ある組織のトークンから、別の組織の物理レイクやデータリポジトリを指定することはできません。
