mcp-backend
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CATALOG_URI | No | Iceberg REST Catalog URI | |
| S3_ENDPOINT | No | S3-compatible endpoint URL | |
| BACKEND_MODE | No | Mode: 'supabase' (full) or 'postgres' (DB + S3 storage) | |
| POSTGRES_URL | No | PostgreSQL connection string | |
| SUPABASE_URL | No | Supabase project URL (required in supabase mode) | |
| ICEBERG_TOKEN | No | Bearer token for Iceberg catalog | |
| STORAGE_BUCKET | No | Default S3 bucket name (postgres mode) | |
| STORAGE_REGION | No | S3 region (default: us-east-1) | |
| AWS_ACCESS_KEY_ID | No | S3-compatible access key | |
| ICEBERG_NAMESPACE | No | Iceberg namespace (default: audit) | |
| ICEBERG_WAREHOUSE | No | Iceberg warehouse name | |
| SUPABASE_SECRET_KEY | No | Supabase service role key (supabase mode) | |
| STORAGE_ENDPOINT_URL | No | S3-compatible endpoint (required in postgres mode) | |
| AWS_SECRET_ACCESS_KEY | No | S3-compatible secret key | |
| STORAGE_ACCESS_KEY_ID | No | S3 access key (postgres mode) | |
| SUPABASE_PUBLISHABLE_KEY | No | Supabase anon/publishable key (supabase mode) | |
| STORAGE_SECRET_ACCESS_KEY | No | S3 secret key (postgres mode) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| run_base_seedA | Runs all SQL files in base/ (02-base equivalent with real natuleadan company data) |
| run_data_seedB | Runs all SQL files in data/ (03-data.ee equivalent with real users, products, courses) |
| run_all_seedsB | Runs base seed then data seed in order |
| list_seed_filesB | Lists all SQL files available in base/ and data/ |
| query_dbA | Run a raw SQL SELECT query against the database. READ ONLY - for inspection/verification. |
| list_tablesA | List all tables in the public schema |
| execute_sqlA | Run any SQL statement (INSERT, UPDATE, DELETE, SELECT, etc.) with full bypass of RLS. Use with care. |
| execute_rls_sqlA | Run a SELECT query impersonating a user role (applies RLS). Useful to test what a role can see. Only available in supabase mode. |
| list_bucketsA | List all Supabase storage buckets with their visibility |
| list_filesB | List files in a bucket folder |
| upload_fileB | Upload any local file to a storage bucket. local_path can be absolute (/Users/...) or relative to buckets/{bucket}/ |
| delete_fileB | Delete a file from a storage bucket |
| get_signed_urlB | Generate a signed URL for a private bucket file |
| get_public_urlA | Get the public URL for a file in a public bucket |
| download_bucketA | Download files from Supabase storage to local buckets/ folder. Can download all buckets, one bucket, a specific folder, or a single file. |
| list_iceberg_tablesA | List all foreign tables in the iceberg schema (mapped via FDW in Postgres) |
| query_icebergB | SELECT from an Iceberg foreign table via Postgres FDW (e.g. 'iceberg.aud_analytics_lake') |
| list_iceberg_catalog_tablesC | List tables directly from the Iceberg REST Catalog (requires CATALOG_URI + AWS credentials) |
| bootstrap_icebergA | Bootstrap the Iceberg FDW on Postgres: creates namespace + tables in catalog, configures FDW server, maps foreign tables, and verifies connection. |
| table_infoB | Describe table schema: columns, types, constraints, indexes |
| column_statsA | Get column statistics: cardinality, NULL count, data distribution |
| validate_sqlA | Parse SQL without executing - catch syntax errors early |
| query_with_explainA | Run query with EXPLAIN ANALYZE for performance debugging |
| active_queriesC | List active/long-running queries with details (duration, memory, locks) |
| database_statsC | Database statistics: table sizes, row counts, growth metrics |
| index_infoC | List indexes with size, scan count, and usage stats |
| bulk_upload_filesB | Upload multiple local files to storage with optional filtering by file type. Can upload individual files or an entire folder with selective file extensions. |
| call_rpcA | Call a Supabase PostgreSQL function (RPC) via the REST API. Uses service_role — bypasses RLS. |
| execute_sql_fileB | Execute SQL file content (PL/pgSQL blocks, multi-statement scripts). Pass raw SQL from file as string. |
| generate_and_update_signed_urlA | Generate a signed URL for a private bucket file and update the URL in a DB media table |
| manage_bucketB | Create, update, delete or empty a storage bucket. Works with Supabase Storage (supabase mode) or S3-compatible (postgres mode). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/natuleadan/mcp-backend'
If you have feedback or need assistance with the MCP directory API, please join our Discord server