Supabase
Manage Supabase projects — databases, auth users, edge functions, storage buckets.
2,880 stars 401 forks Last commit 1d ago Language TypeScript License Apache-2.0
Install
npx -y @supabase/mcp-server-supabase Maintain this server? Add the badge
Show your README readers it's in a curated directory — and give them a one-click path to install docs and config.
Markdown
[](https://pulse-3k2.pages.dev/mcp/supabase) Theme-aware version (auto dark/light on GitHub) →
<a href="https://pulse-3k2.pages.dev/mcp/supabase"><picture><source media="(prefers-color-scheme: dark)" srcset="https://pulse-3k2.pages.dev/api/badge/mcp/supabase.svg?theme=dark"><img alt="Listed on Prismix" src="https://pulse-3k2.pages.dev/api/badge/mcp/supabase.svg"></picture></a> Claude Desktop / Cursor config
Drop into your claude_desktop_config.json or Cursor MCP settings. Replace the ${…} placeholders with your own values.
{
"mcpServers": {
"supabase": {
"command": "npx",
"args": ["-y", "@supabase/mcp-server-supabase", "--access-token", "${SUPABASE_ACCESS_TOKEN}"]
}
}
} About
Supabase's official MCP server. Project + organisation listing, Postgres database management (tables, RPC, RLS policies), auth user CRUD, edge-function deploys, storage bucket + object operations.
Recent releases (5)
All releases →- mcp-utils: v0.7.0 mcp-utils-v0.7.0 Latest Aug 20, 2026
## [0.7.0](https://github.com/supabase/mcp/compare/mcp-utils-v0.6.0...mcp-utils-v0.7.0) (2026-08-20) ### ⚠ BREAKING CHANGES * the peer dependency is now `@modelcontextprotocol/server` instead of `@modelcontextprotocol/sdk`, so consumers must install the new package. `@supabase/mcp-utils` also drops the exported types `ExtractRequest`, `ExtractNotification`, `ExtractResult` and `ExpandRecursively`, and `createMcpServer` returns a bare `Server` rather than `Server<Request, Notification, Result>`, because v2's `Server` class takes no type parameters. Because that returned value is now a v2 `Server`, a consumer who registered extra handlers on it must rewrite `server.setRequestHandler(SomeRequestSchema, ...)` as `server.setRequestHandler('some/method', ...)`; the v1 Zod-schema overload no longer exists. `InitData.clientCapabilities` now follows v2's `ClientCapabilities`, which is narrower than v1's and not assignable from it. Finally, a `tools/call` request whose `params` are malformed, meaning no `name` key or a non-string `name`, now returns JSON-RPC `-32602` with the message prefix `Invalid tools/call request: ` where v1 returned `-32603` with a bare stringified ZodError. ### Features * migrate published packages to MCP SDK v2 ([#327](https://github.com/supabase/mcp/issues/327)) ([ead56f2](https://github.com/supabase/mcp/commit/ead56f228fcc316dd7d8db9030807fb7b3bfb73b))View on GitHub ↗ - mcp-server-supabase: v0.11.0 mcp-server-supabase-v0.11.0 Aug 20, 2026
## [0.11.0](https://github.com/supabase/mcp/compare/mcp-server-supabase-v0.10.0...mcp-server-supabase-v0.11.0) (2026-08-20) ### ⚠ BREAKING CHANGES * the peer dependency is now `@modelcontextprotocol/server` instead of `@modelcontextprotocol/sdk`, so consumers must install the new package. `@supabase/mcp-utils` also drops the exported types `ExtractRequest`, `ExtractNotification`, `ExtractResult` and `ExpandRecursively`, and `createMcpServer` returns a bare `Server` rather than `Server<Request, Notification, Result>`, because v2's `Server` class takes no type parameters. Because that returned value is now a v2 `Server`, a consumer who registered extra handlers on it must rewrite `server.setRequestHandler(SomeRequestSchema, ...)` as `server.setRequestHandler('some/method', ...)`; the v1 Zod-schema overload no longer exists. `InitData.clientCapabilities` now follows v2's `ClientCapabilities`, which is narrower than v1's and not assignable from it. Finally, a `tools/call` request whose `params` are malformed, meaning no `name` key or a non-string `name`, now returns JSON-RPC `-32602` with the message prefix `Invalid tools/call request: ` where v1 returned `-32603` with a bare stringified ZodError. ### Features * add dual-era package serving entries ([#358](https://github.com/supabase/mcp/issues/358)) ([989eb4e](https://github.com/supabase/mcp/commit/989eb4e8e392305510e3aa119855bab0e2bd3bdb)) * migrate published packages to MCP SDK v2 ([#327](https://github.com/supabase/mcp/issues/327)) ([ead56f2](https://github.com/supabase/mcp/commit/ead56f228fcc316dd7d8db9030807fb7b3bfb73b))View on GitHub ↗ - mcp-server-postgrest: v0.2.0 mcp-server-postgrest-v0.2.0 Aug 20, 2026
## [0.2.0](https://github.com/supabase/mcp/compare/mcp-server-postgrest-v0.1.1...mcp-server-postgrest-v0.2.0) (2026-08-20) ### ⚠ BREAKING CHANGES * the peer dependency is now `@modelcontextprotocol/server` instead of `@modelcontextprotocol/sdk`, so consumers must install the new package. `@supabase/mcp-utils` also drops the exported types `ExtractRequest`, `ExtractNotification`, `ExtractResult` and `ExpandRecursively`, and `createMcpServer` returns a bare `Server` rather than `Server<Request, Notification, Result>`, because v2's `Server` class takes no type parameters. Because that returned value is now a v2 `Server`, a consumer who registered extra handlers on it must rewrite `server.setRequestHandler(SomeRequestSchema, ...)` as `server.setRequestHandler('some/method', ...)`; the v1 Zod-schema overload no longer exists. `InitData.clientCapabilities` now follows v2's `ClientCapabilities`, which is narrower than v1's and not assignable from it. Finally, a `tools/call` request whose `params` are malformed, meaning no `name` key or a non-string `name`, now returns JSON-RPC `-32602` with the message prefix `Invalid tools/call request: ` where v1 returned `-32603` with a bare stringified ZodError. ### Features * migrate published packages to MCP SDK v2 ([#327](https://github.com/supabase/mcp/issues/327)) ([ead56f2](https://github.com/supabase/mcp/commit/ead56f228fcc316dd7d8db9030807fb7b3bfb73b))View on GitHub ↗ - mcp-utils: v0.6.0 mcp-utils-v0.6.0 Aug 10, 2026
## [0.6.0](https://github.com/supabase/mcp/compare/mcp-utils-v0.5.1...mcp-utils-v0.6.0) (2026-08-10) ### Features * hide tools from tools/list ([#334](https://github.com/supabase/mcp/issues/334)) ([d80471a](https://github.com/supabase/mcp/commit/d80471a13b9ceafbdadfec30a0d38c80baa7e718))
View on GitHub ↗ - mcp-server-supabase: v0.10.0 mcp-server-supabase-v0.10.0 Aug 10, 2026
## [0.10.0](https://github.com/supabase/mcp/compare/mcp-server-supabase-v0.9.0...mcp-server-supabase-v0.10.0) (2026-08-10) ### ⚠ BREAKING CHANGES * add query_logs tool for custom log queries ([#333](https://github.com/supabase/mcp/issues/333)) ### Features * add --content-api-url flag and SUPABASE_CONTENT_API_URL env var ([#343](https://github.com/supabase/mcp/issues/343)) ([6fcaaa3](https://github.com/supabase/mcp/commit/6fcaaa39061545d21aeae9f19672437f4b1f617d)) * add query_logs tool for custom log queries ([#333](https://github.com/supabase/mcp/issues/333)) ([798806b](https://github.com/supabase/mcp/commit/798806b4a4c132be39d5578a77186ad0e5e4c875)) * hide tools from tools/list ([#334](https://github.com/supabase/mcp/issues/334)) ([d80471a](https://github.com/supabase/mcp/commit/d80471a13b9ceafbdadfec30a0d38c80baa7e718)) ### Bug Fixes * hide read-only mode ([#349](https://github.com/supabase/mcp/issues/349)) ([5cda067](https://github.com/supabase/mcp/commit/5cda0672702c65fe672280ee4cf306593e643fb6)) * **pg-meta:** pair composite FK columns positionally to avoid cartesi… ([#317](https://github.com/supabase/mcp/issues/317)) ([10af00b](https://github.com/supabase/mcp/commit/10af00bbce7ff1dc116be36a78670119220fb2da)) * select query_logs dialect via logsDialect ([#357](https://github.com/supabase/mcp/issues/357)) ([80ff453](https://github.com/supabase/mcp/commit/80ff4538afe5385db6c896fe851c4f5b7f66eb3b))
View on GitHub ↗
Discussion (0)
Sign in to comment →No comments yet. Sign in to start the discussion.