Databases (read-only, switchable)
Read-only SQL, MongoDB, Redis and Elasticsearch access, switchable mid-conversation.
The current version, v1.1.0, was published to the official MCP registry on 2026-09-24. It is distributed as @shibbirweb/mcp-db-read-only on npm and as the Docker image docker.io/shibbirweb/mcp-db-read-only:1.1.0, filed under Databases by this index, and declares 16 environment variables. Removals and unreachable sources are measured across every server this index tracks, contract drift across the servers that answer in consecutive snapshots; the index's current counts put this record in context.
Using Databases (read-only, switchable) in Claude, Cursor, Gemini CLI, Cline, or Zed?
MCP tool contracts can change remotely with no version bump. The mcpindex gate pins each contract and HOLDs the call when it drifts-before your agent acts. Zero credentials. This is not the package install for this server itself (use Install this server for that).
Rewrites your MCP host config so each server launches behind the gate. Inspect first: curl -fsSL https://mcpindex.ai/install.sh | less
uv tool install mcpindex-gate && mcpindex-config-wireVerdict not yet evaluated for this tool. The semantic screen takes adversarial cases first; coverage rolls out as the corpus expands (15/150 labels to graduation). The deterministic conformance probe is built but has not yet run on the public corpus, so a recorded verdict here is REVIEW or UNVERIFIED, never a clearing ALLOW. Until a verdict is recorded, an agent should treat this tool as not-yet-cleared and fall back to its own checks. Method: the eval, four-state verdict, honest limits.
Own this server? Screen its description →
That verdict was true at screening time (snapshot 2026-09-25).
Contracts can change after screening, with no version bump. The gate pins Databases (read-only, switchable)’s tool contracts on first sight and holds any silent change before your agent acts - the check that keeps being true on Tuesday.
See your first HOLD in 2 minutes →
Related: how to trust an MCP server · screen before install · silent contract drift
DB_URLConnection URL to open at startup, e.g. postgres://user@host:5432/db, mongodb://user@host/db, redis://host:6379/0 or sqlite:///data/app.db
DB_PASSWORDPassword for DB_URL, so it need not be percent-encoded inside the URL
DB_PROFILESJSON object of named connections to switch between, each a URL or {"url", "password"}
DB_DEFAULT_PROFILEWhich DB_PROFILES entry to start on
DB_CONNECT_TIMEOUT_MSConnection timeout in milliseconds. Defaults to 10000
DB_QUERY_TIMEOUT_MSServer-side query timeout in milliseconds. Defaults to 30000
DB_LOGtrue logs every tool call, its statements and full output to stderr. Off by default
DB_LOG_FILELog every tool call to this file instead. Implies DB_LOG
DB_LOG_DIRSave every tool call as its own JSON file in this folder, permanently. Implies logging
DB_LOG_FORMATpretty (default) or json, one object per line
DB_LOG_PORTServe a live log viewer in the browser on this port. Needs DB_LOG_DIR, DB_LOG or DB_LOG_FILE. No access control
DB_LOG_HISTORYEntries the viewer keeps in memory when DB_LOG_DIR is not set. Defaults to 500
MYSQL_HOSTLegacy MySQL-only form, kept for drop-in compatibility. Prefer DB_URL
MYSQL_USERLegacy MySQL-only form. Prefer DB_URL
MYSQL_PASSWORDLegacy MySQL-only form. Prefer DB_URL with DB_PASSWORD
MYSQL_DATABASELegacy MySQL-only form. Prefer DB_URL
DB_URLConnection URL to open at startup, e.g. postgres://user@host:5432/db, mongodb://user@host/db, redis://host:6379/0 or sqlite:///data/app.db. Use host.docker.internal to reach the host
DB_PASSWORDPassword for DB_URL, so it need not be percent-encoded inside the URL
DB_PROFILESJSON object of named connections to switch between, each a URL or {"url", "password"}
DB_DEFAULT_PROFILEWhich DB_PROFILES entry to start on
DB_CONNECT_TIMEOUT_MSConnection timeout in milliseconds. Defaults to 10000
DB_QUERY_TIMEOUT_MSServer-side query timeout in milliseconds. Defaults to 30000
DB_LOGtrue logs every tool call, its statements and full output to stderr. Off by default
DB_LOG_FILELog every tool call to this file instead, on a mounted volume. Implies DB_LOG
DB_LOG_DIRSave every tool call as its own JSON file in this folder, on a mounted volume. Implies logging
DB_LOG_FORMATpretty (default) or json, one object per line
DB_LOG_PORTServe a live log viewer on this port (publish it with -p). Needs DB_LOG_DIR, DB_LOG or DB_LOG_FILE. No access control
DB_LOG_HISTORYEntries the viewer keeps in memory when DB_LOG_DIR is not set. Defaults to 500
MYSQL_HOSTLegacy MySQL-only form, kept for drop-in compatibility. Prefer DB_URL
MYSQL_USERLegacy MySQL-only form. Prefer DB_URL
MYSQL_PASSWORDLegacy MySQL-only form. Prefer DB_URL with DB_PASSWORD
MYSQL_DATABASELegacy MySQL-only form. Prefer DB_URL
Official Neon MCP server for managing Neon projects and Lakebase Postgres databases.
Provision PostgreSQL, manage Apache Kafka, and deploy apps with Aiven - all from your AI assistant.
Read-only MySQL access, with the database and server switchable mid-conversation.