Skip to content

Commit d3706ce

Browse files
committed
docs: more docs on feature groups
1 parent becc794 commit d3706ce

File tree

1 file changed

+50
-24
lines changed

1 file changed

+50
-24
lines changed

README.md

Lines changed: 50 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,7 @@ The following options are available:
5353

5454
- `--read-only`: Used to restrict the server to read-only queries. Recommended by default. See [read-only mode](#read-only-mode).
5555
- `--project-ref`: Used to scope the server to a specific project. Recommended by default. If you omit this, the server will have access to all projects in your Supabase account. See [project scoped mode](#project-scoped-mode).
56-
- `--features`: Used to specify which feature groups to enable. Available features are: 'account', 'branching', 'database', 'debug', 'development', 'docs', 'functions', and 'storage'. Multiple features can be specified with comma separation (e.g., `--features=database,debug,docs`).
57-
- When no project is specified: Defaults to ['account', 'database', 'debug', 'docs', 'functions']
58-
- When a project is specified: Defaults to ['database', 'debug', 'docs', 'functions']
56+
- `--features`: Used to specify which tool groups to enable. See [feature groups](#feature-groups).
5957

6058
If you are on Windows, you will need to [prefix the command](#windows). If your MCP client doesn't accept JSON, the direct CLI command is:
6159

@@ -150,13 +148,27 @@ npx -y @supabase/mcp-server-supabase@latest --read-only
150148

151149
We recommend you enable this by default. This prevents write operations on any of your databases by executing SQL as a read-only Postgres user. Note that this flag only applies to database tools (`execute_sql` and `apply_migration`) and not to other tools like `create_project` or `create_branch`.
152150

151+
### Feature groups
152+
153+
You can enable or disable specific tool groups by passing the `--features` flag to the MCP server. This allows you to customize which tools are available to the LLM. For example, to enable only the [database](#database) and [docs](#knowledge-base) tools, you would run:
154+
155+
```shell
156+
npx -y @supabase/mcp-server-supabase@latest --features=database,docs
157+
```
158+
159+
Available groups are: [`account`](#account), [`docs`](#knowledge-base), [`database`](#database), [`debug`](#debug), [`development`](#development), [`functions`](#edge-functions), [`storage`](#storage), and [`branching`](#branching-experimental-requires-a-paid-plan).
160+
161+
If this flag is not passed, the default feature groups are: `account`, `database`, `debug`, `development`, `docs`, and `functions`.
162+
153163
## Tools
154164

155165
_**Note:** This server is pre-1.0, so expect some breaking changes between versions. Since LLMs will automatically adapt to the tools available, this shouldn't affect most users._
156166

157-
The following Supabase tools are available to the LLM:
167+
The following Supabase tools are available to the LLM, [grouped by feature](#feature-groups).
168+
169+
#### Account
158170

159-
#### Project Management
171+
Enabled by default when no `--project-ref` is passed. Use `account` to target this group of tools with the [`--features`](#feature-groups) option.
160172

161173
_**Note:** these tools will be unavailable if the server is [scoped to a project](#project-scoped-mode)._
162174

@@ -167,52 +179,66 @@ _**Note:** these tools will be unavailable if the server is [scoped to a project
167179
- `restore_project`: Restores a project.
168180
- `list_organizations`: Lists all organizations that the user is a member of.
169181
- `get_organization`: Gets details for an organization.
182+
- `get_cost`: Gets the cost of a new project or branch for an organization.
183+
- `confirm_cost`: Confirms the user's understanding of new project or branch costs. This is required to create a new project or branch.
184+
185+
#### Knowledge Base
170186

171-
#### Database Operations
187+
Enabled by default. Use `docs` to target this group of tools with the [`--features`](#feature-groups) option.
188+
189+
- `search_docs`: Searches the Supabase documentation for up-to-date information. LLMs can use this to find answers to questions or learn how to use specific features.
190+
191+
#### Database
192+
193+
Enabled by default. Use `database` to target this group of tools with the [`--features`](#feature-groups) option.
172194

173195
- `list_tables`: Lists all tables within the specified schemas.
174196
- `list_extensions`: Lists all extensions in the database.
175197
- `list_migrations`: Lists all migrations in the database.
176198
- `apply_migration`: Applies a SQL migration to the database. SQL passed to this tool will be tracked within the database, so LLMs should use this for DDL operations (schema changes).
177199
- `execute_sql`: Executes raw SQL in the database. LLMs should use this for regular queries that don't change the schema.
200+
201+
#### Debug
202+
203+
Enabled by default. Use `debug` to target this group of tools with the [`--features`](#feature-groups) option.
204+
178205
- `get_logs`: Gets logs for a Supabase project by service type (api, postgres, edge functions, auth, storage, realtime). LLMs can use this to help with debugging and monitoring service performance.
179206
- `get_advisors`: Gets a list of advisory notices for a Supabase project. LLMs can use this to check for security vulnerabilities or performance issues.
180207

181-
#### Storage Operations
208+
#### Development
182209

183-
- `list_storage_buckets`: Lists all storage buckets in a Supabase project.
184-
- `get_storage_config`: Gets the storage config for a Supabase project.
185-
- `update_storage_config`: Updates the storage config for a Supabase project (requires a paid plan).
210+
Enabled by default. Use `development` to target this group of tools with the [`--features`](#feature-groups) option.
186211

187-
#### Edge Function Management
212+
- `get_project_url`: Gets the API URL for a project.
213+
- `get_anon_key`: Gets the anonymous API key for a project.
214+
- `generate_typescript_types`: Generates TypeScript types based on the database schema. LLMs can save this to a file and use it in their code.
215+
216+
#### Edge Functions
217+
218+
Enabled by default. Use `functions` to target this group of tools with the [`--features`](#feature-groups) option.
188219

189220
- `list_edge_functions`: Lists all Edge Functions in a Supabase project.
190221
- `deploy_edge_function`: Deploys a new Edge Function to a Supabase project. LLMs can use this to deploy new functions or update existing ones.
191222

192-
#### Project Configuration
223+
#### Storage
193224

194-
- `get_project_url`: Gets the API URL for a project.
195-
- `get_anon_key`: Gets the anonymous API key for a project.
225+
Disabled by default to reduce tool count. Use `storage` to target this group of tools with the [`--features`](#feature-groups) option.
226+
227+
- `list_storage_buckets`: Lists all storage buckets in a Supabase project.
228+
- `get_storage_config`: Gets the storage config for a Supabase project.
229+
- `update_storage_config`: Updates the storage config for a Supabase project (requires a paid plan).
196230

197231
#### Branching (Experimental, requires a paid plan)
198232

233+
Disabled by default to reduce tool count. Use `branching` to target this group of tools with the [`--features`](#feature-groups) option.
234+
199235
- `create_branch`: Creates a development branch with migrations from production branch.
200236
- `list_branches`: Lists all development branches.
201237
- `delete_branch`: Deletes a development branch.
202238
- `merge_branch`: Merges migrations and edge functions from a development branch to production.
203239
- `reset_branch`: Resets migrations of a development branch to a prior version.
204240
- `rebase_branch`: Rebases development branch on production to handle migration drift.
205241

206-
#### Development Tools
207-
208-
- `search_docs`: Searches the Supabase documentation for up-to-date information. LLMs can use this to find answers to questions or learn how to use specific features.
209-
- `generate_typescript_types`: Generates TypeScript types based on the database schema. LLMs can save this to a file and use it in their code.
210-
211-
#### Cost Confirmation
212-
213-
- `get_cost`: Gets the cost of a new project or branch for an organization.
214-
- `confirm_cost`: Confirms the user's understanding of new project or branch costs. This is required to create a new project or branch.
215-
216242
## Other MCP servers
217243

218244
### `@supabase/mcp-server-postgrest`

0 commit comments

Comments
 (0)