publicDatabaseJan 1, 20260 calls
Supabase MCP Template
Curated MCP template for projects, tables, SQL, auth users, and edge functions.
Hosted MCP endpoint
/api/mcp/preset-supabasePrivate servers require an Astrail API key in the Authorization header.
MCP client snippets
Claude Desktop config
{
"mcpServers": {
"supabase-mcp-template": {
"url": "/api/mcp/preset-supabase"
}
}
}cURL initialize
curl -sS -X POST "/api/mcp/preset-supabase" \
-H 'Content-Type: application/json' \
--data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'cURL tools/list
curl -sS -X POST "/api/mcp/preset-supabase" \
-H 'Content-Type: application/json' \
--data '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'cURL tools/call
curl -sS -X POST "/api/mcp/preset-supabase" \
-H 'Content-Type: application/json' \
--data '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"supabase_list_tables","arguments":{"project_ref":"example"}}}'Runtime behavior
Runtime health
needs_mappingEndpoint health
not_checkedExecution mode
mapping_requiredDeterministic executionNot yet executable
Generated sourceExport only
Endpoint mapRequired
Endpoint mappedNo
Auth-required endpointsNone detected
Browser runtime endpointsNone detected
Last status
not recordedLast execution mode
not recordedLast toolnot recorded
Last latencynot recorded
Upstream statusnot recorded
Trace ID
not recordedError code
noneObservability
structured fallbackRate limit mode
standardMissing auth
auth_requiredMissing mapping
mapping_requiredAstrail does not evaluate generated TypeScript inside Next.js. Hosted calls are routed through stored tool metadata and endpoint maps.
Tools
supabase_list_tablesList tables and schema metadata for a project.
supabase_run_sqlRun reviewed SQL against a Supabase database.
supabase_list_auth_usersList auth users with filters.
server.ts
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
const server = new McpServer({ name: "Supabase MCP Template", version: "1.0.0" });
// Curated Astrail template. Add the provider API token and replace the
// placeholder handlers with real fetch calls for: supabase_list_tables, supabase_run_sql, supabase_list_auth_users.
server.tool("template_status", "Confirm this curated MCP template is installed.", z.object({}), async () => ({
content: [{ type: "text", text: "Template installed. Add provider credentials to enable live API calls." }],
}));
const transport = new StdioServerTransport();
await server.connect(transport);