Databases (read-only, switchable) MCP Server

Read-only SQL, MongoDB, Redis and Elasticsearch access, switchable mid-conversation.

Local serverstdio

What is the Databases (read-only, switchable) MCP Server?

Databases (read-only, switchable) is an MCP integration. Read-only SQL, MongoDB, Redis and Elasticsearch access, switchable mid-conversation.

Packages and local setup

The published npm package is @shibbirweb/mcp-db-read-only, version 1.1.0. Its declared MCP transport is stdio.

The package declares 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: Password for DB_URL, so it need not be percent-encoded inside the URL; DB_PROFILES: 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: Legacy MySQL-only form. Prefer DB_URL with DB_PASSWORD; MYSQL_DATABASE: Legacy MySQL-only form. Prefer DB_URL.

The published oci package is docker.io/shibbirweb/mcp-db-read-only:1.1.0. Its declared MCP transport is stdio.

The package declares 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: Password for DB_URL, so it need not be percent-encoded inside the URL; DB_PROFILES: 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: Legacy MySQL-only form. Prefer DB_URL with DB_PASSWORD; MYSQL_DATABASE: Legacy MySQL-only form. Prefer DB_URL.

Before connecting

Check the maintainer’s instructions for account access, authentication and the supported client configuration. Once connected, inspect the tools your client receives and try a small task that matches the server’s stated purpose. The registry description does not include a verified, complete tool list.

Project and source

View the publisher’s registry entry · Project repository · Project website. This profile uses version 1.1.0 from the registry. Registration identifies the publisher namespace; it does not establish that this is a first-party integration for every service it connects.

Browse related databases MCP servers for tools that cover the same kind of work.

Configuration

VariableDescriptionRequired
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.dbOptional
DB_PASSWORDPassword for DB_URL, so it need not be percent-encoded inside the URLOptional
DB_PROFILESJSON object of named connections to switch between, each a URL or {"url", "password"}Optional
DB_DEFAULT_PROFILEWhich DB_PROFILES entry to start onOptional
DB_CONNECT_TIMEOUT_MSConnection timeout in milliseconds. Defaults to 10000Optional
DB_QUERY_TIMEOUT_MSServer-side query timeout in milliseconds. Defaults to 30000Optional
DB_LOGtrue logs every tool call, its statements and full output to stderr. Off by defaultOptional
DB_LOG_FILELog every tool call to this file instead. Implies DB_LOGOptional
DB_LOG_DIRSave every tool call as its own JSON file in this folder, permanently. Implies loggingOptional
DB_LOG_FORMATpretty (default) or json, one object per lineOptional
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 controlOptional
DB_LOG_HISTORYEntries the viewer keeps in memory when DB_LOG_DIR is not set. Defaults to 500Optional
MYSQL_HOSTLegacy MySQL-only form, kept for drop-in compatibility. Prefer DB_URLOptional
MYSQL_USERLegacy MySQL-only form. Prefer DB_URLOptional
MYSQL_PASSWORDLegacy MySQL-only form. Prefer DB_URL with DB_PASSWORDOptional
MYSQL_DATABASELegacy MySQL-only form. Prefer DB_URLOptional