Back to Browse

Appbase MCP Server

Developer ToolsModerate5.2MCP RegistryLocal
Free

Server data from the Official MCP Registry

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

About

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

Security Report

5.2
Moderate5.2Moderate Risk

appbase is a Supabase Management API wrapper that uses a personal access token from SUPABASE_ACCESS_TOKEN as a Bearer token, sending requests only to api.supabase.com and the documented supabase.co project URL. Its broad capabilities (raw SQL, migrations, branch merges, project pause/create) are inherent to its stated purpose and are gated by the user's own token, though the tools can make destructive production changes. The code shows no exfiltration, hardcoded secrets, or shell execution in the reviewed portion; the main concerns are the unrestricted raw SQL and production-affecting operations, plus the truncated remainder of supabase.ts that could not be fully reviewed. Supply chain analysis found 4 known vulnerabilities in dependencies (0 critical, 2 high severity). Package verification found 1 issue.

5 files analyzed · 11 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

database

Check that this permission is expected for this type of plugin.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

What You'll Need

Set these up before or after installing:

SUPABASE_ACCESS_TOKENRequired

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-cloudcorprecords-appbase": {
      "env": {
        "SUPABASE_ACCESS_TOKEN": "your-supabase-access-token-here"
      },
      "args": [
        "-y",
        "@reneturcios/appbase"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub 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

npx @reneturcios/appbase list_projects

Or run the container image:

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:

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

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:

npx -y @reneturcios/appbase mcp

MCP client configuration:

{
  "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

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

License

MIT — see LICENSE.

Reviews

No reviews yet

Be the first to review this server!