mcpField
A
appbase

appbase

ローカル
github.com/CloudCorpRecordsデータベース02 週間前に更新

appbase について

appbaseは、Supabaseの組織、プロジェクト、データベース、ストレージ、Edge Functions、プレビューブランチを管理するMCPサーバー兼コマンドラインツールです。Supabaseの個人アクセストークンで認証し、MCPクライアントとターミナルに共通の操作を提供します。

主な機能

  1. 01組織とプロジェクトの管理
  2. 02テーブル、マイグレーション、ログ、アドバイザーの確認
  3. 03SQL実行と追跡可能なマイグレーションの適用
  4. 04Edge Functionsとストレージバケットの管理
  5. 05プレビューブランチの作成と管理

活用シーン

  1. 01プロジェクトのスキーマとデータベース状態の確認
  2. 02SQL実行または追跡可能なマイグレーションの適用
  3. 03Edge Functionのデプロイやストレージバケットの作成
  4. 04プレビューブランチの作成、リベース、マージ

MCP 対応

stdio MCPサーバーを通じて、Supabaseのアカウントとプロジェクトを管理するツールをMCPクライアントに公開します。同じ操作はコマンドラインのサブコマンドからも利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-appbase": {
"command": "npx",
"args": [
"-y",
"@reneturcios/appbase"
]
}
}
}
起動コマンドnpx -y @reneturcios/appbase

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/appbase0.1.0
ocighcr.io/cloudcorprecords/appbase:0.1.0

ツール

28

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
schemasarrayいいえテーブルを一覧表示するデータベーススキーマです。省略した場合は public がデフォルトです。
project_idstringはいテーブルを一覧表示する Supabase プロジェクトの参照 ID。

詳細

appbase

appbase は、MCP クライアントやターミナルから Supabase アカウントを利用できるようにします。プロジェクトや組織の一覧表示、調査、作成、一時停止、復元ができます。プロジェクト内では、スキーマ(テーブル、拡張機能、マイグレーション)の確認、SQL の実行や追跡対象のマイグレーションの適用、ログやセキュリティ/パフォーマンスアドバイザーの確認、プロジェクト URL と公開可能なキーの取得、ライブスキーマからの TypeScript 型の生成、Edge Functions の一覧表示とデプロイ、ストレージバケットの管理、プレビューブランチの操作(作成、マージ、リセット、リベース、削除)ができます。

Supabase の個人用アクセストークンが必要です。これを環境変数 SUPABASE_ACCESS_TOKEN に設定してください。トークンは Bearer トークンとして Supabase Management API に送信され、出力には表示されません。この環境変数が設定されていない場合、すべての呼び出しは環境変数名を示すエラーで失敗します。

インストール

npx @reneturcios/appbase list_projects

または、コンテナイメージを実行します。

docker run -i -e SUPABASE_ACCESS_TOKEN ghcr.io/cloudcorprecords/appbase

コンテナはデフォルトで MCP サーバーを起動します(下記参照)。CLI として使うには、CLI 引数を渡してください。

CLI

すべての MCP ツールは CLI サブコマンドとしても利用できます。ツールの引数は --json を使って 1 つの JSON オブジェクトとして渡します。プロジェクトを対象とするツールには、project_id としてプロジェクト参照を指定します。

export SUPABASE_ACCESS_TOKEN=<your Supabase personal access token>

appbase list_projects
appbase list_tables --json '{"project_id": "abcdefghijklmnopqrst"}'
appbase execute_sql --json '{"project_id": "abcdefghijklmnopqrst", "query": "select 1"}'
appbase get_advisors --json '{"project_id": "abcdefghijklmnopqrst", "type": "security"}'
appbase create_branch --json '{"project_id": "abcdefghijklmnopqrst", "name": "feat-x"}'

appbase --version

結果は JSON として出力されます。終了コード:成功時は 0、API 呼び出しの失敗時(SUPABASE_ACCESS_TOKEN の未設定を含む)は 1、使用方法のエラー時は 2 です。

MCP サーバー

1 つの実行ファイルで両方のインターフェースを提供します。mcp サブコマンドを実行すると、stdio MCP サーバーが起動します。

npx -y @reneturcios/appbase mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "appbase": {
      "command": "npx",
      "args": ["-y", "@reneturcios/appbase", "mcp"],
      "env": { "SUPABASE_ACCESS_TOKEN": "your Supabase personal access token" }
    }
  }
}
ツール
ツール入力(太字は必須)機能
list_tablesproject_id、schemas指定したスキーマのテーブルを一覧表示します(デフォルトは public)。
list_extensionsproject_idインストール済みのデータベース拡張機能を一覧表示します。
list_migrationsproject_id適用済みのマイグレーションを一覧表示します。
execute_sqlproject_id、queryプロジェクトのデータベースで生の SQL を実行します。
apply_migrationproject_id、name、querySQL を追跡対象のマイグレーションとして適用します(DDL 用)。
get_logsproject_id、service1 つのサービスの最近のログを取得します。
get_advisorsproject_id、typeセキュリティまたはパフォーマンスに関するアドバイザーを取得します。
get_project_urlproject_idプロジェクトの https://<ref>.supabase.co API URL を取得します。
get_publishable_keysproject_idプロジェクトの公開可能キー/anon API キーを取得します。
generate_typescript_typesproject_id、included_schemasスキーマから生成した TypeScript 型を取得します。
list_edge_functionsproject_idEdge Functions を一覧表示します。
get_edge_functionproject_id、function_slug1 つの Edge Function の詳細を取得します。
deploy_edge_functionproject_id、name、files、entrypoint_path、import_map_pathインラインファイルから Edge Function をデプロイします。
list_storage_bucketsproject_idストレージバケットを一覧表示します。
create_storage_bucketproject_id、name、public、file_size_limit、allowed_mime_typesストレージバケットを作成します。
list_branchesproject_idプレビュー用ブランチを一覧表示します。
create_branchproject_id、name、confirm_cost_idプレビュー用ブランチを作成します。
delete_branchproject_id、branch_idプレビュー用ブランチを削除します。
merge_branchproject_id、branch_idブランチのマイグレーションと関数を本番環境にマージします。
reset_branchproject_id、branch_id、migration_versionブランチを親の状態にリセットします。
rebase_branchproject_id、branch_idブランチを親ブランチにリベースします。
list_projects—ユーザーのすべてのプロジェクトを一覧表示します。
get_projectid1 つのプロジェクトの詳細を取得します。
create_projectname、organization_id、region、confirm_cost_idプロジェクトを作成します。
pause_projectproject_idプロジェクトを一時停止します。
restore_projectproject_id一時停止中のプロジェクトを復元します。
list_organizations—ユーザーの組織を一覧表示します。
get_organizationid1 つの組織の詳細を取得します。

すべての呼び出しは https://api.supabase.com/v1 に送られます。SQL ツールは プロジェクトの database/query エンドポイントに POST します。list_tables と list_extensions は同じエンドポイントを介したカタログクエリで、それ以外の SQL はすべて指定されたとおりに渡されます。

開発

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev     # run the CLI from source via tsx

ライセンス

MIT — LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。