← Index

Databases (read-only, switchable)

io.github.shibbirweb/mcp-db-read-onlyv1.1.0Databases

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.

In-path gate · all MCP tools

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).

Install the mcpindex gate (one command)

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-wire
Trust verdict · v1 advisory · method
NOT YET SCREENEDno verdict on file

Verdict 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

Environment variables
DB_URL

Connection 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_PASSWORD
secret

Password for DB_URL, so it need not be percent-encoded inside the URL

DB_PROFILES
secret

JSON object of named connections to switch between, each a URL or {"url", "password"}

DB_DEFAULT_PROFILE

Which DB_PROFILES entry to start on

DB_CONNECT_TIMEOUT_MS

Connection timeout in milliseconds. Defaults to 10000

DB_QUERY_TIMEOUT_MS

Server-side query timeout in milliseconds. Defaults to 30000

DB_LOG

true logs every tool call, its statements and full output to stderr. Off by default

DB_LOG_FILE

Log every tool call to this file instead. Implies DB_LOG

DB_LOG_DIR

Save every tool call as its own JSON file in this folder, permanently. Implies logging

DB_LOG_FORMAT

pretty (default) or json, one object per line

DB_LOG_PORT

Serve 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_HISTORY

Entries the viewer keeps in memory when DB_LOG_DIR is not set. Defaults to 500

MYSQL_HOST

Legacy MySQL-only form, kept for drop-in compatibility. Prefer DB_URL

MYSQL_USER

Legacy MySQL-only form. Prefer DB_URL

MYSQL_PASSWORD
secret

Legacy MySQL-only form. Prefer DB_URL with DB_PASSWORD

MYSQL_DATABASE

Legacy MySQL-only form. Prefer DB_URL

DB_URL

Connection 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_PASSWORD
secret

Password for DB_URL, so it need not be percent-encoded inside the URL

DB_PROFILES
secret

JSON object of named connections to switch between, each a URL or {"url", "password"}

DB_DEFAULT_PROFILE

Which DB_PROFILES entry to start on

DB_CONNECT_TIMEOUT_MS

Connection timeout in milliseconds. Defaults to 10000

DB_QUERY_TIMEOUT_MS

Server-side query timeout in milliseconds. Defaults to 30000

DB_LOG

true logs every tool call, its statements and full output to stderr. Off by default

DB_LOG_FILE

Log every tool call to this file instead, on a mounted volume. Implies DB_LOG

DB_LOG_DIR

Save every tool call as its own JSON file in this folder, on a mounted volume. Implies logging

DB_LOG_FORMAT

pretty (default) or json, one object per line

DB_LOG_PORT

Serve 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_HISTORY

Entries the viewer keeps in memory when DB_LOG_DIR is not set. Defaults to 500

MYSQL_HOST

Legacy MySQL-only form, kept for drop-in compatibility. Prefer DB_URL

MYSQL_USER

Legacy MySQL-only form. Prefer DB_URL

MYSQL_PASSWORD
secret

Legacy MySQL-only form. Prefer DB_URL with DB_PASSWORD

MYSQL_DATABASE

Legacy MySQL-only form. Prefer DB_URL

MCP quality score · maturity, not trust · methodology
freshness
25
completeness
20
installability
25
documentation
15
stability
10
Alternatives in Databases