Skip to main content
Glama
Hermes Supabase MCP

Hermes Supabase MCP

by cosmosluna

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_items

SUPABASE_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 -q

Hermes 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 30

The 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 tools
supabase_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

    A3.5/5.0

    Scored across 6 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    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.

    Tool Count5/5

    Six tools are well-scoped for safe table-row operations plus a connectivity check. Each tool earns its place without redundancy or filler.

    Completeness5/5

    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

    ActivityStale
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables 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.
      4
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Provides secure access to Supabase databases via PostgREST API and management tools for projects, schemas, branches, logs, and code generation.
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables interaction with Supabase databases, including listing tables, querying, inserting, updating, deleting records, and executing RPC functions.
      125 npm
      MIT