Supabase Extension
This tutorial covers how to add the Supabase MCP Server as a goose extension to interact with your Supabase projects, manage tables, query data, deploy Edge Functions, and interact with your Supabase backend directly.
- goose Desktop
- goose CLI
Use goose configure to add a Remote Extension (Streaming HTTP) extension type with:
Endpoint URL
https://mcp.supabase.com/mcp
Configuration
Supabase Remote MCP
The Supabase MCP Server is hosted by Supabase and provides OAuth-based authentication. When you connect, you'll be redirected to supabase.com to sign in to your account.
- goose Desktop
- goose CLI
- Launch the installer
- Click
Yesto confirm the installation - Click the button in the top-left to open the sidebar
- Navigate to the chat
- Run the
configurecommand:
goose configure
- Choose to add a
Remote Extension (Streaming HTTP).
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◆ What type of extension would you like to add?
│ ○ Built-in Extension
│ ○ Command-line Extension
│ ○ Remote Extension (SSE)
│ ● Remote Extension (Streaming HTTP) (Connect to a remote extension via MCP Streaming HTTP)
└
- Give your extension a name.
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◇ What type of extension would you like to add?
│ Remote Extension (Streaming HTTP)
│
◆ What would you like to call this extension?
│ Supabase
└
- Enter the Streaming HTTP endpoint URI.
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◇ What type of extension would you like to add?
│ Remote Extension (Streaming HTTP)
│
◇ What would you like to call this extension?
│ Supabase
│
◆ What is the Streaming HTTP endpoint URI?
│ https://mcp.supabase.com/mcp
└
- Enter the number of seconds Goose should wait for actions to complete before timing out. Default is
300seconds.
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◇ What type of extension would you like to add?
│ Remote Extension (Streaming HTTP)
│
◇ What would you like to call this extension?
│ Supabase
│
◇ What is the Streaming HTTP endpoint URI?
│ https://mcp.supabase.com/mcp
│
◆ Please set the timeout for this tool (in secs):
│ 300
└
- Enter a description for this extension.
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◇ What type of extension would you like to add?
│ Remote Extension (Streaming HTTP)
│
◇ What would you like to call this extension?
│ Supabase
│
◇ What is the Streaming HTTP endpoint URI?
│ https://mcp.supabase.com/mcp
│
◇ Please set the timeout for this tool (in secs):
│ 300
│
◆ Enter a description for this extension:
│ Connect your Supabase projects to AI assistants. Manage tables, query data, deploy Edge Functions, and interact with your Supabase backend directly from your MCP client.
└
- Choose
Nowhen asked to add custom headers.
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◇ What type of extension would you like to add?
│ Remote Extension (Streaming HTTP)
│
◇ What would you like to call this extension?
│ Supabase
│
◇ What is the Streaming HTTP endpoint URI?
│ https://mcp.supabase.com/mcp
│
◇ Please set the timeout for this tool (in secs):
│ 300
│
◇ Enter a description for this extension:
│ Connect your Supabase projects to AI assistants. Manage tables, query data, deploy Edge Functions, and interact with your Supabase backend directly from your MCP client.
│
◆ Would you like to add custom headers?
│ No
│
└ Added Supabase extension
OAuth Flow
When you first connect to the Supabase MCP Server through goose, an OAuth window will open in your browser. Follow the prompts to authorize access to your Supabase projects.
The Supabase MCP Server grants access to your database and project management capabilities. Always review LLM-requested actions before execution and ensure you're working in the appropriate environment (development, staging, production).
Example Usage
Example 1: List Your Supabase Projects
Get an overview of all your Supabase projects and their configurations.
goose Prompt
List all my Supabase projects
goose Output
Here are your Supabase projects:
1. my project (ID: abc123xyz789defg)
- Region: US West 1
- Created: October 30, 2025
- Status: ACTIVE_HEALTHY
- Database: PostgreSQL 17.6.1.031 (Engine v17)
- Host: db.abc123xyz789defg.supabase.co
2. new project (ID: jkl456mno012pqrs)
- Region: US West 1
- Created: October 31, 2025
- Status: INACTIVE
- Database: PostgreSQL 17.6.1.032 (Engine v17)
- Host: db.jkl456mno012pqrs.supabase.co
Would you like more detailed information about any specific project?
Example 2: Query Database Tables
Discover and query tables within your Supabase project.
goose Prompt
What tables exist in my project?
goose Output
Tables in my project (public schema):
1. users
- RLS Enabled: Yes
- Row count: 150
- Columns: id (uuid), email (text), name (text), created_at (timestamptz), role (text)
- Primary Key: id
- Foreign Keys: Referenced by posts.user_id, profiles.user_id
2. posts
- RLS Enabled: Yes
- Row count: 342
- Columns: id (uuid), user_id (uuid), title (text), content (text), created_at (timestamptz)
- Primary Key: id
- Foreign Keys: References users.id, referenced by comments.post_id
3. comments
- RLS Enabled: Yes
- Row count: 1089
- Columns: id (uuid), post_id (uuid), user_id (uuid), content (text), created_at (timestamptz)
- Primary Key: id
- Foreign Keys: References posts.id, references users.id
4. profiles
- RLS Enabled: Yes
- Row count: 150
- Columns: id (uuid), user_id (uuid), bio (text), avatar_url (text), updated_at (timestamptz)
- Primary Key: id
- Foreign Keys: References users.id
5. categories
- RLS Enabled: No
- Row count: 12
- Columns: id (uuid), name (text), description (text), created_at (timestamptz)
- Primary Key: id
Would you like to query data from any of these tables?
Example 3: Deploy an Edge Function
Deploy and manage Supabase Edge Functions directly through goose.
goose Prompt
Deploy a new Edge Function called 'hello-world' that returns a simple JSON response
goose Output
Edge Function deployed successfully!
Function Name: hello-world
Version: 1
Status: ACTIVE
Function ID: c4e03748-3e72-45e2-bdca-03f7e4800874
Project: my project (tabowbdrhvtlvzvfyinw)
Entrypoint: index.ts
JWT Verification: Enabled
Created: November 8, 2025
Function code:
```typescript
Deno.serve(async (req) => {
return new Response(
JSON.stringify({ message: "Hello World!" }),
{ headers: { "Content-Type": "application/json" } },
)
})
Endpoint: https://tabowbdrhvtlvzvfyinw.supabase.co/functions/v1/hello-world
You can test the function by sending a request to the endpoint above.
Additional Resources
For more information about the Supabase MCP Server and its capabilities, visit: