mcpField
A
appbase

appbase

本地服务
github.com/CloudCorpRecords数据库02 周前更新

关于 appbase

appbase 是用于管理 Supabase 组织、项目、数据库、存储、Edge Functions 和预览分支的 MCP 服务与命令行工具。它为 MCP 客户端和终端用户提供同一组操作,并通过 Supabase 个人访问令牌进行认证。

主要功能

  1. 01管理组织和项目
  2. 02检查表、迁移、日志及顾问建议
  3. 03执行 SQL 并应用有记录的迁移
  4. 04管理 Edge Functions 和存储桶
  5. 05创建和管理预览分支

适用场景

  1. 01检查项目架构和数据库状态
  2. 02执行 SQL 或应用有记录的迁移
  3. 03部署 Edge Function 或创建存储桶
  4. 04创建、变基或合并预览分支

MCP 相关

通过 stdio MCP 服务向 MCP 客户端提供 Supabase 账户和项目管理工具。同一组操作也可通过命令行子命令使用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 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 以一个 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 服务

同一个可执行文件提供两种模式。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、query将 SQL 作为有记录的迁移应用(用于 DDL)。
get_logsproject_id、service获取某个服务的近期日志。
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_id列出 Edge Functions。
get_edge_functionproject_id、function_slug获取某个 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_projectid获取某个项目的详细信息。
create_projectname、organization_id、region、confirm_cost_id创建项目。
pause_projectproject_id暂停项目。
restore_projectproject_id恢复已暂停的项目。
list_organizations—列出用户的组织。
get_organizationid获取某个组织的详细信息。

所有调用都发往 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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。