Supabase
MCP server for interacting with the Supabase platform
Descripción del creador (original en inglés)
Read-only SQL, plans, schema for AI agents: PostgreSQL, Oracle, SQL Server, Firebird, SQLite, JDBC
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
JDBC_MCP_RESOURCES_ENABLEDNecesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"jdbc": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"JDBC_MCP_RESOURCES_ENABLED",
"ghcr.io/igorolv/jdbc-mcp-server:0.2.0"
],
"env": {
"JDBC_MCP_RESOURCES_ENABLED": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add jdbc --env JDBC_MCP_RESOURCES_ENABLED=your-value -- docker run -i --rm -e JDBC_MCP_RESOURCES_ENABLED ghcr.io/igorolv/jdbc-mcp-server:0.2.0Completa los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"jdbc": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"JDBC_MCP_RESOURCES_ENABLED",
"ghcr.io/igorolv/jdbc-mcp-server:0.2.0"
],
"env": {
"JDBC_MCP_RESOURCES_ENABLED": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"jdbc": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"JDBC_MCP_RESOURCES_ENABLED",
"ghcr.io/igorolv/jdbc-mcp-server:0.2.0"
],
"env": {
"JDBC_MCP_RESOURCES_ENABLED": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
JDBC_MCP_RESOURCES_ENABLED envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 6 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub igorolv, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.2.0) llegó al registro hace 42 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Docker en tu computadora.
En la misma categoría: Supabase, MongoDB MCP Server, Elasticsearch MCP Server
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
MCP server for interacting with the Supabase platform
MongoDB Model Context Protocol Server
MCP server for interacting with Elasticsearch
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
MCP server (stdio) that exposes read-only access to relational databases over JDBC: schema metadata, SELECT execution, execution plans, statistics and index analysis. Built-in dialects for PostgreSQL, Oracle, SQL Server, Firebird and SQLite (drivers bundled); other databases are served through DatabaseMetaData with an external driver.
Contents: Features · Typical Scenarios · Quickstart · Architecture · MCP Tools · MCP Resources · Read-only Protection · Server Environment Variables · Build · Stack · Troubleshooting · License
driverPath. Capabilities per engine: Supported Databases.SELECT / WITH / EXPLAIN), plus session-, transaction- or file-level read-only mode where the engine supports it. Details: Read-only Protection.connections.json; every tool takes a connection argument; pools are created on first use. Credentials are not read from the environment.The agent picks the tools itself; these are the chains it usually follows. Every tool is described in MCP Tools.
| Scenario | Example request | Tools |
|---|---|---|
| Answer a data question | "How many orders did each region ship last month?" | queryContext or schemaBrief → describeTable → findJoinPaths → validateQuery → executeQuery |
| Explore an unfamiliar schema | "What does the billing schema hold, and how are its tables related?" | schemaBrief → tableContext → sampleRows → schemaGraphDot |
| Check a query before running it | "Is this report query correct, and which tables does it really read?" | inspectQuery → queryLint → resolveQueryLineage → analyzePlan |
| Speed up a slow query | "Why is this query slow, and which index would help?" | analyzePlan → tableStats, indexStats → estimateSelectivity, columnDistribution, joinCardinality → benchmarkQuery |
| Audit indexes and schema | "Find missing and redundant indexes in the orders schema." | fkIndexCoverage, redundantIndexes, unusedIndexes, schemaLint |
| Learn from existing application SQL | "How does the application usually join customers and invoices?" | findQueriesByTable, findQueriesByColumn, observedRelationships |
1. Get the jar — download jdbc-mcp-server.jar from the latest release (JDK 21+ required; all JDBC drivers are bundled), or build it yourself:
./gradlew bootJar # → build/libs/jdbc-mcp-server.jar
No local JDK? Use the Docker image ghcr.io/igorolv/jdbc-mcp-server instead — see Docker.
2. Describe your databases in ~/.jdbc-mcp-server/connections.json (%USERPROFILE%\.jdbc-mcp-server\connections.json on Windows, /data/connections.json in the Docker image) — one entry per database, keyed by the connection name:
{
"connections": { "orders": { "url": "jdbc:postgresql://db.example.com:5432/orders", "username": "ai_readonly", "password": "secret", "defaultSchema": "public", "description": "Order service — customers, orders, shipments", "structureSnapshotSchemas": ["public", "nsi"] }, "billing": { "url": "jdbc:oracle:thin:@//oracle.example.com:1521/BILLING", "username": "AI_READONLY", "password": "${BILLING_DB_PASSWORD}", "defaultSchema": "BILLING_OWNER", "description": "Legacy billing (Oracle)" }, "crm": { "url": "jdbc:sqlserver://sql.example.com:1433;databaseName=crm;encrypt=true", "username": "ai_readonly", "password": "secret", "defaultSchema": "dbo", "description": "CRM (SQL Server)" }, "legacy": { "url": "jdbc:firebirdsql://fb.example.com:3050//var/lib/firebird/data/app.fdb", "username": "SYSDBA", "password": "secret", "description": "Pre-2010 warehouse app (Firebird)" }, "archive": { "url": "jdbc:firebirdsql:embedded:/srv/data/archive-copy.fdb?nativeLibraryPath=/opt/firebird/lib", "username": "SYSDBA", "password": "secret", "description": "Copy of the warehouse archive, opened in-process (Firebird embedded)" }, "analytics": { "url": "jdbc:sqlite:/srv/data/analytics.db", "description": "Nightly analytics extract (SQLite)" }, "shop": { "url": "jdbc:mysql://mysql.example.com:3306/shop", "username": "ai_readonly", "password": "secret", "driverPath": "drivers/mysql-connector-j-9.1.0.jar", "description": "Web shop (MySQL, generic JDBC)" } } }
url is the only required field; the engine is detected from its prefix. Any other URL needs a driverPath to a driver jar and is served as generic JDBC.description is returned by listConnections, so an agent picks a database by meaning; name the stand and any restriction ("PRODUCTION — keep queries small").archive opens a local Firebird file in-process: nativeLibraryPath is the directory holding libfbclient.so / fbclient.dll with its engine and plugins. Point it at a copy of the file — see Firebird.Every field, naming rules, ${VAR} secrets and several stands of one service: docs/connections.md.
3. Register the server with your MCP client — with no database settings in the client config:
{
"command": "java", "args": ["-jar", " /jdbc-mcp-server.jar"], "env": {} }
For Claude Code and Codex CLI that is one command:
claude mcp add --scope user jdbc -- java -jar /path/to/jdbc-mcp-server.jar
codex mcp add jdbc -- java -jar /path/to/jdbc-mcp-server.jar
OpenCode, VS Code with Copilot, Copilot CLI, Cursor, Claude Desktop, Qwen Code, and tips that apply to every client: docs/clients.md.
4. Try it. Ask the agent in plain words:
listConnections and lists the entries of your connections.json with their descriptions.orders?"* — it calls listTables on that connection and counts them.If the first call against a database fails, see Checking a configuration.
MCP client (Claude Code, Codex, VS Code, Cursor, ...)
| JSON-RPC over stdin / stdout, no network port v +- jdbc-mcp-server: one JVM, started by the client ------------------------------+ | | | MCP layer 49 tools in switchable groups, optional resources | | | every call names its connection | | v | | Connection registry <-- connections.json, read once at startup | | | a connection is built on its first call, then reused | | v | | Per-connection context | | +- read-only guard (JSqlParser AST) -> SQL executor (row cap, timeout) | | +- dialect: PostgreSQL, Oracle, SQL Server, Firebird, SQLite, generic | | +- metadata, statistics, plan parser and analyzer | | +- local catalog / / .db (SQLite, WAL): | | | structure snapshot + usage index of known queries | | +- Hikari pool of read-only JDBC connections -----------------> database | +--------------------------------------------------------------------------------+
connections.json; a connection's pool, local catalog and services are created only when a tool call first names it, so a database that is down or misconfigured affects only the calls made against it.DatabaseMetaData and portable SQL — see Supported Databases.describeTable, the schema context tools and searchObjects read covered schemas from it and fall back to the live database otherwise. The same file holds the usage index. Live statistics, samples and plans are never cached. See Persistent Structure Snapshot and Usage Catalog.immediateExecution(true) until the SDK fixes this. A client's notifications/cancelled is not propagated to JDBC Statement.cancel(); the configured queryTimeoutSeconds (or a tool call's timeoutSeconds override) remains the server-side limit for a running SQL statement.The 49 tools are grouped below by purpose.
Every tool takes connection as its first, required argument, naming the database to run against — including installations that ser
Solo se muestra el principio; lee el resto en el repo