Supabase
Supabase’s official server lets AI create tables, query data and review project settings in your Supabase database.
Description from the maker (original English)
MCP server for Trino distributed SQL query engine access
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
TRINO_HOST, TRINO_PORT, TRINO_USER, TRINO_PASSWORDValues marked secret are keys to your account. Never share them or paste them into a chat.
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Download the maker’s .mcpb file
The link goes to the maker’s own file; we do not host or repackage it. Open the file and Claude Desktop installs it.
Run this in your terminal
Fill in the empty values before running it.
Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
TRINO_PORT envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 9, 2026
The registry name was verified with the GitHub account tuannvm, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: TRINO_HOST, TRINO_USER, TRINO_PASSWORD
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (2.2.1) reached the registry 14 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need MCPB on your computer.
In the same category: Supabase, MongoDB MCP Server, Elasticsearch MCP Server
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Supabase’s official server lets AI create tables, query data and review project settings in your Supabase database.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
A high-performance Model Context Protocol (MCP) server for Trino implemented in Go. This project enables AI assistants to seamlessly interact with Trino's distributed SQL query engine through standardized MCP tools.
This project implements a Model Context Protocol (MCP) server for Trino in Go. It enables AI assistants to access Trino's distributed SQL query engine through standardized MCP tools.
Trino (formerly PrestoSQL) is a powerful distributed SQL query engine designed for fast analytics on large datasets.
graph TB
subgraph "AI Clients" CC[Claude Code] CD[Claude Desktop] CR[Cursor] WS[Windsurf] CW[ChatWise] end
subgraph "Authentication (Optional)" OP[OAuth Provider Okta/Google/Azure AD] JWT[JWT Tokens] end
subgraph "MCP Server (mcp-trino)" HTTP[HTTP Transport /mcp endpoint] STDIO[STDIO Transport] AUTH[OAuth Middleware] TOOLS[MCP Tools • execute_query • list_catalogs • list_schemas • list_tables • get_table_schema • explain_query] end
subgraph "Data Layer" TRINO[Trino Cluster Distributed SQL Engine] CATALOGS[Data Sources • PostgreSQL • MySQL • S3/Hive • BigQuery • MongoDB] end
%% Connections CC -.->|OAuth Flow| OP OP -.->|JWT Token| JWT
CC -->|HTTP + JWT| HTTP CD -->|STDIO| STDIO CR -->|HTTP + JWT| HTTP WS -->|STDIO| STDIO CW -->|HTTP + JWT| HTTP
HTTP --> AUTH AUTH -->|Validated| TOOLS STDIO --> TOOLS
TOOLS -->|SQL Queries| TRINO TRINO --> CATALOGS
%% Styling classDef client fill:#e1f5fe classDef auth fill:#f3e5f5 classDef server fill:#e8f5e8 classDef data fill:#fff3e0
class CC,CD,CR,WS,CW client class OP,JWT auth class HTTP,STDIO,AUTH,TOOLS server class TRINO,CATALOGS data
Key Components:
X-Trino-Client-Tags/Info headersX-Trino-User headerInstall:
# Homebrew
brew install tuannvm/mcp/mcp-trino
curl -fsSL https://raw.githubusercontent.com/tuannvm/mcp-trino/main/install.sh | bash
Run (Local Development):
export TRINO_HOST=localhost TRINO_USER=trino
mcp-trino
For production deployment with OAuth, see Deployment Guide and OAuth Architecture.
mcp-trino can be used as an interactive CLI similar to psql or the Trino CLI:
# Interactive REPL mode
mcp-trino --interactive
mcp-trino query "SELECT * FROM my_table LIMIT 10"
mcp-trino catalogs mcp-trino schemas my_catalog mcp-trino tables my_catalog my_schema
mcp-trino describe my_catalog.my_schema.my_table
mcp-trino explain "SELECT COUNT(*) FROM my_table"
mcp-trino --format json query "SELECT 1" mcp-trino --format csv query "SELECT 1" mcp-trino --format table query "SELECT 1" # default
Every command has structured, LLM-friendly help output:
# Main help with all commands, flags, examples, and environment variables
mcp-trino --help
mcp-trino query --help mcp-trino describe --help
Help output follows Unix man-page conventions with sections: NAME, SYNOPSIS, DESCRIPTION, COMMANDS, FLAGS, EXAMPLES, ENVIRONMENT, and CONFIGURATION.
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Runtime error (connection failed, query error, etc.) |
| 2 | Usage error (unknown command, invalid flags, missing arguments) |
mcp-trino supports named connection profiles for easy switching between Trino environments.
Configuration File — supports both YAML (~/.config/trino/config.yaml) and JSON (~/.config/trino/config.json):
# ~/.config/trino/config.yaml
current: prod
profiles: prod: host: trino.example.com port: 443 user: prod_user password: prod_password catalog: hive schema: analytics ssl: enabled: true insecure: false
dev: host: localhost port: 8080 user: trino catalog: memory schema: default
staging: host: staging-trino.example.com port: 443 user: staging_user
output: format: table
Or equivalently in JSON:
{
"current": "prod", "profiles": { "prod": { "host": "trino.example.com", "port": 443, "user": "prod_user", "catalog": "hive", "ssl": { "enabled": true } }, "dev": { "host": "localhost", "port": 8080, "user": "trino" } }, "output": { "format": "table" } }
When both files exist, config.json takes precedence. New configs default to JSON.
Profile Management Commands:
# List all profiles
mcp-trino config profile list
mcp-trino config profile use prod
mcp-trino config profile show staging
mcp-trino --profile dev catalogs
Configuration Precedence (highest to lowest):
--host, --port, etc.)--profile flagTRINO_PROFILE environment variablecurrent field in config filedefault profile fallbackTRINO_HOST, etc.)Environment Variables (lowest priority - overridden by profiles and flags):
export TRINO_HOST=trino.example.com
export TRINO_PORT=443 export TRINO_USER=myuser export TRINO_PASSWORD=mypass export TRINO_CATALOG=hive export TRINO_SCHEMA=analytics export TRINO_SSL=true
Secret Management (recommended):
Secrets are loaded purely from environment variables. Use a secrets CLI to inject them via Unix piping at launch time — the app never touches your vault:
# 1Password CLI — resolves op:// references in an env file
op run --env-file=.env -- mcp-trino
TRINO_PASSWORD=$(op read 'op://Engineering/Trino/password') mcp-trino
See docs/secrets.md for 1Password, Vault, and Kubernetes patterns, and for security nuances (shell-history, process-list, and env-var leakage).
REPL Meta-Commands (in interactive mode):
\help - Show help\quit, \exit, \q - Exit REPL\history - Show command history\catalogs - List all catalogs\schemas [catalog] - List schemas\tables [catalog schema] - List tables\describe - Describe table\format - Change output formatSupported Clients: Claude Desktop, Claude Code, Cursor, Windsurf, ChatWise
Available Tools: execute_query, list_catalogs, list_schemas, list_tables, get_table_schema, explain_query
For client integration and tool documentation, see Integration Guide and Tools Reference.
Key Variables: TRINO_HOST, TRINO_USER, TRINO_SCHEME, MCP_TRANSPORT, OAUTH_PROVIDER
Secret Management: Inject secrets through the process environment — mcp-trino reads them directly. See docs/secrets.md for 1Password, Vault, and Kubernetes recipes.
# 1Password (biometric-gated, zero disk writes)
op run --env-file=.env -- mcp-trino
TRINO_PASSWORD=$(vault kv get -field=password secret/mcp-trino) mcp-trino
OAuth Configuration:
# Native mode (most secure - zero server-side secrets)
export OAUTH_ENABLED=true OAUTH_MODE=native OAUTH_PROVIDER=okta export OIDC_ISSUER=https://company.okta.com OIDC_AUDIENCE=https://mcp-server.com
export OAUTH_MODE=proxy OIDC_CLIENT_ID=app-id OIDC_CLIENT_SECRET=secret export OAUTH_REDIRECT_URI=https://mcp-server.com/oauth/callback # Fixed mode (localhost-only) export OAUTH_REDIRECT_URI=https://app1.com/cb,https://app2.com/cb # Allowlist mode export JWT_SECRET=$(openssl rand -hex 32) # Required for multi-pod deployments
Performance Optimization:
# Focus AI on specific schemas only (10-20x performance improvement)
export TRINO_ALLOWED_SCHEMAS="hive.analytics,hive.marts,hive.reporting"
User Identity Tracking:
# Query Attribution is AUTOMATIC when OAuth is enabled
export TRINO_ENABLE_IMPERSONATION=true export TRINO_IMPERSONATION_FIELD=email # Options: username, email, subject
For complete configuration, see Deployment Guide, OAuth Guide, Allowlists Guide, and User Identity Guide.
Only the beginning is shown; read the rest in the repo