{"id":52109,"recorded_at":"2026-10-26T14:36:59.020808Z","observed_at":"2026-10-26T14:36:59.020748Z","subject_kind":"source_record","subject":"mcp_registry:io.github.shibbirweb/mcp-db-read-only","kind":"listing","method":"baseline/1","body":{"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."},"body_sha256":"0a82dbd9a2828b88aa2b05f40481bddd045194ba9bad9265a694c883cc1c2906","prev_id":null,"leaf":"0xa225bd6b566e9c1bd1d62eb72ba7ccc53a7bd3a58065e590c363fed469274ec5","leaf_text":"{\"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\"}","day":{"day":"2026-10-26","leaves":296695,"root":"0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8","chained":"0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a","anchor_chain":"eip155:5042002","anchor_tx":"0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae","anchor_block":69251483},"proof":["0xa2256f8c0cf2a68e7581ed7a812092271b37dc10b05acc1c33b8bea69f465fe8","0x5f4719b945d63980064adb8622adc62c8a0efbd49a02d62ea6e2d4c8398390ad","0x339abfe9183c03cb620753a92645534d2f64335143762dcb603dddcad06cc0af","0x1e325f39ea33ad92cb24357d5c919b3ef76d4579c18cb60b7b493b428881d72f","0x110d2af123edd345aba778ffcbcb2c81bf6cfdda181677aa25414f2c14fed367","0xec28e720ecdc94cc0d0bc378db8efe5436e158450d49ad2a49ca624b71bdc71c","0x307fe327dc2d7613c6824a4c60956fcd28098a06fb399a60996d0c1e73ef852a","0x5f43d57237770f96f15e160f29752ef8cf4064f1696413d19f52d81f3cbebff0","0xe67eecaf696e494561ce621c14fc42e62336d45f7309ad0195e652382fb489a9","0x9f737f37530f83ae6928a14e73e114762b12b3c82ceb7028bdaf78f27b288ea9","0x9ca444fcd24e94bee95de2e8d69f385e59ecdaff6c1b017632bff037809c381b","0x95576cc3dd18642c859f679cefa1cf80bfc6c690b065916c3585b14e8ef4b1b3","0xf8d3e004d9a208d2c5e82ab676956d80f8a3c78387c61dad15a3a8269efee0d8","0x6713795704ddd9c528d421fadd9cc96b0200a4ddbba84f88e718d4968dde888b","0x62a900133713919f4eed33d8336876b7a6d538233b8a4f3ed03b29aa44f5bad0","0x1ac20d30773e1f4f2f811540e9a99b5cca9177c9e2e029acc0d80cf3f1d11f0f","0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9","0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f","0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a"]}