{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-06T10:41:40.509Z","url":"https://verifymcp.io/servers/codedb-io-codedb-lens/ghcr-io-codedb-io-codedb-lens","markdownUrl":"https://verifymcp.io/servers/codedb-io-codedb-lens/ghcr-io-codedb-io-codedb-lens.md","server":{"slug":"codedb-io-codedb-lens","name":"codeDB Lens","registryName":"io.github.codedb-io/codedb-lens","description":"Read-only health checks and data questions for SQL Server and PostgreSQL, with your saved profiles.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"ghcr-io-codedb-io-codedb-lens","type":"oci","identifier":"ghcr.io/codedb-io/codedb-lens","withdrawn":false,"url":"https://verifymcp.io/servers/codedb-io-codedb-lens/ghcr-io-codedb-io-codedb-lens","version":"0.9.1","transport":"stdio","scoredAt":"2026-11-06T05:25:43.544Z"},"score":{"total":45,"tier":"low","status":"scored","weekDelta":3,"history":[{"date":"2026-11-06","total":45},{"date":"2026-11-05","total":44},{"date":"2026-11-04","total":44},{"date":"2026-11-03","total":43},{"date":"2026-11-02","total":43},{"date":"2026-11-01","total":43},{"date":"2026-10-31","total":42},{"date":"2026-10-30","total":42},{"date":"2026-10-29","total":41},{"date":"2026-10-28","total":41},{"date":"2026-10-27","total":40}]},"categories":[{"name":"Supply Chain Security","score":0,"verdict":"unverified","reasons":["No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.","Known CVEs could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.","Install-script risk not yet assessed.","Dependency health could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read."],"codes":[{"code":"supplychain.malware_inconclusive","args":{"reason":"ecosystem_unsupported"}},{"code":"cve.inconclusive","args":{"reason":"no_sbom_attached"}},{"code":"installscript.inconclusive","args":{"reason":"no_install_concept"}},{"code":"dephealth.inconclusive","args":{"reason":"no_sbom_attached"}}]},{"name":"Provenance & Transparency","score":35,"verdict":"fail","reasons":["Source repository is publicly reachable at the declared URL.","Provenance check failed: no build-provenance attestation is published.","License check failed: no license is declared.","Actively maintained (last published 7 days ago).","Publishes a security disclosure policy (SECURITY.md)."],"codes":[{"code":"provenance.repo_verified","args":{}},{"code":"provenance.none","args":{}},{"code":"license.absent","args":{}},{"code":"maintenance.recent","args":{"age_days":"7"}},{"code":"disclosure.present","args":{}}]},{"name":"Schema Quality & AI Usability","score":84,"verdict":"fail","reasons":["100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).","AI-judged instruction clarity (good).","Tool/resource definitions use about 1452 tokens (~103/item across 14 items; 14 tools + 0 resources), lean.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.descriptions","args":{"pct":"100"}},{"code":"schema.ai_quality","args":{"band":"good"}},{"code":"schema.footprint_lean","args":{"avg":"103","items":"14","tools":"14","tokens":"1452","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":33,"verdict":"partial","reasons":["Stability observed for 10 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"10"}}]},{"name":"Tool Coverage","score":100,"verdict":"pass","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","100% of tool parameters carry a description.","Structured output schemas are declared (100% of tools); any adoption earns full credit."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"100"}},{"code":"toolquality.output_present","args":{"pct":"100"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","We read all 14 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 15 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_none","args":{"tools":"14"}},{"code":"toolsafety.manipulation_clean","args":{"units":"15","judged":"15"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a current MCP spec version (2026-07-28)."],"codes":[{"code":"protocol.current","args":{"version":"2026-07-28"}}]}],"inconclusive":["No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.","Known CVEs could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.","Install-script risk not yet assessed.","Dependency health could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read."],"malware":[],"components":[{"slug":"ghcr-io-codedb-io-codedb-lens","type":"oci","identifier":"ghcr.io/codedb-io/codedb-lens","withdrawn":false,"score":45,"current":true,"url":"https://verifymcp.io/servers/codedb-io-codedb-lens/ghcr-io-codedb-io-codedb-lens","markdownUrl":"https://verifymcp.io/servers/codedb-io-codedb-lens/ghcr-io-codedb-io-codedb-lens.md"}],"facts":[{"label":"Registry","value":"oci"},{"label":"Package","value":"ghcr.io/codedb-io/codedb-lens"},{"label":"Version","value":"0.9.1"},{"label":"Transport","value":"stdio"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"check","title":null,"description":"Run the codeDB Lens health check on a profile (read-only, 10-60 s): A-F grade with its coverage, findings with severity, confidence, evidence preview and next action, and rules without data. Saves the report in the profile's history, like the app does.","inputs":[{"name":"profile","type":"string","required":true,"description":"profile name from list_profiles"},{"name":"redact","type":"boolean","required":false,"description":"mask host, database, object, login and file names and drop query text"}],"outputs":[{"name":"coverage","type":"number","required":true,"description":null},{"name":"findings","type":"null|array","required":true,"description":null},{"name":"grade","type":"string","required":true,"description":null},{"name":"no_data","type":"null|array","required":true,"description":null},{"name":"note","type":"string","required":true,"description":null},{"name":"passed","type":"integer","required":true,"description":null},{"name":"report","type":"string","required":true,"description":null},{"name":"score","type":"number","required":true,"description":null},{"name":"server","type":"object","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":99},{"name":"compare","title":null,"description":"Compare two runs of the same instance: new, resolved and persisting findings and the grade change. Default: the two latest runs. Needs the user's free key (codedb-lens register).","inputs":[{"name":"a","type":"string","required":false,"description":"older run path from history; default: the second latest"},{"name":"b","type":"string","required":false,"description":"newer run path from history; default: the latest"},{"name":"profile","type":"string","required":true,"description":"profile name from list_profiles"}],"outputs":[{"name":"after","type":"object","required":true,"description":null},{"name":"before","type":"object","required":true,"description":null},{"name":"changed","type":"null|array","required":true,"description":null},{"name":"new","type":"null|array","required":true,"description":null},{"name":"persisting","type":"null|array","required":true,"description":null},{"name":"report","type":"string","required":true,"description":null},{"name":"resolved","type":"null|array","required":true,"description":null},{"name":"warnings","type":"null|array","required":false,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":93},{"name":"describe_table","title":null,"description":"Columns (type, nullable, default), primary key, foreign keys with the referenced table, indexes and estimated rows of one table or view. Use it before writing a query, so column names are right.","inputs":[{"name":"database","type":"string","required":false,"description":"database name from list_databases; default: the profile's"},{"name":"profile","type":"string","required":true,"description":"profile name from list_profiles"},{"name":"table","type":"string","required":true,"description":"table or view: schema.name, or name in the default schema"}],"outputs":[{"name":"columns","type":"null|array","required":true,"description":null},{"name":"estimated_rows","type":"null|integer","required":false,"description":null},{"name":"foreign_keys","type":"null|array","required":true,"description":null},{"name":"indexes","type":"null|array","required":true,"description":null},{"name":"name","type":"string","required":true,"description":null},{"name":"primary_key","type":"null|array","required":true,"description":null},{"name":"schema","type":"string","required":true,"description":null},{"name":"type","type":"string","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":100},{"name":"explain_rule","title":null,"description":"Explain one rule: what it measures, why it matters, the next action, how to verify the fix, the permission it needs, its SQL and its documentation link.","inputs":[{"name":"rule_id","type":"string","required":true,"description":"rule ID, e.g. MSSQL-BACKUP-001 or PG-AUTOVAC-001"}],"outputs":[{"name":"category","type":"string","required":true,"description":null},{"name":"caveat","type":"string","required":false,"description":null},{"name":"doc_url","type":"string","required":true,"description":null},{"name":"engine","type":"string","required":true,"description":null},{"name":"id","type":"string","required":true,"description":null},{"name":"impact","type":"string","required":true,"description":null},{"name":"kind","type":"string","required":false,"description":null},{"name":"next_action","type":"string","required":true,"description":null},{"name":"permission","type":"string","required":true,"description":null},{"name":"severity","type":"string","required":true,"description":null},{"name":"sql","type":"string","required":false,"description":null},{"name":"title","type":"string","required":true,"description":null},{"name":"verify","type":"string","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":71},{"name":"get_finding","title":null,"description":"Full detail of one rule in a saved run: status, impact, next action, how to verify the fix, and all evidence rows. Default run: the latest.","inputs":[{"name":"profile","type":"string","required":true,"description":"profile name from list_profiles"},{"name":"rule_id","type":"string","required":true,"description":"rule ID from check, e.g. MSSQL-BACKUP-001"},{"name":"run","type":"string","required":false,"description":"run path from history; default: the latest run"}],"outputs":[{"name":"caveat","type":"string","required":false,"description":null},{"name":"columns","type":"null|array","required":false,"description":null},{"name":"confidence","type":"string","required":true,"description":null},{"name":"doc_url","type":"string","required":true,"description":null},{"name":"id","type":"string","required":true,"description":null},{"name":"impact","type":"string","required":true,"description":null},{"name":"next_action","type":"string","required":true,"description":null},{"name":"reason","type":"string","required":false,"description":null},{"name":"rows","type":"null|array","required":false,"description":null},{"name":"run","type":"string","required":true,"description":null},{"name":"run_at","type":"string","required":true,"description":null},{"name":"severity","type":"string","required":true,"description":null},{"name":"status","type":"string","required":true,"description":null},{"name":"title","type":"string","required":true,"description":null},{"name":"total_rows","type":"integer","required":true,"description":null},{"name":"truncated","type":"boolean","required":false,"description":null},{"name":"verify","type":"string","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":95},{"name":"history","title":null,"description":"Saved check runs of a profile, newest first: date, grade, coverage and number of findings. Each run's path can be passed to get_finding or compare.","inputs":[{"name":"limit","type":"integer","required":false,"description":"how many runs, newest first (default 10, at most 50)"},{"name":"profile","type":"string","required":true,"description":"profile name from list_profiles"}],"outputs":[{"name":"runs","type":"null|array","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":75},{"name":"list_databases","title":null,"description":"Databases this profile's login can open: name, state, recovery model or encoding, collation and size in bytes.","inputs":[{"name":"profile","type":"string","required":true,"description":"profile name from list_profiles"}],"outputs":[{"name":"columns","type":"null|array","required":true,"description":null},{"name":"note","type":"string","required":false,"description":null},{"name":"rows","type":"null|array","required":true,"description":null},{"name":"truncated","type":"boolean","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":46},{"name":"list_profiles","title":null,"description":"List the saved connection profiles you may use: name, engine, host, initial database and language. Never returns passwords or connection strings.","inputs":[],"outputs":[{"name":"note","type":"string","required":false,"description":null},{"name":"profiles","type":"null|array","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":35},{"name":"list_recordings","title":null,"description":"Recordings (activity sampled every 15 s for 1 or 24 h) kept with a profile's reports, newest first. Recordings made elsewhere can still be read with recording_report and their folder.","inputs":[{"name":"profile","type":"string","required":false,"description":"profile name; empty lists the recordings of every profile you may use"}],"outputs":[{"name":"recordings","type":"null|array","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":71},{"name":"list_rules","title":null,"description":"List the Lens rule catalog (health checks): ID, engine, category, severity and title. Kind \"series\" rules judge recordings, the others run in a check.","inputs":[{"name":"engine","type":"string","required":false,"description":"mssql or pg; empty lists both"}],"outputs":[{"name":"rules","type":"null|array","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":57},{"name":"list_tables","title":null,"description":"Tables and views visible to the profile's login in a database: schema, name, type, estimated rows, size and whether the login can read them. Start here, then describe_table, then query.","inputs":[{"name":"database","type":"string","required":false,"description":"database name from list_databases; default: the profile's"},{"name":"filter","type":"string","required":false,"description":"name pattern: plain text matches anywhere in the name, or a LIKE pattern with %"},{"name":"profile","type":"string","required":true,"description":"profile name from list_profiles"},{"name":"schema","type":"string","required":false,"description":"only this schema"}],"outputs":[{"name":"columns","type":"null|array","required":true,"description":null},{"name":"note","type":"string","required":false,"description":null},{"name":"rows","type":"null|array","required":true,"description":null},{"name":"truncated","type":"boolean","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":113},{"name":"query","title":null,"description":"Run one read-only SELECT (or WITH ... SELECT) on a profile and get columns and rows. Aggregate in SQL (GROUP BY, TOP/LIMIT) instead of fetching raw rows: results stop at the profile's row limit (500 unless the user changed it), cells at 2 KB, and truncated: true means the answer is partial. Writes, EXEC, multiple statements and functions with side effects are refused; quote a column named like an SQL keyword. SQL Server reads uncommitted data, like the health check.","inputs":[{"name":"database","type":"string","required":false,"description":"database name from list_databases; default: the profile's"},{"name":"max_rows","type":"integer","required":false,"description":"row limit; default and ceiling: the profile's"},{"name":"profile","type":"string","required":true,"description":"profile name from list_profiles"},{"name":"sql","type":"string","required":true,"description":"one SELECT or WITH ... SELECT statement"},{"name":"timeout_s","type":"integer","required":false,"description":"seconds; default and ceiling: the profile's"}],"outputs":[{"name":"columns","type":"null|array","required":true,"description":null},{"name":"elapsed_ms","type":"integer","required":true,"description":null},{"name":"note","type":"string","required":false,"description":null},{"name":"rows","type":"null|array","required":true,"description":null},{"name":"truncated","type":"boolean","required":true,"description":null},{"name":"warning","type":"string","required":false,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":192},{"name":"record_command","title":null,"description":"The command the user runs in a terminal (or on the server) to record a profile for up to 1 h, or 24 h with the free key. You cannot start a recording: give the user this command.","inputs":[{"name":"duration","type":"string","required":false,"description":"how long to record, e.g. 30m, 1h or 24h (default 1h; more than 1h needs the free key)"},{"name":"profile","type":"string","required":true,"description":"profile name from list_profiles"}],"outputs":[{"name":"command","type":"string","required":true,"description":null},{"name":"note","type":"string","required":true,"description":null},{"name":"report_command","type":"string","required":true,"description":null},{"name":"server_command","type":"string","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":107},{"name":"recording_report","title":null,"description":"Analyse a recording, optionally for a period (e.g. an incident): time coverage, gaps without data, findings as episodes (blocking, waits, long queries, workers or connections), peak of each chart and the top queries. Also writes the HTML report into the recording folder.","inputs":[{"name":"folder","type":"string","required":true,"description":"recording folder, from list_recordings or given by the user"},{"name":"from","type":"string","required":false,"description":"start of the period, RFC 3339 (default: start of the recording)"},{"name":"to","type":"string","required":false,"description":"end of the period, RFC 3339 (default: end of the recording)"}],"outputs":[{"name":"charts","type":"null|array","required":true,"description":null},{"name":"coverage","type":"number","required":true,"description":null},{"name":"findings","type":"null|array","required":true,"description":null},{"name":"from","type":"string","required":true,"description":null},{"name":"gaps","type":"null|array","required":true,"description":null},{"name":"report","type":"string","required":true,"description":null},{"name":"server","type":"object","required":true,"description":null},{"name":"started","type":"string","required":true,"description":null},{"name":"stop_reason","type":"string","required":false,"description":null},{"name":"stopped","type":"string","required":false,"description":null},{"name":"to","type":"string","required":true,"description":null},{"name":"top_queries","type":"object","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":129}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-06T05:25:43.000Z","track":"package","endpoint":null,"declaredUrl":null,"truncated":false,"tls":null,"dnssec":null,"auth":null,"httpsRedirect":null,"transports":[],"provenance":{"outcome":"none","label":"No attestation","reason":"no_attestation","reasonLabel":"No attestation published","discovery":null,"discoveryLabel":null,"sourceRepo":null,"attestationSkipped":null,"attestationSkippedLabel":null},"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":null},"mismatches":[],"changelog":{"trackingSince":"2026-10-27","recent":[{"id":"chg_01a1af51-ea0e-7420-b299-c91ef4078d6e","kind":"score.total_changed","summary":"Trust score (44 → 45)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-06","url":"https://verifymcp.io/servers/codedb-io-codedb-lens/ghcr-io-codedb-io-codedb-lens#chg-chg_01a1af51-ea0e-7420-b299-c91ef4078d6e"},{"id":"chg_01a1a4fe-9022-7380-a744-75fc0c9f324b","kind":"score.total_changed","summary":"Trust score (43 → 44)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/codedb-io-codedb-lens/ghcr-io-codedb-io-codedb-lens#chg-chg_01a1a4fe-9022-7380-a744-75fc0c9f324b"},{"id":"chg_01a19589-615f-7380-96a9-9c6b38b847db","kind":"score.total_changed","summary":"Trust score (42 → 43)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/codedb-io-codedb-lens/ghcr-io-codedb-io-codedb-lens#chg-chg_01a19589-615f-7380-96a9-9c6b38b847db"},{"id":"chg_01a18b3d-2896-7b43-ba54-b5ca5d0e0781","kind":"score.total_changed","summary":"Trust score (41 → 42)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/codedb-io-codedb-lens/ghcr-io-codedb-io-codedb-lens#chg-chg_01a18b3d-2896-7b43-ba54-b5ca5d0e0781"},{"id":"chg_01a18832-7763-7c3b-9739-da076025f484","kind":"score.total_changed","summary":"Trust score (7 → 41)","materiality":"functional","direction":"improvement","scoreDelta":34,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/codedb-io-codedb-lens/ghcr-io-codedb-io-codedb-lens#chg-chg_01a18832-7763-7c3b-9739-da076025f484"},{"id":"chg_01a1882d-ea07-74fb-9bb7-a51e447490b3","kind":"check.unverifiable","summary":"Stability (0.03 → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/codedb-io-codedb-lens/ghcr-io-codedb-io-codedb-lens#chg-chg_01a1882d-ea07-74fb-9bb7-a51e447490b3"},{"id":"chg_01a1882d-ea09-7351-b9db-ad1f4cbcbc04","kind":"check.unverifiable","summary":"Tool safety (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/codedb-io-codedb-lens/ghcr-io-codedb-io-codedb-lens#chg-chg_01a1882d-ea09-7351-b9db-ad1f4cbcbc04"},{"id":"chg_01a1882d-ea09-7a58-99ed-30a9cc920269","kind":"check.unverifiable","summary":"Capabilities (pass → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/codedb-io-codedb-lens/ghcr-io-codedb-io-codedb-lens#chg-chg_01a1882d-ea09-7a58-99ed-30a9cc920269"},{"id":"chg_01a1882d-ea0a-70f7-b2bb-faed9f233902","kind":"check.unverifiable","summary":"Tool coverage (100 → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/codedb-io-codedb-lens/ghcr-io-codedb-io-codedb-lens#chg-chg_01a1882d-ea0a-70f7-b2bb-faed9f233902"},{"id":"chg_01a1882d-ea0a-766e-8278-ec77d768cbcd","kind":"check.unverifiable","summary":"Schema quality (100 → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/codedb-io-codedb-lens/ghcr-io-codedb-io-codedb-lens#chg-chg_01a1882d-ea0a-766e-8278-ec77d768cbcd"},{"id":"chg_01a1882d-ea0a-7c75-af17-161a2618d763","kind":"package.version_changed","summary":"Package version (0.9.0 → 0.9.1)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/codedb-io-codedb-lens/ghcr-io-codedb-io-codedb-lens#chg-chg_01a1882d-ea0a-7c75-af17-161a2618d763"},{"id":"chg_01a1882d-ea0b-7257-80cb-201502d39b8c","kind":"score.total_changed","summary":"Trust score (41 → 7)","materiality":"functional","direction":"regression","scoreDelta":-34,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/codedb-io-codedb-lens/ghcr-io-codedb-io-codedb-lens#chg-chg_01a1882d-ea0b-7257-80cb-201502d39b8c"},{"id":"chg_01a180ef-b90c-7635-ba87-6b4c54ad5523","kind":"score.total_changed","summary":"Trust score (40 → 41)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/codedb-io-codedb-lens/ghcr-io-codedb-io-codedb-lens#chg-chg_01a180ef-b90c-7635-ba87-6b4c54ad5523"},{"id":"chg_01a17d95-1e34-7310-9b40-44de429fb607","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-27","url":"https://verifymcp.io/servers/codedb-io-codedb-lens/ghcr-io-codedb-io-codedb-lens#chg-chg_01a17d95-1e34-7310-9b40-44de429fb607"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/codedb-io-codedb-lens/ghcr-io-codedb-io-codedb-lens/changelog.json"},"links":{"html":"https://verifymcp.io/servers/codedb-io-codedb-lens/ghcr-io-codedb-io-codedb-lens","markdown":"https://verifymcp.io/servers/codedb-io-codedb-lens/ghcr-io-codedb-io-codedb-lens.md","changelogJson":"https://verifymcp.io/servers/codedb-io-codedb-lens/ghcr-io-codedb-io-codedb-lens/changelog.json","changelogRss":"https://verifymcp.io/servers/codedb-io-codedb-lens/ghcr-io-codedb-io-codedb-lens.xml","external":[{"label":"GitHub Container Registry","href":"https://ghcr.io/codedb-io/codedb-lens"},{"label":"Repository","href":"https://github.com/codedb-io/codedb-lens"},{"label":"Website","href":"https://lens.codedb.com.br/mcp/"}]}}