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
+52-17Lines changed: 52 additions & 17 deletions
Original file line number
Diff line number
Diff line change
@@ -53,6 +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 tool groups to enable. See [feature groups](#feature-groups).
56
57
57
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`.
149
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
+
150
163
## Tools
151
164
152
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._
153
166
154
-
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
155
170
156
-
#### 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.
157
172
158
173
_**Note:** these tools will be unavailable if the server is [scoped to a project](#project-scoped-mode)._
159
174
@@ -164,46 +179,66 @@ _**Note:** these tools will be unavailable if the server is [scoped to a project
164
179
-`restore_project`: Restores a project.
165
180
-`list_organizations`: Lists all organizations that the user is a member of.
166
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.
167
184
168
-
#### Database Operations
185
+
#### Knowledge Base
186
+
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.
169
194
170
195
-`list_tables`: Lists all tables within the specified schemas.
171
196
-`list_extensions`: Lists all extensions in the database.
172
197
-`list_migrations`: Lists all migrations in the database.
173
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).
174
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
+
175
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.
176
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.
177
207
178
-
#### Edge Function Management
208
+
#### Development
209
+
210
+
Enabled by default. Use `development` to target this group of tools with the [`--features`](#feature-groups) option.
211
+
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.
179
219
180
220
-`list_edge_functions`: Lists all Edge Functions in a Supabase project.
181
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.
182
222
183
-
#### Project Configuration
223
+
#### Storage
184
224
185
-
-`get_project_url`: Gets the API URL for a project.
186
-
-`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).
187
230
188
231
#### Branching (Experimental, requires a paid plan)
189
232
233
+
Disabled by default to reduce tool count. Use `branching` to target this group of tools with the [`--features`](#feature-groups) option.
234
+
190
235
-`create_branch`: Creates a development branch with migrations from production branch.
191
236
-`list_branches`: Lists all development branches.
192
237
-`delete_branch`: Deletes a development branch.
193
238
-`merge_branch`: Merges migrations and edge functions from a development branch to production.
194
239
-`reset_branch`: Resets migrations of a development branch to a prior version.
195
240
-`rebase_branch`: Rebases development branch on production to handle migration drift.
196
241
197
-
#### Development Tools
198
-
199
-
-`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.
200
-
-`generate_typescript_types`: Generates TypeScript types based on the database schema. LLMs can save this to a file and use it in their code.
201
-
202
-
#### Cost Confirmation
203
-
204
-
-`get_cost`: Gets the cost of a new project or branch for an organization.
205
-
-`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