{"$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-05T16:24:52.453Z","url":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr","markdownUrl":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr.md","server":{"slug":"kyrylopr-lenspr","name":"io.github.kyrylopr/lenspr","registryName":"io.github.kyrylopr/lenspr","description":"Stop vibecoding blind. Code graph so your AI stops breaking things across your codebase.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"lenspr","type":"pypi","identifier":"lenspr","withdrawn":false,"url":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr","version":"0.1.1","transport":"stdio","scoredAt":"2026-11-05T09:35:24.902Z"},"score":{"total":34,"tier":"low","status":"scored","weekDelta":0,"history":[{"date":"2026-11-05","total":34},{"date":"2026-11-04","total":49},{"date":"2026-11-03","total":49},{"date":"2026-11-02","total":49},{"date":"2026-11-01","total":49},{"date":"2026-10-31","total":49},{"date":"2026-10-30","total":34},{"date":"2026-10-29","total":34},{"date":"2026-10-28","total":49},{"date":"2026-10-27","total":49},{"date":"2026-10-26","total":49},{"date":"2026-10-25","total":34},{"date":"2026-10-24","total":34},{"date":"2026-10-23","total":34},{"date":"2026-10-22","total":34},{"date":"2026-10-21","total":34},{"date":"2026-10-20","total":34},{"date":"2026-10-19","total":34},{"date":"2026-10-18","total":49},{"date":"2026-10-17","total":34},{"date":"2026-10-16","total":34},{"date":"2026-10-15","total":34},{"date":"2026-10-14","total":34},{"date":"2026-10-13","total":34},{"date":"2026-10-12","total":34},{"date":"2026-10-04","total":34},{"date":"2026-10-03","total":34},{"date":"2026-10-02","total":34},{"date":"2026-10-01","total":34},{"date":"2026-09-30","total":34}]},"categories":[{"name":"Supply Chain Security","score":50,"verdict":"unverified","reasons":["Malware scan not yet available for this package.","No known CVEs affecting this package version or its production dependencies.","Runs hatchling.build at install time, a recognised build step with no custom scripting around it.","0 of 3 dependencies flagged as unhealthy."],"codes":[{"code":"supplychain.malware_inconclusive","args":{"reason":"vendor_no_verdict"}},{"code":"cve.none","args":{}},{"code":"installscript.allowlisted","args":{"tool":"hatchling.build","hooks":"build_backend"}},{"code":"dephealth.assessed","args":{"deps":"3","unhealthy":"0"}}]},{"name":"Provenance & Transparency","score":96,"verdict":"fail","reasons":["Source repository is publicly reachable at the declared URL.","Cryptographically verified build provenance (signed, bound to kyrylopr/lenspr).","Clear OSI-approved license (MIT).","Actively maintained (last published 254 days ago).","Disclosure check failed: no security disclosure policy was found in the source repository."],"codes":[{"code":"provenance.repo_verified","args":{}},{"code":"provenance.verified","args":{"repo":"kyrylopr/lenspr"}},{"code":"license.osi","args":{"spdx":"MIT"}},{"code":"maintenance.recent","args":{"age_days":"254"}},{"code":"disclosure.absent","args":{}}]},{"name":"Schema Quality & AI Usability","score":0,"verdict":"unverified","reasons":["Schema quality not yet verified: this package installed, but its server did not start, so we have no schema to assess."],"codes":[{"code":"schema.sandbox_failed","args":{"reason":"startup_failure","status":"unreachable"}}]},{"name":"Stability & Change Management","score":0,"verdict":"unverified","reasons":["Stability not yet verified: this package installed, but its server did not start, so we have no schema to compare."],"codes":[{"code":"stability.sandbox_failed","args":{"reason":"startup_failure","status":"unreachable"}}]},{"name":"Tool Coverage","score":0,"verdict":"unverified","reasons":["Tool coverage not yet verified: this package installed, but its server did not start, so we have no tool definitions to assess."],"codes":[{"code":"toolquality.sandbox_failed","args":{"reason":"startup_failure","status":"unreachable"}}]},{"name":"Tool Safety","score":0,"verdict":"unverified","reasons":["Tool safety not yet verified: this package installed, but its server did not start, so we have no tool text to scan."],"codes":[{"code":"toolsafety.sandbox_failed","args":{"reason":"startup_failure","status":"unreachable"}}]},{"name":"Capabilities","score":0,"verdict":"unverified","reasons":["Protocol version not yet verified: this package installed, but its server did not start, so we never saw its MCP handshake."],"codes":[{"code":"cap.sandbox_failed","args":{"reason":"startup_failure","status":"unreachable"}}]}],"inconclusive":["Malware scan not yet available for this package.","Schema quality not yet verified: this package installed, but its server did not start, so we have no schema to assess.","Stability not yet verified: this package installed, but its server did not start, so we have no schema to compare.","Tool coverage not yet verified: this package installed, but its server did not start, so we have no tool definitions to assess.","Tool safety not yet verified: this package installed, but its server did not start, so we have no tool text to scan.","Protocol version not yet verified: this package installed, but its server did not start, so we never saw its MCP handshake."],"malware":[],"components":[{"slug":"lenspr","type":"pypi","identifier":"lenspr","withdrawn":false,"score":34,"current":true,"url":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr","markdownUrl":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr.md"}],"facts":[{"label":"Registry","value":"pypi"},{"label":"Package","value":"lenspr"},{"label":"Version","value":"0.1.1"},{"label":"Transport","value":"stdio"}],"install":{"available":true,"bundleSha256":null},"tools":[],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T09:35:24.000Z","track":"package","endpoint":null,"declaredUrl":null,"truncated":false,"tls":null,"dnssec":null,"auth":null,"httpsRedirect":null,"transports":[],"provenance":{"outcome":"verified","label":"Verified","reason":"verified","reasonLabel":"Verified","discovery":"attestation_endpoint","discoveryLabel":"Registry attestation endpoint","sourceRepo":null,"attestationSkipped":null,"attestationSkippedLabel":null},"installScripts":[{"hook":"build_backend","tier":"allowlisted"}],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":{"nodes":3,"partial":false,"deprecated":null,"stale":null,"noRepo":null}},"mismatches":[],"changelog":{"trackingSince":"2026-07-26","recent":[{"id":"chg_01a1ab10-2714-7de8-a08e-24f50762a889","kind":"check.unverifiable","summary":"Malware scan (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr#chg-chg_01a1ab10-2714-7de8-a08e-24f50762a889"},{"id":"chg_01a1ab10-2717-72b3-a42e-505ce03bef31","kind":"score.total_changed","summary":"Trust score (49 → 34)","materiality":"functional","direction":"regression","scoreDelta":-15,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr#chg-chg_01a1ab10-2717-72b3-a42e-505ce03bef31"},{"id":"chg_01a1909f-742e-72eb-b6dc-9fe9eee03522","kind":"check.reverified","summary":"Malware scan (unverified → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr#chg-chg_01a1909f-742e-72eb-b6dc-9fe9eee03522"},{"id":"chg_01a1909f-7430-7283-8e25-99cc92d943ec","kind":"score.total_changed","summary":"Trust score (34 → 49)","materiality":"functional","direction":"improvement","scoreDelta":15,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr#chg-chg_01a1909f-7430-7283-8e25-99cc92d943ec"},{"id":"chg_01a18c22-0dbb-73e6-af49-41ba61abbc25","kind":"check.reverified","summary":"Security disclosure (unverified → fail)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr#chg-chg_01a18c22-0dbb-73e6-af49-41ba61abbc25"},{"id":"chg_01a186fd-525b-7af2-86fc-6eee7583c8d4","kind":"check.unverifiable","summary":"Malware scan (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr#chg-chg_01a186fd-525b-7af2-86fc-6eee7583c8d4"},{"id":"chg_01a186fd-525d-7f3d-84ae-d0b31734b3ae","kind":"check.unverifiable","summary":"Security disclosure (fail → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr#chg-chg_01a186fd-525d-7f3d-84ae-d0b31734b3ae"},{"id":"chg_01a186fd-525e-781e-95fe-2edbef53ec22","kind":"score.total_changed","summary":"Trust score (49 → 34)","materiality":"functional","direction":"regression","scoreDelta":-15,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr#chg-chg_01a186fd-525e-781e-95fe-2edbef53ec22"},{"id":"chg_01a17719-efb5-7468-9b88-6bfa024923a1","kind":"check.reverified","summary":"Malware scan (unverified → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr#chg-chg_01a17719-efb5-7468-9b88-6bfa024923a1"},{"id":"chg_01a17719-efb7-73e8-86c7-4848906d60e9","kind":"score.total_changed","summary":"Trust score (34 → 49)","materiality":"functional","direction":"improvement","scoreDelta":15,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr#chg-chg_01a17719-efb7-73e8-86c7-4848906d60e9"},{"id":"chg_01a16814-7e1b-71ae-88ed-221ac7d0e4fa","kind":"check.reverified","summary":"Security disclosure (unverified → fail)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-23","url":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr#chg-chg_01a16814-7e1b-71ae-88ed-221ac7d0e4fa"},{"id":"chg_01a16304-dee3-72c6-a7ae-5d3f968ee14e","kind":"check.unverifiable","summary":"Security disclosure (fail → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-22","url":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr#chg-chg_01a16304-dee3-72c6-a7ae-5d3f968ee14e"},{"id":"chg_01a15376-c1f8-72a8-83a8-e7a5ea189030","kind":"check.unverifiable","summary":"Malware scan (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-19","url":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr#chg-chg_01a15376-c1f8-72a8-83a8-e7a5ea189030"},{"id":"chg_01a15376-c1f9-75f6-a903-844024025169","kind":"score.total_changed","summary":"Trust score (49 → 34)","materiality":"functional","direction":"regression","scoreDelta":-15,"occurredOn":"2026-10-19","url":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr#chg-chg_01a15376-c1f9-75f6-a903-844024025169"},{"id":"chg_01a14dae-12ad-7bf9-81ff-1a8d72a1757f","kind":"check.reverified","summary":"Malware scan (unverified → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-18","url":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr#chg-chg_01a14dae-12ad-7bf9-81ff-1a8d72a1757f"},{"id":"chg_01a14dae-12af-7dc4-85b8-c8d5e483ff11","kind":"score.total_changed","summary":"Trust score (34 → 49)","materiality":"functional","direction":"improvement","scoreDelta":15,"occurredOn":"2026-10-18","url":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr#chg-chg_01a14dae-12af-7dc4-85b8-c8d5e483ff11"},{"id":"chg_01a0ec6a-edfa-7982-8f46-cae3b45cc040","kind":"check.reverified","summary":"Provenance (unverified → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-09-29","url":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr#chg-chg_01a0ec6a-edfa-7982-8f46-cae3b45cc040"},{"id":"chg_01a0ec6a-edfc-737f-a92a-08c824b76cc3","kind":"provenance.repo_changed","summary":"The attested source repository moved (kyrylopr/lenspr)","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-09-29","url":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr#chg-chg_01a0ec6a-edfc-737f-a92a-08c824b76cc3"},{"id":"chg_01a0ec6a-edfc-7974-a031-c6fcefea0129","kind":"score.total_changed","summary":"Trust score (24 → 34)","materiality":"functional","direction":"improvement","scoreDelta":10,"occurredOn":"2026-09-29","url":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr#chg-chg_01a0ec6a-edfc-7974-a031-c6fcefea0129"},{"id":"chg_01a0e745-e90b-7e7a-bd82-288d3487def3","kind":"score.rubric_changed","summary":"We updated how we score, so this day's move reflects our rubric, not a change to the server","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-09-28","url":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr#chg-chg_01a0e745-e90b-7e7a-bd82-288d3487def3"}],"truncated":true,"feedUrl":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr/changelog.json"},"links":{"html":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr","markdown":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr.md","changelogJson":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr/changelog.json","changelogRss":"https://verifymcp.io/servers/kyrylopr-lenspr/lenspr.xml","external":[{"label":"PyPI project","href":"https://pypi.org/project/lenspr/"},{"label":"Socket report","href":"https://socket.dev/pypi/package/lenspr"},{"label":"Repository","href":"https://github.com/kyrylopr/lenspr"}]}}