ToolsConnector
Supabase
Read Supabase projects, auth settings and logs from Claude or ChatGPT through Tulina's MCP server, on your own access token. It does not query your database.
Official site: supabase.com
What it can do
1 read/1 write
- 01Read
List projects and read their auth settings
- 02Write
Query project logs, from auth to Postgres and Edge Functions
The connector reads the administration side of Supabase through the Management API: which projects an access token reaches, how a project's authentication is configured, and what its logs say. It does not read or write the rows in your tables, and it changes nothing in a project. It answers infrastructure questions such as why sign-ins fail or what the redirect allow-list holds.
Is there an MCP for Supabase?
Yes. Supabase hosts its own at https://mcp.supabase.com/mcp and signs you in through the browser, with no personal access token. Its tools cover SQL execution, migrations, Edge Function deployment, branching, project management, advisors, generated types and documentation search. That makes it a development tool for the project you are building. Tulina's connector is the narrower route: it reads configuration and logs and stays out of the database.
Is the Supabase MCP server read-only?
Not by default. Supabase's server can run SQL and apply migrations unless the connection is set to read-only with the read_only=true URL parameter, and it can be scoped to one project with project_ref. Supabase's own documentation tells you to read its security best practices before connecting an assistant to a project. Tulina's connector has three tools and each one reads: list projects, read an auth configuration, query logs.
How do you connect Supabase to Claude and ChatGPT?
Through Tulina's MCP server, in three steps:
- In Supabase, open Account, then Access Tokens, and create a personal access token. It starts with
sbp_and is a Management API token, not a project key. - Paste the token into Tulina's Supabase connector. It is stored in the vault and never shown to the model. Several Supabase accounts can be connected, each under its own name.
- Add
https://mcp.tulina.ai/mcpto Claude or ChatGPT and sign in with your Tulina account. The MCP page has the same link.
Tulina vs Supabase's official MCP server
| Supabase's MCP server | Tulina | |
|---|---|---|
| Endpoint | mcp.supabase.com/mcp, hosted by Supabase | mcp.tulina.ai/mcp, one link for every connected tool |
| Sign-in | Supabase account, authorized in the browser | A personal access token in Tulina's vault |
| Projects | List, get, create, pause and restore | List the projects the token reaches |
| Auth settings | Not covered on the part of the page we read | Read a project's auth configuration |
| Logs | Read-only SQL over project logs | Query a log source, with optional Logflare SQL |
| Database | List tables, run SQL, apply migrations | No access to tables |
| Edge Functions, branching, types | Listed and deployable | Not covered |
If the model should inspect a schema, run a query or ship an Edge Function while you build, Supabase's own server is the better choice. Tulina fits when the Supabase check belongs to a wider piece of work, such as a support question that also touches your inbox and your tracker.
How does Tulina query Supabase logs?
A call names a project ref and a log source: auth_logs by default, or edge_logs, function_edge_logs, function_logs, postgres_logs, postgrest_logs and storage_logs. Without SQL it returns the latest lines of that source, 50 at most unless the agent raises limit, over the last 120 minutes unless it changes minutes. With Logflare SQL it filters and aggregates inside the window, so a question such as "failed logins by hour" comes back as a count and not as a wall of lines.
What you can ask it
"Which Supabase projects can you see?" The agent lists the projects the token reaches, with their refs, so every later question can name one.
"Why are users in project abc bouncing after Google sign-in?" The agent reads the auth configuration for the site URL, the redirect allow-list and the providers, then pulls the latest auth_logs and compares the two.
"Show me Postgres errors from the last two hours." The agent queries postgres_logs over a window of 120 minutes, the default, and groups what comes back. It can narrow the window with minutes or pass its own Logflare SQL.
Supabase pairs with Linear when a log finding becomes a ticket, with PostHog when product analytics and auth logs have to be read side by side, and with Slack when the answer goes to a channel.
What the Supabase connector can't do
- It does not read or write the data in your tables, and it runs no SQL against your database.
- It changes no setting. Auth configuration is read only, and there is no tool to create, pause or delete a project.
- It does not deploy Edge Functions, manage branches or generate types.
- Logs hold what Supabase's services recorded, which can include request details. Ask for the narrowest window and source that answers the question.
- A token reaches every project of the account that issued it. No tool walks through several connected accounts at once, so a total across accounts is one call per account.
Why through Tulina
The connection was never the hard part.
Most systems now publish their own way for a model to reach them, and that is good: it is what Tulina connects to. The hard part is deciding who may use it, what it is allowed to return, and what the model knows before it asks.
The keys stay in one place
YouTeamOrganisation
Connect Supabase once. The credential is encrypted in a vault, never held in clear, and never pasted into a chat or a workflow file. A person uses their own key where they have one, their team's where they do not, the organisation's after that, so nobody is blocked and nobody holds more access than they need. Revoke it once and everything running on it stops.
What leaves is filtered before it leaves
fields droppedmasked or hashedpseudonymised
Roles decide who can reach Supabase at all. Beyond that, a policy on the connector itself decides what comes back. The data is minimised at the source rather than after it has already reached a model.
Every call is on the record
whatwhowhen
Runs are logged for the organisation. That is what makes an automated action reviewable after the fact, and it is what a security review asks for first.
The run starts knowing your company
namingkey accountsdecisions
A direct connection gives a model access. It does not tell it how your company names things, which accounts matter, or what was decided last quarter. Tulina carries that across every tool, so the same request against Supabase returns something usable instead of something generic.
Processes that run on Supabase
None published yet.