Appbase

io.github.CloudCorpRecords由 GitHub 账号 CloudCorpRecords 发布v0.1.0更新于 Nov 1, 2026

Supabase projects, tables, SQL, migrations, and storage from your MCP client.

概览

AI 生成的概览

在 MCP 客户端中管理 Supabase 项目:查看表结构与迁移、执行 SQL、查看日志、部署 Edge Functions、管理存储桶和预览分支。

可以做什么
  • 列出、查看、创建、暂停和恢复项目与组织
  • 查看数据库结构:表、扩展和已应用的迁移
  • 执行原始 SQL 或应用可追踪的迁移,并根据结构生成 TypeScript 类型
  • 读取各服务日志与安全或性能建议,获取项目 URL 和可发布密钥
  • 列出并部署 Edge Functions,列出或创建存储桶
  • 创建、合并、重置、变基和删除预览分支
适用场景
适合让助手直接操作 Supabase:探索数据库结构、执行查询或 DDL 迁移、查看日志与建议、部署 Edge Functions,或在对话中管理预览分支和项目。
运行要求
通过 npx 或 Docker 镜像以 stdio 在本地运行。需要将 Supabase 个人访问令牌放入 SUPABASE_ACCESS_TOKEN 环境变量,并能访问 Supabase 管理 API。项目级工具还需提供项目引用。
安装前请注意
该令牌拥有账户级权限,可访问 Supabase 项目和组织。工具可执行任意 SQL、应用迁移、部署 Edge Functions、创建或删除分支,以及创建、暂停或恢复项目;创建分支和项目需提供费用确认标识,可能产生费用。输出中会返回可发布密钥和 anon 密钥。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Appbase,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

appbase

appbase puts a Supabase account within reach of an MCP client or a terminal. Projects and organizations can be listed, inspected, created, paused, and restored. Inside a project you can look at the schema (tables, extensions, migrations), run SQL or apply a tracked migration, read logs and security/performance advisors, fetch the project URL and publishable keys, generate TypeScript types from the live schema, list and deploy Edge Functions, manage storage buckets, and work with preview branches — create, merge, reset, rebase, and delete them.

A Supabase personal access token is required. Put it in the SUPABASE_ACCESS_TOKEN environment variable; it is sent to the Supabase Management API as a Bearer token and never appears in output. When the variable is missing, every call fails with an error that names it.

Install

bash
npx @reneturcios/appbase list_projects

Or run the container image:

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

The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.

CLI

Every MCP tool is also a CLI subcommand. Tool arguments are passed as one JSON object with --json; project-scoped tools take the project reference as project_id:

bash
export SUPABASE_ACCESS_TOKEN=<your Supabase personal access token>
appbase list_projectsappbase 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

Results print as JSON. Exit codes: 0 on success, 1 when an API call fails (including a missing SUPABASE_ACCESS_TOKEN), 2 for usage errors.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

bash
npx -y @reneturcios/appbase mcp

MCP client configuration:

json
{  "mcpServers": {    "appbase": {      "command": "npx",      "args": ["-y", "@reneturcios/appbase", "mcp"],      "env": { "SUPABASE_ACCESS_TOKEN": "your Supabase personal access token" }    }  }}

Tools

