DEV Community

Cover image for Managing Supabase projects with Claude Code
Rohith Singh Subscriber for Composio

Posted on • Originally published at composio.dev

Managing Supabase projects with Claude Code

In my last post, I shared how I got tired of clicking through the Neon dashboard and started managing it using Claude Code and Composio’s MCP.

It worked great, and I know people use other DB Providers as well. So for this blog post, I’ve done the same thing for Supabase, because let’s be real, even though Supabase is great, doing small things like creating tables, updating schemas, or tweaking RLS policies through the dashboard gets frustrating too fast…

Frustrated Clicks

So here’s how you can manage your Supabase projects with Claude Code, with no UI, no clicking, just pure natural human language.

What’s Covered?

  • Supabase MCP by Composio
  • How to configure Claude so that you can manage Supabase projects through your terminal
  • Prompting Claude to create projects, run SQL queries to create a table, and fetch the data.

What is Supabase MCP by Composio?

Supabase MCP is a tool interface that uses the Supabase API in a format that Claude (and other Agents) can understand. MCP, here’s a way to describe tools (like APIs or CLI commands) so language models can use them like real assistants. Anthropic gives a better description of MCP here.

With Supabase MCP, Claude can:

  • Create or update tables.
  • Create or update functions.
  • Update an SSO provider.
  • And more… all from chat/prompts.

But all this can be done using some other MCP tools, right? Where does Composio come in?

Here’s where Composio comes in

Composio

Let’s say that you’re building a SaaS app, and you want your users to use some AI Agent to manage a Supabase project from your app. You could try connecting your app directly to a Supabase MCP, but then you’d have to handle:

  • Auth (OAuth, service keys, etc.)
  • Sessions and token storage
  • Writing tool specs manually

That’s a lot of work to do. Composio handles all that for you. It manages tool connections and auth as an integration layer, so all you do is log in, pick Supabase, and boom, everything is readily available inside Claude (or Cursor, or Windsurf, or your agent)

Configuring Claude to use Supabase MCP

You can do this in 2 different ways:

1. Using Composio’s MCP Page

This is the most straightforward way of using Composio MCPs

  • Head over to the Supabase MCP page.
  • Switch to the Claude tab → Click Generate → Copy the command
  • Run it inside your terminal.
npx @composio/mcp@latest setup "https://mcp.composio.dev/partner/composio/supabase/mcp?customerId=[your-customer-id]" "supabase-b3c6o7-81" --client claude
Enter fullscreen mode Exit fullscreen mode
  • Copy the config file to your local project setup:
cp ~/.config/claude/claude_desktop_config.json .mcp.json
Enter fullscreen mode Exit fullscreen mode
  • Start Claude (Claude) and prompt it to authenticate your Supabase MCP. It’ll give you an Auth URL to authenticate your Client.

MCP Dashboard Setup

Supabase Authorization

2. Or, use the composio dashboard (more control over your tools)

If you’d rather take the custom option:

  • Head over to the Composio Dashboard. (The new interface is slick and easy to use.)
  • Go to MCP Configs → Create MCP Config.
  • Give your MCP Config a name, pick Supabase as the toolkit, and choose your authentication method.
  • On the next screen, select the tools you want your agent to use. Click Create MCP, and then authorize Composio with the permissions.
  • After that, you’ll get a modal with a pre-generated npx command - this lets you connect the MCP directly from the client.

Alternatively, if you’re integrating Supabase directly, follow this guide from their docs: https://supabase.com/docs/guides/integrations/build-a-supabase-integration

  • Once you’re connected, hop over to the playground and try simple instructions like:
    Create a project named "test-project" with default settings
Enter fullscreen mode Exit fullscreen mode

Prompting Claude to do useful things

Once configured, you can prompt Claude to do almost anything on Supabase. Here are a few examples, I’ve tried:

  • “Create a new Supabase project called blog-backend."
  • “Add a new table called comments with columns id, text, and user_id."
  • “Fetch all rows from the comments table.”
  • “Add an RLS policy that allows only the owner to update their comment.”

Note: To save Claude from using extra tokens, always pass the tool you want to use for a task.
If you don’t, Claude might try to guess it, and that uses up more tokens than needed.

You can run this MCP server via Claude Desktop, Cursor, Windsurf, or even try to hook it up to your devtools.

Wrapping Up

I initially built this flow for Neon because I was tired of the repetitive clicks and dashboard delays. But I know many folks use Supabase for their projects, so it made sense to do the same here.

With Claude Code and Supabase MCP, you can now manage your Supabase projects just by prompting what you want. If you’re already using Claude or building agents, this setup is worth trying. And if you’re not, well, maybe this is a good reason to start.

Top comments (0)