> ## Documentation Index
> Fetch the complete documentation index at: https://docs.shanone.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Supabase

> Supabaseのプロジェクト、データベース、ストレージ、認証、エッジ関数を管理し、SQLやPostgRESTクエリを実行する

# Supabase

ShanoneのSupabase連携は、Management API(プロジェクト、ブランチ、バックアップ、ネットワークセキュリティ)と直接的なデータアクセス(SQL実行、テーブルレコード、ストレージ、エッジ関数)の両方をカバーする120個のツールをエージェントに提供します——Supabaseプロジェクトのインフラとデータの両方を同じエージェントから管理できます。

## はじめに

<Steps>
  <Step title="OAuthで接続する">
    エージェントにSupabase関連の作業を依頼(例: 「Supabaseのプロジェクト一覧を見せて」「このSQLをデータベースに対して実行して」)するか、Shanoneダッシュボードの**連携**から事前に接続しておきます。
  </Step>

  <Step title="Supabaseアカウントを許可する">
    Shanoneに管理させたいプロジェクトを持つ組織で、SupabaseのOAuth同意画面を承認します。
  </Step>

  <Step title="リクエストを再実行する">
    接続が完了すると、`supabase_*`ツールに対する`shanone_execute_tool`呼び出しが成功するようになります。
  </Step>
</Steps>

## 利用可能なツール

ShanoneはSupabase向けに**120個のツール**を、以下のカテゴリに整理して提供しています。

<AccordionGroup>
  <Accordion title="プロジェクト & 組織">
    `supabase_list_projects`, `supabase_get_project`, `supabase_create_project`, `supabase_update_project`, `supabase_delete_project`, `supabase_pause_project`, `supabase_restore_project`, `supabase_list_organizations`, `supabase_get_organization`, `supabase_create_organization`, `supabase_list_organization_members`, `supabase_list_organization_projects`
  </Accordion>

  <Accordion title="データベース(SQL、スキーマ & レコード)">
    `supabase_execute_sql`, `supabase_execute_sql_readonly`, `supabase_get_database_context`, `supabase_get_postgres_config`, `supabase_update_postgres_config`, `supabase_get_pooler_config`, `supabase_update_pooler_config`, `supabase_list_tables_schema`, `supabase_get_table_schemas`, `supabase_list_tables`, `supabase_select`, `supabase_get_record`, `supabase_insert`, `supabase_update`, `supabase_upsert`, `supabase_delete`, `supabase_rpc`
  </Accordion>

  <Accordion title="マイグレーション & ブランチ">
    `supabase_list_migrations`, `supabase_get_migration`, `supabase_create_migration`, `supabase_update_migration`, `supabase_list_branches`, `supabase_get_branch`, `supabase_create_branch`, `supabase_update_branch_config`, `supabase_delete_branch`, `supabase_reset_branch`, `supabase_push_branch`, `supabase_enable_preview_branching`, `supabase_disable_preview_branching`
  </Accordion>

  <Accordion title="ストレージ">
    `supabase_list_buckets`, `supabase_list_files`, `supabase_get_public_url`, `supabase_create_bucket`, `supabase_delete_file`, `supabase_delete_bucket`, `supabase_upload_file`, `supabase_download_file`, `supabase_move_file`, `supabase_copy_file`
  </Accordion>

  <Accordion title="エッジ関数">
    `supabase_list_functions`, `supabase_get_function`, `supabase_get_function_body`, `supabase_deploy_function`, `supabase_create_function`, `supabase_update_function`, `supabase_delete_function`, `supabase_get_functions_stats`, `supabase_invoke_function`, `supabase_bulk_update_functions`
  </Accordion>

  <Accordion title="認証設定 & SSO">
    `supabase_get_auth_config`, `supabase_update_auth_config`, `supabase_list_sso_providers`, `supabase_get_sso_provider`, `supabase_create_sso_provider`, `supabase_update_sso_provider`, `supabase_delete_sso_provider`, `supabase_list_third_party_auth`, `supabase_get_third_party_auth`, `supabase_create_third_party_auth`, `supabase_delete_third_party_auth`
  </Accordion>

  <Accordion title="APIキー & シークレット">
    `supabase_list_api_keys`, `supabase_get_api_key`, `supabase_create_api_key`, `supabase_update_api_key`, `supabase_delete_api_key`, `supabase_list_secrets`, `supabase_create_secrets`, `supabase_delete_secrets`, `supabase_list_signing_keys`, `supabase_create_signing_key`, `supabase_get_pgsodium_config`, `supabase_update_pgsodium_config`
  </Accordion>

  <Accordion title="バックアップ & アップグレード">
    `supabase_list_backups`, `supabase_get_backup_schedule`, `supabase_update_backup_schedule`, `supabase_restore_backup`, `supabase_restore_pitr`, `supabase_get_upgrade_eligibility`, `supabase_get_upgrade_status`, `supabase_upgrade_postgres`, `supabase_setup_read_replica`, `supabase_remove_read_replica`
  </Accordion>

  <Accordion title="ネットワークセキュリティ">
    `supabase_get_network_bans`, `supabase_remove_network_bans`, `supabase_get_network_restrictions`, `supabase_update_network_restrictions`, `supabase_patch_network_restrictions`, `supabase_get_ssl_enforcement`, `supabase_update_ssl_enforcement`, `supabase_get_custom_hostname`, `supabase_update_custom_hostname`, `supabase_delete_custom_hostname`, `supabase_activate_custom_hostname`, `supabase_reverify_custom_hostname`, `supabase_check_vanity_subdomain`, `supabase_get_vanity_subdomain`, `supabase_activate_vanity_subdomain`, `supabase_delete_vanity_subdomain`
  </Accordion>

  <Accordion title="モニタリング & その他">
    `supabase_get_project_health`, `supabase_get_project_logs`, `supabase_get_available_regions`, `supabase_generate_types`, `supabase_list_sql_snippets`, `supabase_get_sql_snippet`, `supabase_enable_webhooks`, `supabase_get_readonly_mode`, `supabase_disable_readonly_mode`
  </Accordion>
