← The evidence ledger
Evidence row 52109
Observed , by baseline/1.
- Kind
- listing
- About
- source_record mcp_registry:io.github.shibbirweb/mcp-db-read-only
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 0a82dbd9a2828b88aa2b05f40481bddd045194ba9bad9265a694c883cc1c2906
- Leaf
- 0xa225bd6b566e9c1bd1d62eb72ba7ccc53a7bd3a58065e590c363fed469274ec5
What was observed
{
"endpoints": [
[
"web",
"https://github.com/shibbirweb/mcp-db-read-only"
]
],
"name": "Databases (read-only, switchable)",
"owner_address": null,
"raw": {
"_meta": {
"io.modelcontextprotocol.registry/official": {
"isLatest": true,
"publishedAt": "2026-09-24T20:40:20.107595Z",
"status": "active",
"statusChangedAt": "2026-09-24T20:40:20.107595Z",
"updatedAt": "2026-09-24T20:40:20.107595Z"
}
},
"server": {
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"description": "Read-only SQL, MongoDB, Redis and Elasticsearch access, switchable mid-conversation.",
"name": "io.github.shibbirweb/mcp-db-read-only",
"packages": [
{
"environmentVariables": [
{
"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",
"name": "DB_URL"
},
{
"description": "Password for DB_URL, so it need not be percent-encoded inside the URL",
"format": "string",
"isSecret": true,
"name": "DB_PASSWORD"
},
{
"description": "JSON object of named connections to switch between, each a URL or {\"url\", \"password\"}",
"format": "string",
"isSecret": true,
"name": "DB_PROFILES"
},
{
"description": "Which DB_PROFILES entry to start on",
"format": "string",
"name": "DB_DEFAULT_PROFILE"
},
{
"description": "Connection timeout in milliseconds. Defaults to 10000",
"format": "number",
"name": "DB_CONNECT_TIMEOUT_MS"
},
{
"description": "Server-side query timeout in milliseconds. Defaults to 30000",
"format": "number",
"name": "DB_QUERY_TIMEOUT_MS"
},
{
"description": "true logs every tool call, its statements and full output to stderr. Off by default",
"format": "boolean",
"name": "DB_LOG"
},
{
"description": "Log every tool call to this file instead. Implies DB_LOG",
"format": "filepath",
"name": "DB_LOG_FILE"
},
{
"description": "Save every tool call as its own JSON file in this folder, permanently. Implies logging",
"format": "filepath",
"name": "DB_LOG_DIR"
},
{
"description": "pretty (default) or json, one object per line",
"format": "string",
"name": "DB_LOG_FORMAT"
},
{
"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",
"name": "DB_LOG_PORT"
},
{
"description": "Entries the viewer keeps in memory when DB_LOG_DIR is not set. Defaults to 500",
"format": "number",
"name": "DB_LOG_HISTORY"
},
{
"description": "Legacy MySQL-only form, kept for drop-in compatibility. Prefer DB_URL",
"format": "string",
"name": "MYSQL_HOST"
},
{
"description": "Legacy MySQL-only form. Prefer DB_URL",
"format": "string",
"name": "MYSQL_USER"
},
{
"description": "Legacy MySQL-only form. Prefer DB_URL with DB_PASSWORD",
"format": "string",
"isSecret": true,
"name": "MYSQL_PASSWORD"
},
{
"description": "Legacy MySQL-only form. Prefer DB_URL",
"format": "string",
"name": "MYSQL_DATABASE"
}
],
"identifier": "@shibbirweb/mcp-db-read-only",
"registryType": "npm",
"transport": {
"type": "stdio"
},
"version": "1.1.0"
},
{
"environmentVariables": [
{
"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",
"name": "DB_URL"
},
{
"description": "Password for DB_URL, so it need not be percent-encoded inside the URL",
"format": "string",
"isSecret": true,
"name": "DB_PASSWORD"
},
{
"description": "JSON object of named connections to switch between, each a URL or {\"url\", \"password\"}",
"format": "string",
"isSecret": true,
"name": "DB_PROFILES"
},
{
"description": "Which DB_PROFILES entry to start on",
"format": "string",
"name": "DB_DEFAULT_PROFILE"
},
{
"description": "Connection timeout in milliseconds. Defaults to 10000",
"format": "number",
"name": "DB_CONNECT_TIMEOUT_MS"
},
{
"description": "Server-side query timeout in milliseconds. Defaults to 30000",
"format": "number",
"name": "DB_QUERY_TIMEOUT_MS"
},
{
"description": "true logs every tool call, its statements and full output to stderr. Off by default",
"format": "boolean",
"name": "DB_LOG"
},
{
"description": "Log every tool call to this file instead, on a mounted volume. Implies DB_LOG",
"format": "filepath",
"name": "DB_LOG_FILE"
},
{
"description": "Save every tool call as its own JSON file in this folder, on a mounted volume. Implies logging",
"format": "filepath",
"name": "DB_LOG_DIR"
},
{
"description": "pretty (default) or json, one object per line",
"format": "string",
"name": "DB_LOG_FORMAT"
},
{
"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",
"name": "DB_LOG_PORT"
},
{
"description": "Entries the viewer keeps in memory when DB_LOG_DIR is not set. Defaults to 500",
"format": "number",
"name": "DB_LOG_HISTORY"
},
{
"description": "Legacy MySQL-only form, kept for drop-in compatibility. Prefer DB_URL",
"format": "string",
"name": "MYSQL_HOST"
},
{
"description": "Legacy MySQL-only form. Prefer DB_URL",
"format": "string",
"name": "MYSQL_USER"
},
{
"description": "Legacy MySQL-only form. Prefer DB_URL with DB_PASSWORD",
"format": "string",
"isSecret": true,
"name": "MYSQL_PASSWORD"
},
{
"description": "Legacy MySQL-only form. Prefer DB_URL",
"format": "string",
"name": "MYSQL_DATABASE"
}
],
"identifier": "docker.io/shibbirweb/mcp-db-read-only:1.1.0",
"registryType": "oci",
"transport": {
"type": "stdio"
}
}
],
"repository": {
"source": "github",
"url": "https://github.com/shibbirweb/mcp-db-read-only"
},
"title": "Databases (read-only, switchable)",
"version": "1.1.0",
"websiteUrl": "https://github.com/shibbirweb/mcp-db-read-only#readme"
}
},
"source": "mcp_registry",
"summary": "Read-only SQL, MongoDB, Redis and Elasticsearch access, switchable mid-conversation."
}What the leaf hashes
{"body":"0a82dbd9a2828b88aa2b05f40481bddd045194ba9bad9265a694c883cc1c2906","id":52109,"kind":"listing","method":"baseline/1","observed_us":1793025419020748,"prev":null,"subject":"mcp_registry:io.github.shibbirweb/mcp-db-read-only","subject_kind":"source_record"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0xa2256f8c0cf2a68e7581ed7a812092271b37dc10b05acc1c33b8bea69f465fe8
- 0x5f4719b945d63980064adb8622adc62c8a0efbd49a02d62ea6e2d4c8398390ad
- 0x339abfe9183c03cb620753a92645534d2f64335143762dcb603dddcad06cc0af
- 0x1e325f39ea33ad92cb24357d5c919b3ef76d4579c18cb60b7b493b428881d72f
- 0x110d2af123edd345aba778ffcbcb2c81bf6cfdda181677aa25414f2c14fed367
- 0xec28e720ecdc94cc0d0bc378db8efe5436e158450d49ad2a49ca624b71bdc71c
- 0x307fe327dc2d7613c6824a4c60956fcd28098a06fb399a60996d0c1e73ef852a
- 0x5f43d57237770f96f15e160f29752ef8cf4064f1696413d19f52d81f3cbebff0
- 0xe67eecaf696e494561ce621c14fc42e62336d45f7309ad0195e652382fb489a9
- 0x9f737f37530f83ae6928a14e73e114762b12b3c82ceb7028bdaf78f27b288ea9
- 0x9ca444fcd24e94bee95de2e8d69f385e59ecdaff6c1b017632bff037809c381b
- 0x95576cc3dd18642c859f679cefa1cf80bfc6c690b065916c3585b14e8ef4b1b3
- 0xf8d3e004d9a208d2c5e82ab676956d80f8a3c78387c61dad15a3a8269efee0d8
- 0x6713795704ddd9c528d421fadd9cc96b0200a4ddbba84f88e718d4968dde888b
- 0x62a900133713919f4eed33d8336876b7a6d538233b8a4f3ed03b29aa44f5bad0
- 0x1ac20d30773e1f4f2f811540e9a99b5cca9177c9e2e029acc0d80cf3f1d11f0f
- 0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9
- 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae