Skip to main content
Glama
rubenyh

Supabase Read-Only MCP Server

by rubenyh

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_HOSTNoHost for the HTTP MCP endpoint. Default is 127.0.0.1.
MCP_PORTNoPort for the HTTP MCP endpoint. Default is 8000.
MCP_TRANSPORTNoTransport for the MCP server. Default is stdio. Set to http for Streamable HTTP. Example: http
MCP_ALLOWED_TABLESNoExact allowlist of tables and views. An empty value is deny-all. Example: public.customers,public.accounts,public.transactions
MCP_ALLOWED_SCHEMASNoAllowed schemas for exposed tables and views. Example: public
SUPABASE_DATABASE_URLYesPostgreSQL connection URL for a dedicated read-only role. Both postgresql:// and postgresql+psycopg:// are accepted. TLS is enforced when sslmode is omitted, and only require, verify-ca, or verify-full are accepted when sslmode is supplied. Example: postgresql://mcp_reader:REPLACE_WITH_PASSWORD@db.PROJECT_REF.supabase.co:5432/postgres?sslmode=require

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
health_checkA

Check server and database availability with SELECT 1; returns no sensitive details.

list_allowed_tablesA

List only configured and validated tables/views; use before describing or selecting.

describe_tableB

Describe safe column metadata for one allowlisted schema/table; rejects all others.

select_rowsB

Select bounded rows from an allowlisted object using typed filters, never arbitrary SQL.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: health_check for server/database status, list_allowed_tables for table enumeration, describe_table for schema metadata, and select_rows for data retrieval. There is no overlap or confusion between these roles.

Naming Consistency4/5

All tools use snake_case, which is consistent. However, health_check breaks the verb_noun pattern followed by list_allowed_tables, describe_table, and select_rows, creating a minor deviation.

Tool Count5/5

Four tools are well-scoped for a focused read-only server. Each tool earns its place, covering health, table listing, schema description, and row selection without redundancy.

Completeness4/5

The surface covers health checks, table discovery, schema metadata, and data selection, which is nearly complete for read-only access. Minor gaps like explicit schema listing or relationship introspection exist but are not critical.

Maintenance

ActivityMaintained
ResponsivenessNo issues