</AccordionGroup>

## よくあるユースケース

<CardGroup cols={2}>
  <Card title="スキーマ調査" icon="table">
    アプリのコードを書く前に、テーブルスキーマを一覧表示してTypeScriptの型を生成する
  </Card>

  <Card title="プレビューブランチのワークフロー" icon="git-branch">
    機能開発用にブランチを作成し、そこでマイグレーションを実行して、確認後にプッシュする
  </Card>

  <Card title="データ操作" icon="database">
    読み取り専用SQLでアドホックな質問に答えたり、REST形式のツールでレコードをupsertしたりする
  </Card>

  <Card title="エッジ関数のデプロイ" icon="rocket">
    新しいエッジ関数をデプロイし、リリース前に呼び出して動作を確認する
  </Card>
</CardGroup>

## トラブルシューティング

<AccordionGroup>
  <Accordion title="supabase_execute_sqlは失敗するがsupabase_execute_sql_readonlyは動作する">
    書き込み可能なSQL実行には、接続中のロールが対象プロジェクトへの書き込み権限を持っている必要があります——分析のみが目的のクエリでは、意図しない書き込みを避けるためreadonly版を使ってください。
  </Accordion>

  <Accordion title="supabase_create_branchやsupabase_push_branchが失敗する">
    ブランチ機能を使うには、まずプロジェクトでプレビューブランチ機能が有効になっている必要があります——ブランチを作成する前に`supabase_enable_preview_branching`を呼び出してください。
  </Accordion>

  <Accordion title="supabase_restore_backupやsupabase_restore_pitrがすぐに反映されない">
    復元処理はSupabaseのインフラによって非同期に実行される長時間の操作です——即座の結果を期待せず、後で`supabase_get_project_health`を確認してください。
  </Accordion>

  <Accordion title="見えているはずのバケットでsupabase_upload_fileやsupabase_download_fileが失敗する">
    ストレージバケットへのアクセスは、バケットの公開/非公開設定とRLSポリシーに依存します——`supabase_list_buckets`でバケットが見えていても、接続中のロールがそのオブジェクトを読み書きできるとは限りません。
  </Accordion>
</AccordionGroup>
