Skip to main content

Supabase

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

はじめに

1

OAuthで接続する

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

Supabaseアカウントを許可する

Shanoneに管理させたいプロジェクトを持つ組織で、SupabaseのOAuth同意画面を承認します。
3

リクエストを再実行する

接続が完了すると、supabase_*ツールに対するshanone_execute_tool呼び出しが成功するようになります。

利用可能なツール

ShanoneはSupabase向けに120個のツールを、以下のカテゴリに整理して提供しています。
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
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
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
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
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
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
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
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
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
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

よくあるユースケース

スキーマ調査

アプリのコードを書く前に、テーブルスキーマを一覧表示してTypeScriptの型を生成する

プレビューブランチのワークフロー

機能開発用にブランチを作成し、そこでマイグレーションを実行して、確認後にプッシュする

データ操作

読み取り専用SQLでアドホックな質問に答えたり、REST形式のツールでレコードをupsertしたりする

エッジ関数のデプロイ

新しいエッジ関数をデプロイし、リリース前に呼び出して動作を確認する

トラブルシューティング

書き込み可能なSQL実行には、接続中のロールが対象プロジェクトへの書き込み権限を持っている必要があります——分析のみが目的のクエリでは、意図しない書き込みを避けるためreadonly版を使ってください。
ブランチ機能を使うには、まずプロジェクトでプレビューブランチ機能が有効になっている必要があります——ブランチを作成する前にsupabase_enable_preview_branchingを呼び出してください。
復元処理はSupabaseのインフラによって非同期に実行される長時間の操作です——即座の結果を期待せず、後でsupabase_get_project_healthを確認してください。
ストレージバケットへのアクセスは、バケットの公開/非公開設定とRLSポリシーに依存します——supabase_list_bucketsでバケットが見えていても、接続中のロールがそのオブジェクトを読み書きできるとは限りません。