Databases (read-only, switchable)
Local package path declaredNo credentials listedRepository declared by sourceUpdated 2026-09-24
io.github.shibbirweb/mcp-db-read-only · Registry status: active
At a glance
Read-only SQL, MongoDB, Redis and Elasticsearch access, switchable mid-conversation.
Vendor's own description, untranslated and unverified
- Execution location
- Local package path declared
- Required secrets declared
- No credentials listed
- Declared version and change
1.1.0· Source-reported change date 2026-09-24- Repository as declared
- github.com/shibbirweb/mcp-db-read-only
- Configuration
- can be built from the disclosed start template
Inspect connection paths and prerequisites
Related categories
- MCP servers for databases338
- MCP servers without declared required secrets35,800
- Locally executed MCP servers17,056
- MCP servers with a repository URL30,107
- MCP servers with a path argument498
- Local MCP servers without declared required secrets13,238
6 of 8 categories. All categories in the segment catalogue
Page last changed:
Sources and collection
- Runs
- Local package path declared
- Credentials
- No credentials listed
- Registry record changed
- 2026-09-24
- Setup
- Template available
- Registry name
io.github.shibbirweb/mcp-db-read-only- Package coordinate
npm:@shibbirweb/mcp-db-read-only- Declared version
1.1.0- Source-reported listing date
- 2026-09-24
- Source-reported change date
- 2026-09-24
- First seen by tracevero
- 2026-09-25
- Vendor's website
- https://github.com/shibbirweb/mcp-db-read-only#readme
Evidence for this page · Source: MCP-Register · collected on 2026-09-25
Every value below comes from it. Where one differs, its origin is stated on its row. What the confidence levels mean
Measured values
| Required secrets declared | No credentials listed no Original data – Required secret variables (raw): confirmed absent Original data – Required secret headers (raw): confirmed absent Source: MCP-Register · collected on 2026-09-25 · derived |
|---|---|
| Execution location | Local package path declared local Original data – Transports (raw): stdio, stdio Source: MCP-Register · collected on 2026-09-25 · derived |
| Path argument present | yes Original data – Path arguments (raw): confirmed absent Original data – Path environment variables (raw): DB_LOG_DIR, DB_LOG_FILE Source: MCP-Register · collected on 2026-09-25 · derived |
| Repository URL listed | Repository declared by source yes Original data – Repository (raw): https://github.com/shibbirweb/mcp-db-read-only Source: MCP-Register · collected on 2026-09-25 · derived |
| Field of use, derived from the vendor description | Databases Original data – Description (raw): Read-only SQL, MongoDB, Redis and Elasticsearch access, switchable mid-conversation. Source: MCP-Register · collected on 2026-09-25 · derived |
| Declared version | 1.1.0 Source: MCP-Register · collected on 2026-09-25 · self-declared |
What is measured is what a manifest declares, not what a piece of software does. This registry fetches no repository URL, no endpoint and no package index; nothing here is verified. Which value comes from which source, and by which rule it was formed, is set out in the Methodology.
Source data25
All 25 values in this block: self-declared.
| Description (raw) | Read-only SQL, MongoDB, Redis and Elasticsearch access, switchable mid-conversation. |
|---|---|
| Environment variables (raw) | DB_URL, DB_PASSWORD, DB_PROFILES, DB_DEFAULT_PROFILE, DB_CONNECT_TIMEOUT_MS, DB_QUERY_TIMEOUT_MS, DB_LOG, DB_LOG_FILE, DB_LOG_DIR, DB_LOG_FORMAT, DB_LOG_PORT, DB_LOG_HISTORY, MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD, MYSQL_DATABASE, DB_URL, DB_PASSWORD, DB_PROFILES, DB_DEFAULT_PROFILE, DB_CONNECT_TIMEOUT_MS, DB_QUERY_TIMEOUT_MS, DB_LOG, DB_LOG_FILE, DB_LOG_DIR, DB_LOG_FORMAT, DB_LOG_PORT, DB_LOG_HISTORY, MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD, MYSQL_DATABASE |
| Required secret variables (raw) | confirmed absent |
| Transports (raw) | stdio, stdio |
| Path arguments (raw) | confirmed absent |
| Repository (raw) | https://github.com/shibbirweb/mcp-db-read-only |
| Package registries (raw) | npm, oci |
| Required secret headers (raw) | confirmed absent |
| Path environment variables (raw) | DB_LOG_DIR, DB_LOG_FILE |
| Remote URLs (raw) | confirmed absent |
| Remote hosts (raw) | confirmed absent |
| Registry status message (raw) | confirmed absent |
| First listed in the registry (raw) | 2026-09-24 |
| Last changed in the registry (raw) | 2026-09-24 |
| Schema version of the raw record (raw) | https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json |
| Delivery form (raw) | package |
| Repository platform (raw) | github |
| Repository subfolder (raw) | confirmed absent |
| Package identifiers (raw) | @shibbirweb/mcp-db-read-only, docker.io/shibbirweb/mcp-db-read-only:1.1.0 |
| Package versions (raw) | 1.1.0 |
| Runtime hints (raw) | confirmed absent |
| Environment variable formats (raw) | boolean, filepath, number, string |
| Environment variable descriptions (raw) | DB_CONNECT_TIMEOUT_MS=Connection timeout in milliseconds. Defaults to 10000 · DB_DEFAULT_PROFILE=Which DB_PROFILES entry to start on · DB_LOG=true logs every tool call, its statements and full output to stderr. Off by default · DB_LOG_DIR=Save every tool call as its own JSON file in this folder, on a mounted volume. Implies logging · DB_LOG_DIR=Save every tool call as its own JSON file in this folder, permanently. Implies logging · DB_LOG_FILE=Log every tool call to this file instead, on a mounted volume. Implies DB_LOG · DB_LOG_FILE=Log every tool call to this file instead. Implies DB_LOG · DB_LOG_FORMAT=pretty (default) or json, one object per line · DB_LOG_HISTORY=Entries the viewer keeps in memory when DB_LOG_DIR is not set. Defaults to 500 · 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_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_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_QUERY_TIMEOUT_MS=Server-side query timeout in milliseconds. Defaults to 30000 · 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_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 · MYSQL_DATABASE=Legacy MySQL-only form. Prefer DB_URL · MYSQL_HOST=Legacy MySQL-only form, kept for drop-in compatibility. Prefer DB_URL · MYSQL_PASSWORD=Legacy MySQL-only form. Prefer DB_URL with DB_PASSWORD · MYSQL_USER=Legacy MySQL-only form. Prefer DB_URL |
| Icon formats (raw) | confirmed absent |
| Connection paths (source structure) | {"packages":[{"registryType":"npm","identifier":"@shibbirweb/mcp-db-read-only","version":"1.1.0","transport":"stdio","environment":[{"name":"DB_URL","description":"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","format":"string","required":false,"secret":false},{"name":"DB_PASSWORD","description":"Password for DB_URL, so it need not be percent-encoded inside the URL","format":"string","required":false,"secret":true},{"name":"DB_PROFILES","description":"JSON object of named connections to switch between, each a URL or {\"url\", \"password\"}","format":"string","required":false,"secret":true},{"name":"DB_DEFAULT_PROFILE","description":"Which DB_PROFILES entry to start on","format":"string","required":false,"secret":false},{"name":"DB_CONNECT_TIMEOUT_MS","description":"Connection timeout in milliseconds. Defaults to 10000","format":"number","required":false,"secret":false},{"name":"DB_QUERY_TIMEOUT_MS","description":"Server-side query timeout in milliseconds. Defaults to 30000","format":"number","required":false,"secret":false},{"name":"DB_LOG","description":"true logs every tool call, its statements and full output to stderr. Off by default","format":"boolean","required":false,"secret":false},{"name":"DB_LOG_FILE","description":"Log every tool call to this file instead. Implies DB_LOG","format":"filepath","required":false,"secret":false},{"name":"DB_LOG_DIR","description":"Save every tool call as its own JSON file in this folder, permanently. Implies logging","format":"filepath","required":false,"secret":false},{"name":"DB_LOG_FORMAT","description":"pretty (default) or json, one object per line","format":"string","required":false,"secret":false},{"name":"DB_LOG_PORT","description":"Serve a live log viewer in the browser on this port. Needs DB_LOG_DIR, DB_LOG or DB_LOG_FILE. No access control","format":"number","required":false,"secret":false},{"name":"DB_LOG_HISTORY","description":"Entries the viewer keeps in memory when DB_LOG_DIR is not set. Defaults to 500","format":"number","required":false,"secret":false},{"name":"MYSQL_HOST","description":"Legacy MySQL-only form, kept for drop-in compatibility. Prefer DB_URL","format":"string","required":false,"secret":false},{"name":"MYSQL_USER","description":"Legacy MySQL-only form. Prefer DB_URL","format":"string","required":false,"secret":false},{"name":"MYSQL_PASSWORD","description":"Legacy MySQL-only form. Prefer DB_URL with DB_PASSWORD","format":"string","required":false,"secret":true},{"name":"MYSQL_DATABASE","description":"Legacy MySQL-only form. Prefer DB_URL","format":"string","required":false,"secret":false}],"additional_arguments_declared":false},{"registryType":"oci","identifier":"docker.io/shibbirweb/mcp-db-read-only:1.1.0","transport":"stdio","environment":[{"name":"DB_URL","description":"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","format":"string","required":false,"secret":false},{"name":"DB_PASSWORD","description":"Password for DB_URL, so it need not be percent-encoded inside the URL","format":"string","required":false,"secret":true},{"name":"DB_PROFILES","description":"JSON object of named connections to switch between, each a URL or {\"url\", \"password\"}","format":"string","required":false,"secret":true},{"name":"DB_DEFAULT_PROFILE","description":"Which DB_PROFILES entry to start on","format":"string","required":false,"secret":false},{"name":"DB_CONNECT_TIMEOUT_MS","description":"Connection timeout in milliseconds. Defaults to 10000","format":"number","required":false,"secret":false},{"name":"DB_QUERY_TIMEOUT_MS","description":"Server-side query timeout in milliseconds. Defaults to 30000","format":"number","required":false,"secret":false},{"name":"DB_LOG","description":"true logs every tool call, its statements and full output to stderr. Off by default","format":"boolean","required":false,"secret":false},{"name":"DB_LOG_FILE","description":"Log every tool call to this file instead, on a mounted volume. Implies DB_LOG","format":"filepath","required":false,"secret":false},{"name":"DB_LOG_DIR","description":"Save every tool call as its own JSON file in this folder, on a mounted volume. Implies logging","format":"filepath","required":false,"secret":false},{"name":"DB_LOG_FORMAT","description":"pretty (default) or json, one object per line","format":"string","required":false,"secret":false},{"name":"DB_LOG_PORT","description":"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","format":"number","required":false,"secret":false},{"name":"DB_LOG_HISTORY","description":"Entries the viewer keeps in memory when DB_LOG_DIR is not set. Defaults to 500","format":"number","required":false,"secret":false},{"name":"MYSQL_HOST","description":"Legacy MySQL-only form, kept for drop-in compatibility. Prefer DB_URL","format":"string","required":false,"secret":false},{"name":"MYSQL_USER","description":"Legacy MySQL-only form. Prefer DB_URL","format":"string","required":false,"secret":false},{"name":"MYSQL_PASSWORD","description":"Legacy MySQL-only form. Prefer DB_URL with DB_PASSWORD","format":"string","required":false,"secret":true},{"name":"MYSQL_DATABASE","description":"Legacy MySQL-only form. Prefer DB_URL","format":"string","required":false,"secret":false}],"additional_arguments_declared":false}],"remotes":[]} |
Embed this badge
Paste this line into a README of your own. The badge states how many values the registry holds for the entry and when it last looked, and it links back to this page.
[](https://tracevero.com/mcp/io-github-shibbirweb-mcp-db-read-only)
The image is drawn again on every request, so it always reports the current state while the pasted line stays as it is. It carries no rating and no traffic light – only the two measured figures.
Changes
| 2026-09-25 | Declared version: – → 1.1.0 |
|---|---|
| 2026-09-25 | Field of use, derived from the vendor description: – → Databases |
| 2026-09-25 | Repository URL listed: – → yes |
These are the 3 most recent changes to this entry. Full history
tracevero · https://tracevero.com/mcp/io-github-shibbirweb-mcp-db-read-only