ToolInput (required in bold)What it does
list_tablesproject_id, schemasLists tables in the given schemas (default public).
list_extensionsproject_idLists installed database extensions.
list_migrationsproject_idLists applied migrations.
execute_sqlproject_id, queryRuns raw SQL in the project's database.
apply_migrationproject_id, name, queryApplies SQL as a tracked migration (for DDL).
get_logsproject_id, serviceRecent logs for one service.
get_advisorsproject_id, typeSecurity or performance advisors.
get_project_urlproject_idThe project's https://<ref>.supabase.co API URL.
get_publishable_keysproject_idPublishable / anon API keys for the project.
generate_typescript_typesproject_id, included_schemasTypeScript types generated from the schema.
list_edge_functionsproject_idLists Edge Functions.
get_edge_functionproject_id, function_slugOne Edge Function's details.
deploy_edge_functionproject_id, name, files, entrypoint_path, import_map_pathDeploys an Edge Function from inline files.
list_storage_bucketsproject_idLists storage buckets.
create_storage_bucketproject_id, name, public, file_size_limit, allowed_mime_typesCreates a storage bucket.
list_branchesproject_idLists preview branches.
create_branchproject_id, name, confirm_cost_idCreates a preview branch.
delete_branchproject_id, branch_idDeletes a preview branch.
merge_branchproject_id, branch_idMerges a branch's migrations and functions into production.
reset_branchproject_id, branch_id, migration_versionResets a branch to its parent state.
rebase_branchproject_id, branch_idRebases a branch onto its parent.
list_projects—Lists all projects for the user.
get_projectidOne project's details.
create_projectname, organization_id, region, confirm_cost_idCreates a project.
pause_projectproject_idPauses a project.
restore_projectproject_idRestores a paused project.
list_organizations—Lists the user's organizations.
get_organizationidOne organization's details.

All calls go to https://api.supabase.com/v1. SQL tools POST to the project's database/query endpoint; list_tables and list_extensions are catalog queries through that same endpoint, and all other SQL passes through exactly as given.

Development

bash
npm installnpm 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

License

MIT — see LICENSE.

来源:README.md,提交 8cc7b4a

工具

28

list_tables

Lists all tables within the specified schemas.

输入参数schemasproject_id必填

list_extensions

Lists all extensions in the database.

输入参数project_id必填

list_migrations

Lists all migrations in the database.

输入参数project_id必填

execute_sql

Executes raw SQL in the database.

输入参数query必填project_id必填

apply_migration

Applies a SQL migration to the database. SQL passed to this tool will be tracked within the database, so use this for DDL operations (schema changes).

输入参数name必填query必填project_id必填

get_logs

Gets logs for a Supabase project by service (api, postgres, edge-function, auth, storage, realtime, or branch-action).

输入参数service必填project_id必填

get_advisors

Gets advisory notices for a Supabase project, by type: security or performance.

输入参数type必填project_id必填

get_project_url

Gets the API URL for a Supabase project.

输入参数project_id必填

get_publishable_keys

Gets the publishable and anon API keys for a Supabase project.

输入参数project_id必填

generate_typescript_types

Generates TypeScript types based on the database schema.

输入参数project_id必填included_schemas

list_edge_functions

Lists all Edge Functions in a Supabase project.

输入参数project_id必填

get_edge_function

Gets details for an Edge Function by slug.

输入参数project_id必填function_slug必填

deploy_edge_function

Deploys an Edge Function to a Supabase project from inline files.

输入参数name必填files必填project_id必填entrypoint_pathimport_map_path

list_storage_buckets

Lists all storage buckets in a Supabase project.

输入参数project_id必填

create_storage_bucket

Creates a new storage bucket in a Supabase project.

输入参数name必填publicproject_id必填file_size_limitallowed_mime_types

list_branches

Lists all development branches for a Supabase project.

输入参数project_id必填

create_branch

Creates a new development branch for a Supabase project.

输入参数name必填project_id必填confirm_cost_id

delete_branch

Deletes a development branch from a Supabase project.

输入参数branch_id必填project_id必填

merge_branch

Merges migrations and edge functions from a development branch into production.

输入参数branch_id必填project_id必填

reset_branch

Resets a development branch to its parent state, optionally at a migration version.

输入参数branch_id必填project_id必填migration_version

rebase_branch

Rebases a development branch on its parent, applying newer migrations.

输入参数branch_id必填project_id必填

list_projects

Lists all Supabase projects for the user.

无需输入参数。

get_project

Gets details for a project.

输入参数id必填

create_project

Creates a new Supabase project.

输入参数name必填regionconfirm_cost_idorganization_id必填

pause_project

Pauses a project.

输入参数project_id必填

restore_project

Restores a project.

输入参数project_id必填

list_organizations

Lists all organizations that the user is a member of.

无需输入参数。

get_organization

Gets details for an organization.

输入参数id必填

版本历史

1
  1. v0.1.0最新Nov 1, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分