You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+50-24Lines changed: 50 additions & 24 deletions
Original file line number
Diff line number
Diff line change
@@ -53,9 +53,7 @@ The following options are available:
53
53
54
54
-`--read-only`: Used to restrict the server to read-only queries. Recommended by default. See [read-only mode](#read-only-mode).
55
55
-`--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).
59
57
60
58
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:
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`.
152
150
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:
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
+
153
163
## Tools
154
164
155
165
_**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._
156
166
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
158
170
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.
160
172
161
173
_**Note:** these tools will be unavailable if the server is [scoped to a project](#project-scoped-mode)._
162
174
@@ -167,52 +179,66 @@ _**Note:** these tools will be unavailable if the server is [scoped to a project
167
179
-`restore_project`: Restores a project.
168
180
-`list_organizations`: Lists all organizations that the user is a member of.
169
181
-`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
170
186
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.
172
194
173
195
-`list_tables`: Lists all tables within the specified schemas.
174
196
-`list_extensions`: Lists all extensions in the database.
175
197
-`list_migrations`: Lists all migrations in the database.
176
198
-`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).
177
199
-`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
+
178
205
-`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.
179
206
-`get_advisors`: Gets a list of advisory notices for a Supabase project. LLMs can use this to check for security vulnerabilities or performance issues.
180
207
181
-
#### Storage Operations
208
+
#### Development
182
209
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.
186
211
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.
188
219
189
220
-`list_edge_functions`: Lists all Edge Functions in a Supabase project.
190
221
-`deploy_edge_function`: Deploys a new Edge Function to a Supabase project. LLMs can use this to deploy new functions or update existing ones.
191
222
192
-
#### Project Configuration
223
+
#### Storage
193
224
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).
196
230
197
231
#### Branching (Experimental, requires a paid plan)
198
232
233
+
Disabled by default to reduce tool count. Use `branching` to target this group of tools with the [`--features`](#feature-groups) option.
234
+
199
235
-`create_branch`: Creates a development branch with migrations from production branch.
200
236
-`list_branches`: Lists all development branches.
201
237
-`delete_branch`: Deletes a development branch.
202
238
-`merge_branch`: Merges migrations and edge functions from a development branch to production.
203
239
-`reset_branch`: Resets migrations of a development branch to a prior version.
204
240
-`rebase_branch`: Rebases development branch on production to handle migration drift.
205
241
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.
0 commit comments