Supabase MCP Server
OFFICIAL SERVERManage Supabase projects, run SQL, deploy Edge Functions and read logs from an MCP client
Query, write and manage the schema and permissions of InstantDB apps from an AI editor
Official · Instant TypeScript Remote (hosted) · Streamable HTTPLocal · stdio DatabasesDeveloper tools
40 popularity score ★ 11k ↓ 82/wk
Opens the app, which asks before it adds the server.
claude mcp add --transport http instant https://mcp.instantdb.com/mcphttps://mcp.instantdb.com/mcphttps://mcp.instantdb.com/mcp{
"mcpServers": {
"instant": {
"url": "https://mcp.instantdb.com/mcp"
}
}
}{
"servers": {
"instant": {
"type": "http",
"url": "https://mcp.instantdb.com/mcp"
}
}
}[mcp_servers.instant]
url = "https://mcp.instantdb.com/mcp"gemini mcp add --scope user --transport http instant https://mcp.instantdb.com/mcpOpens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.
It needs INSTANT_ACCESS_TOKEN. Replace each <NAME> with your value.
claude mcp add instant -e INSTANT_ACCESS_TOKEN=<INSTANT_ACCESS_TOKEN> -- npx -y @instantdb/mcp{
"mcpServers": {
"instant": {
"command": "npx",
"args": [
"-y",
"@instantdb/mcp"
],
"env": {
"INSTANT_ACCESS_TOKEN": "<INSTANT_ACCESS_TOKEN>"
}
}
}
}{
"mcpServers": {
"instant": {
"command": "npx",
"args": [
"-y",
"@instantdb/mcp"
],
"env": {
"INSTANT_ACCESS_TOKEN": "<INSTANT_ACCESS_TOKEN>"
}
}
}
}{
"servers": {
"instant": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@instantdb/mcp"
],
"env": {
"INSTANT_ACCESS_TOKEN": "<INSTANT_ACCESS_TOKEN>"
}
}
}
}[mcp_servers.instant]
command = "npx"
args = ["-y", "@instantdb/mcp"]
[mcp_servers.instant.env]
INSTANT_ACCESS_TOKEN = "<INSTANT_ACCESS_TOKEN>"gemini mcp add --scope user -e INSTANT_ACCESS_TOKEN=<INSTANT_ACCESS_TOKEN> instant npx -- -y @instantdb/mcpINSTANT_ACCESS_TOKEN |
Required: Personal access token from the Instant dashboard; can be given as --token instead. |
|---|---|
INSTANT_API_URL |
Optional: API address used by query and transact; defaults to https://api.instantdb.com. |
Instant MCP is InstantDB's own server for working on Instant apps from a coding assistant. It sits inside the main instantdb/instant repository (client/packages/mcp) and is built on the Instant Platform SDK. Connected to your Instant account, it can run InstaQL queries against an app and send transactions that create, update, link, unlink or delete records, returning the results as JSON.
It has seven tools in version 1.0.67. Only query and transact call Instant's API themselves. The schema and permissions tools (get-schema, get-perms, push-schema, push-perms) change nothing on their own: they return the instant-cli command to run (for example npx instant-cli push schema --app <id> --yes), and the assistant or you must run it in a shell. The learn tool points to Instant's agent rules file. The README and docs do not say this; it is visible in src/index.ts.
There are two ways to connect. Instant runs a hosted copy at https://mcp.instantdb.com/mcp (streamable HTTP) and /sse for older clients, where you sign in to your Instant account through OAuth; the docs recommend this one. You can also run the npm package locally over stdio with a personal access token.
| To run it yourself | Node.js 18+ |
|---|
An InstantDB account and at least one app. Local: Node.js 18 or newer for npx, and a personal access token from the Instant dashboard, passed as --token or INSTANT_ACCESS_TOKEN. The pull and push tools expect the assistant to be able to run npx instant-cli in your project. Hosted: a client that supports remote MCP, or mcp-remote for SSE-only clients. Codex needs the rmcp_client feature turned on in ~/.codex/config.toml first.
The schema and permissions tools return instructions rather than doing the work, so a client with no shell access can only query and transact. push-schema treats fields missing from the local file as deletions unless renames are given with --rename. In 1.0.67 query and transact send requests to INSTANT_API_URL (default https://api.instantdb.com) and ignore --api-url, so pointing a local Instant server at them needs that variable (src/tools.ts). The token reaches every app on the account; there is no read-only mode.
Developers who build on InstantDB and want an assistant to inspect and edit app data, schema and permissions while coding. The hosted endpoint suits most people, since it needs no token handling and always runs the latest version; the local package suits clients without remote MCP support, or anyone who wants a token they control. Because transact can delete data and the token covers the whole account, point it at development apps. It is of no use without an Instant app.
learnget-schemaget-permspush-schemapush-permsquerytransact