Hermes Supabase MCP
Provides PostgREST CRUD tools for interacting with Supabase structured data, allowing operations on allowed tables without exposing arbitrary SQL.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Hermes Supabase MCP show me the school menus"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Hermes Supabase MCP
A local, constrained MCP server for Supabase structured data. It exposes PostgREST CRUD tools without exposing arbitrary SQL. Tables can be restricted with SUPABASE_ALLOWED_TABLES.
Configuration
Set these in /home/jstarcher/.hermes/.env:
SUPABASE_URL=https://rjoebxpiajgjglemtayk.supabase.co
SUPABASE_SECRET_KEY=sb_secret_...
SUPABASE_ALLOWED_TABLES=school_menus,menu_itemsSUPABASE_SERVICE_ROLE_KEY remains accepted temporarily for migration, but SUPABASE_SECRET_KEY takes precedence.
Related MCP server: Supabase MCP Server
Local test
uv run --project /home/jstarcher/supabase-mcp --with pytest pytest -qHermes configuration
Add the MCP server to Hermes with the supported config command rather than hand-editing YAML:
hermes config set mcp_servers.supabase.command /home/jstarcher/supabase-mcp/.venv/bin/supabase-mcp
hermes config set mcp_servers.supabase.timeout 60
hermes config set mcp_servers.supabase.connect_timeout 30The MCP subprocess receives only explicitly configured environment variables. The next step is to add the Supabase variables to that MCP entry or use the project .env loading mechanism supported by the active Hermes version, then restart Hermes.
Available Tools
6 toolssupabase_deleteB
Delete rows matching required filters; unrestricted deletes are rejected.
Inputs: table (required), filters (required).
supabase_healthA
Check connectivity to the configured Supabase project.
Inputs: no named parameters. Returns: object
supabase_insertC
Insert rows into an allowed table and return inserted records.
Inputs: rows (required), table (required).
supabase_selectC
Read rows from an allowed table using PostgREST filter expressions.
Inputs: table (required), limit, order, columns, +1 more.
supabase_updateB
Update rows matching required filters; unrestricted updates are rejected.
Inputs: table (required), values (required), filters (required).
supabase_upsertC
Insert or merge rows, optionally using a comma-separated conflict key list.
Inputs: rows (required), table (required), on_conflict.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool maps to a distinct CRUD operation or health check, with insert vs. upsert boundaries clearly explained (insert fails on conflict, upsert merges with conflict keys). No overlapping purposes that would cause misselection.
All tool names follow the same supabase_<operation> snake_case pattern. 'health' is the only non-verb label, but it remains a clear operation name within the same prefix convention.
Six tools are well-scoped for safe table-row operations plus a connectivity check. Each tool earns its place without redundancy or filler.
The set provides full CRUD lifecycle coverage (select, insert, upsert, update, delete) plus a health check for the stated allowed-table domain. No obvious dead ends exist for safe PostgREST-based row operations, though schema introspection or RPC is outside the apparent scope.
Maintenance
Related MCP Connectors
Safe, read-only Postgres and MySQL access for AI agents. Audit log + column-level controls.
Your Supabase account in natural language: run SQL, apply migrations, manage tables, storage, edge f
Supabase-compatible Postgres for agents: projects, branches, SQL, auth, storage, email.
Manage Supabase projects end to end across database, auth, storage, realtime, and migrations. Moni…
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to perform CRUD operations on Supabase databases through natural language. Supports advanced filtering, pagination, and safety checks for seamless database interaction.MIT
- AlicenseNot gradedqualityDmaintenanceEnables secure interaction with Supabase databases via the PostgREST API, supporting full CRUD operations and stored procedure calls. It utilizes the Dedalus MCP framework to provide encrypted credential handling and just-in-time token exchange.4MIT
- AlicenseNot gradedqualityDmaintenanceProvides secure access to Supabase databases via PostgREST API and management tools for projects, schemas, branches, logs, and code generation.MIT
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Supabase databases, including listing tables, querying, inserting, updating, deleting records, and executing RPC functions.125 npmMIT