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)
Run SQL on 30+ databases through saved, encrypted connections; credentials stay local.
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.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"sqlx": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/ottermind/sqlx:0.1.21"
]
}
}
}Run this in your terminal
claude mcp add sqlx -- docker run -i --rm ghcr.io/ottermind/sqlx:0.1.21Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"sqlx": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/ottermind/sqlx:0.1.21"
]
}
}
}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.
Paste into .vscode/mcp.json in your project
{
"servers": {
"sqlx": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/ottermind/sqlx:0.1.21"
]
}
}
}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.
These 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 6, 2026
The registry name was verified with the GitHub account OtterMind, 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.
The registry does not list a required key, though some servers ask you to sign in on first use.
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 (0.1.21) reached the registry 22 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Docker 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:★ 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.
MongoDB Model Context Protocol Server
MCP server for interacting with Elasticsearch
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.
Connect to MySQL, MariaDB, TiDB, GreatSQL, OceanBase, PostgreSQL, CockroachDB, YugabyteDB, openGauss, Oracle, SQL Server, ClickHouse, Trino, Presto, StarRocks, Apache Doris, TDengine, Dameng, KingbaseES, Apache Kylin, XuguDB, IBM Db2, IBM Informix, SUNDB, GBase 8s, Redis and MongoDB, or open a local SQLite, DuckDB or H2 file, from your terminal or from your agent. Connections are saved encrypted, one invocation runs one or more statements or commands, and the results come back complete and structured.
# 1. Install the CLI (macOS, Linux and Windows x64; Node.js 22 or newer)
npx -y @ottermind/sqlx@latest export PATH="$HOME/.local/bin:$PATH"
sqlx datasource add --name dev --type postgresql --host db.example.com --port 5432 --database app sqlx datasource test --id dev
sqlx sql execute --datasource dev --command "SELECT current_database()"
Using an agent? See Use with your agent: install one plugin or extension and the agent calls SQLX directly.
Three channels, pick one: prebuilt packages from GitHub Releases, the npx installer, or the platform install scripts.
curl -fsSL https://raw.githubusercontent.com/OtterMind/sqlx/main/scripts/install.sh | sh
export PATH="$HOME/.local/bin:$PATH" sqlx --version sqlx init
The installer selects your platform, downloads the executable and verifies its SHA-256. It installs to ~/.local/bin; add that directory to your shell's persistent PATH. SQLX_INSTALL_DIR chooses another directory and SQLX_VERSION selects a release version.
Run in PowerShell:
$installer = Join-Path $env:TEMP 'sqlx-install.ps1'
Invoke-WebRequest 'https://raw.githubusercontent.com/OtterMind/sqlx/main/scripts/install.ps1' -OutFile $installer powershell -NoProfile -ExecutionPolicy Bypass -File $installer $env:Path = "$env:LOCALAPPDATA\Programs\SQLX;$env:Path" sqlx --version sqlx init
Add %LOCALAPPDATA%\Programs\SQLX to your user PATH for future sessions. Neither installer overwrites an unrelated executable already named sqlx; use a different install directory in that case.
Prebuilt targets are macOS ARM64/x64, Linux ARM64/x64 and Windows x64; the Linux baseline is Ubuntu 24.04. Release users do not need Rust, Java or database drivers: database workers and a private JRE are downloaded only when needed.
npx)macOS, Linux and Windows x64 with Node.js 22 or newer:
npx -y @ottermind/sqlx@latest
export PATH="$HOME/.local/bin:$PATH" sqlx --version
The installer verifies the release manifest, SHA256SUMS and the downloaded archive before installing. It uses the same user-level location as the platform installers and installs the Skill into ./sqlx, which no agent watches: --target codex, --target claude, --target dsh, --target pi or --target place the Skill where it is actually discovered, and --cli-only installs the CLI alone. Any other first argument is run as a SQLX command instead of installing, so npx -y @ottermind/sqlx@latest mcp starts the MCP server. Node.js is needed only by the installer, never by the CLI.
The CLI updates its own executable:
sqlx update check # report the latest stable version without installing it
sqlx update install # download, verify and replace the executable sqlx update status # read local history without network access
sqlx update install --version installs an exact stable version. Updates do not stop running SQL or the UI service, do not modify saved connections, and do not update Skills or plugins automatically; use sqlx skill update for managed Skills, and an installed UI plugin keeps the version you selected (the default interface moves with the CLI release).
Interactive use checks in the background at most once per day and only prints a notice on stderr. Piped and CI commands skip that check, and SQLX_NO_UPDATE_CHECK=1 disables it. Source builds and package-manager-owned paths keep their own installation method.
All four are ready as soon as they are installed: the plugin or extension installs the sqlx CLI itself when it is missing, so you never install it separately. Codex and Claude additionally require the CLI to meet the plugin's minimum version and refuse to start an older incompatible MCP server silently.
Each of them also leaves the Skill installed, because the CLI alone gives an agent the tools but none of the engine knowledge. A plugin installs the Skill into that agent's own directory on first launch when it is not there yet, and says so on stderr while it does.
codex plugin marketplace add OtterMind/sqlx@plugins
codex plugin add sqlx@ottermind
The plugin starts sqlx mcp over MCP. Read-only operations run directly; the two execution tools (sqlx_sql_execute and sqlx_sql_view) are marked destructive and Codex asks for approval by default.
claude plugin marketplace add OtterMind/sqlx@plugins
claude plugin install sqlx@ottermind
Headless runs need an explicit tool allowlist:
claude --allowedTools "mcp__plugin_sqlx_sqlx__*" -p "List my SQLX datasources"
dsh plugin --profile web add @ottermind/sqlx-dsh # browser UI
dsh plugin --profile tui add @ottermind/sqlx-dsh # terminal UI
Plugins belong to a profile: install it into the profile you use, then restart dsh.
pi install npm:@ottermind/sqlx-pi
A client with no plugin system takes the server straight from the published package. It installs the sqlx CLI itself on first use, so this is the whole setup:
{
"mcpServers": { "sqlx": { "command": "npx", "args": ["-y", "@ottermind/sqlx@latest", "mcp"] } } }
Point command at an installed binary instead to start without npx; a GUI application often has no ~/.local/bin on its PATH, so give the absolute path (~/.local/bin/sqlx on macOS and Linux, %LOCALAPPDATA%\Programs\SQLX\sqlx.exe on Windows) and keep "args": ["mcp"].
Such a client receives no Skill, so its agent runs the tools without the engine recipes. Install it where the client reads instructions from with sqlx skill install --path .
SQLX is also listed in the MCP Registry as io.github.OtterMind/sqlx, which points at a container image for clients that install from there: docker run -i --rm ghcr.io/ottermind/sqlx:latest. A container reaches only the SQL-execution path — the credential page, the result page and the local workbench are served on the container's own 127.0.0.1, and the data directory lives inside it, so mount a volume at /root/.sqlx to keep saved connections. Prefer the package above when the user should type credentials or read results.
sqlx skill install --target codex # Codex and dsh share ~/.agents/skills
sqlx skill install --target claude sqlx skill install --target dsh sqlx skill install --target pi
sqlx skill status # list managed installations sqlx skill update # update them, keeping local edits
For another agent, pass its skill directory with sqlx skill install --path .
sqlx datasource add --name dev --type postgresql --host db.example.com --port 5432 --database app
sqlx datasource test --id dev sqlx sql execute --datasource dev --command "SELECT current_database()" --command "SELECT 1"
| Database | --type values | Execution | Required values and defaults |
|---|---|---|---|
| MySQL | mysql | native worker | port 3306 by default |
| MariaDB | mariadb | reuses the MySQL worker | port 3306 by default |
| TiDB | tidb | reuses the MySQL worker | port 4000 by default |
| GreatSQL | greatsql | reuses the MySQL worker | port 3306 by default |
| OceanBase | oceanbase, ob | reuses the MySQL worker | port 2881 by default; connect as user@tenant |
| StarRocks | starrocks | reuses the MySQL worker | port 9030 by default; has no user database until one is created |
| Apache Doris | doris | reuses the MySQL worker | port 9030 by default; has no user database until one is created |
| PostgreSQL | postgresql, postgres, pgsql | native worker | port 5432 by default |
| CockroachDB | cockroachdb, cockroach, crdb | reuses the PostgreSQL worker | |
| YugabyteDB | yugabytedb, yugabyte, yb | reuses the PostgreSQL worker | port 5433 by default |
| openGauss | opengauss, gaussdb | JDBC worker | port 5432 by default; authenticates with its own driver |
| Oracle | oracle | JDBC worker | --service is required |
| SQL Server | sqlserver, mssql | JDBC worker | port 1433 by default |
| ClickHouse | clickhouse | JDBC worker | connects to the HTTP port, 8123 by default |
| Trino | trino | JDBC worker | --database [. ] is required |
| TDengine | tdengine, taos | JDBC worker | connects through taosAdapter, 6041 by default |
| Dameng | dameng, dm | JDBC worker | port 5236 by default; the account is also the default schema |
| KingbaseES | kingbase, kingbasees | JDBC worker | port 54321 by default |
| Redis | redis | native worker | port 6379 by default; each --command is one Redis command, not SQL |
| MongoDB | mongodb, mongo | native worker | port 27017 by default; each --command is one command document, not SQL |
| SQLite | sqlite, sqlite3 | native worker | --path (or --database) opens or creates a local file; no host, port or credentials; --property mode=ro and --property busy_timeout= |
| DuckDB | duckdb | native worker | --path opens or creates a local file, :memory: keeps one for the invocation; --property read_only=true and --property threads= |
| H2 | h2 | JDBC worker | --path opens a local file, or --host and --port (9092 by default) reach a TCP server |
| Presto | presto, prestodb | JDBC worker | port 8080 by default; --database [. ] is required; --username is required and a password is only sent over TLS |
| Hive | hive | JDBC worker | port 10000 by default; --database selects the Hive database, default when unset |
| Apache Kylin | kylin | JDBC worker | port 7070 by default; --database carries the Kylin project, and the default account is ADMIN/KYLIN |
| XuguDB | xugu, xugudb | JDBC worker | port 5138 by default; SYSTEM is the system database |
| IBM Db2 | db2, ibmdb2 | JDBC worker | port 50000 by default; needs a driver you provide, see Drivers you provide |
| IBM Informix | informix, ifx | JDBC worker | port 9088 by default; --service is required and the driver must be provided |
| SUNDB | sundb | JDBC worker | port 22581 by default; runs the Goldilocks engine and needs the driver from the vendor image |
| GBase 8s | gbase8s, gbasedbt | JDBC worker | port 9088 by default; --service is required and the driver must be provided |
--id and --datasource accept a stable datasource UUID or its unique name.
To let the user type the password in a local page, so it never enters the conversation or a tool response:
sqlx datasource add --ui --name dev --type postgresql --host db.example.com --port 5432 --database app
sqlx datasource setup-status --request-id
To edit an existing connection and keep its saved password unless you replace it: sqlx datasource update --id dev --ui.
Connections do not use TLS unless you ask for
Only the beginning is shown; read the rest in the repo