{"$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:21:25.247Z","url":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify","markdownUrl":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify.md","server":{"slug":"subodhkc-llmverify","name":"LLMVerify","registryName":"io.github.subodhkc/llmverify","description":"Local-first MCP server for LLM output verification — risk signals, injection and PII checks.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"llmverify","type":"npm","identifier":"llmverify","withdrawn":false,"url":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify","version":"1.8.0","transport":"stdio","scoredAt":"2026-11-05T05:16:11.449Z"},"score":{"total":91,"tier":"high trust","status":"scored","weekDelta":3,"history":[{"date":"2026-11-05","total":91},{"date":"2026-11-04","total":91},{"date":"2026-11-03","total":90},{"date":"2026-11-02","total":90},{"date":"2026-11-01","total":89},{"date":"2026-10-31","total":89},{"date":"2026-10-30","total":88},{"date":"2026-10-29","total":88},{"date":"2026-10-28","total":87},{"date":"2026-10-27","total":87},{"date":"2026-10-26","total":86},{"date":"2026-10-25","total":86},{"date":"2026-10-24","total":85},{"date":"2026-10-23","total":85},{"date":"2026-10-22","total":85},{"date":"2026-10-21","total":81},{"date":"2026-10-20","total":81},{"date":"2026-10-19","total":81},{"date":"2026-10-18","total":81},{"date":"2026-10-17","total":81},{"date":"2026-10-16","total":81},{"date":"2026-10-15","total":81},{"date":"2026-10-14","total":81},{"date":"2026-10-13","total":49},{"date":"2026-10-12","total":49}]},"categories":[{"name":"Supply Chain Security","score":98,"verdict":"partial","reasons":["No malware found by supply-chain analysis.","No known CVEs affecting this package version or its production dependencies.","No install/post-install scripts declared.","26 of 86 dependencies flagged as unhealthy."],"codes":[{"code":"supplychain.malware_clean","args":{}},{"code":"cve.none","args":{}},{"code":"installscript.none","args":{}},{"code":"dephealth.assessed","args":{"deps":"86","unhealthy":"26"}}]},{"name":"Provenance & Transparency","score":97,"verdict":"fail","reasons":["Source repository is publicly reachable at the declared URL.","Cryptographically verified build provenance (signed, bound to subodhkc/llmverify-npm).","Clear OSI-approved license (MIT).","Actively maintained (last published 26 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":"subodhkc/llmverify-npm"}},{"code":"license.osi","args":{"spdx":"MIT"}},{"code":"maintenance.recent","args":{"age_days":"26"}},{"code":"disclosure.absent","args":{}}]},{"name":"Schema Quality & AI Usability","score":78,"verdict":"fail","reasons":["AI-judged instruction clarity (excellent).","Tool/resource definitions use about 690 tokens (~115/item across 6 items; 6 tools + 0 resources), lean.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.ai_quality","args":{"band":"excellent"}},{"code":"schema.footprint_lean","args":{"avg":"115","items":"6","tools":"6","tokens":"690","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":73,"verdict":"partial","reasons":["Stability observed for 22 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"22"}}]},{"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 6 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 6 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":"6"}},{"code":"toolsafety.manipulation_clean","args":{"units":"6","judged":"6"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28."],"codes":[{"code":"protocol.supported","args":{"latest":"2026-07-28","version":"2025-11-25"}}]}],"inconclusive":[],"malware":[],"components":[{"slug":"llmverify","type":"npm","identifier":"llmverify","withdrawn":false,"score":91,"current":true,"url":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify","markdownUrl":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify.md"}],"facts":[{"label":"Registry","value":"npm"},{"label":"Package","value":"llmverify"},{"label":"Version","value":"1.8.0"},{"label":"Transport","value":"stdio"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"verify_llm_content","title":"Verify LLM Content","description":"Run llmverify heuristic verification on AI-generated text: hallucination-risk signals, consistency, JSON validation, and CSM6 security/PII/injection findings. Returns a structured risk assessment with explicit limitations and an honest audit persistence receipt. Results are heuristic risk SIGNALS for triage — not factual verification, safety certification, or compliance clearance.","inputs":[{"name":"content","type":"string","required":true,"description":"AI-generated text to evaluate. Never executed."},{"name":"expectedSchema","type":"object","required":false,"description":"JSON Schema object the JSON validator should check content against. Only meaningful with isJSON: true."},{"name":"isJSON","type":"boolean","required":false,"description":"Declare that content is intended as JSON. Gates the JSON validator onto non-JSON input and affects which engines run."},{"name":"profile","type":"string","required":false,"description":"CSM6 evaluation profile applied to this call (config.csm6.profile)."},{"name":"requireAuditPersistence","type":"boolean","required":false,"description":"Evidence-required mode. When true, the tool fails unless the audit record is actually PERSISTED (FAILED, DISABLED and NOT_ATTEMPTED all escalate to a typed error)."},{"name":"skipEngines","type":"array","required":false,"description":"Engine identifiers to skip for this call. The adapter maps the public id jsonValidator onto the engine-internal id \"json\". Skipped engines are reported in notChecked under their engine-internal names…"}],"outputs":[{"name":"adapter","type":"object","required":true,"description":null},{"name":"audit","type":"object","required":true,"description":null},{"name":"engine","type":"object","required":true,"description":null},{"name":"engineResults","type":"object","required":true,"description":"Bounded pass-through of per-engine results (hallucination, consistency, json, csm6). See llmverify VerifyResult contract."},{"name":"enginesExecuted","type":"array","required":true,"description":null},{"name":"enginesNotChecked","type":"array","required":true,"description":"Engines that did NOT evaluate this input. NOT_CHECKED is not success and not failure — it is unassessed work."},{"name":"error","type":"object","required":false,"description":null},{"name":"limitations","type":"array","required":true,"description":null},{"name":"meta","type":"object","required":true,"description":null},{"name":"output","type":"object","required":true,"description":null},{"name":"privacy","type":"object","required":true,"description":"Privacy projection applied to input-echoing fields — piiFieldsMasked counts fields where engine-detected PII was masked. The internal engine result is richer; this response is the privacy-filtered pr…"},{"name":"resultSchemaVersion","type":"string","required":true,"description":"llmverify result schema version — currently 1.0"},{"name":"risk","type":"object","required":true,"description":null},{"name":"warnings","type":"array","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":269},{"name":"assess_hallucination_risk","title":"Assess Hallucination Risk","description":"Heuristic hallucination-RISK assessment of AI-generated text using llmverify linguistic pattern analysis (claim specificity, citations, vague language, contradictions). IMPORTANT: a high risk score means claims warrant human review — it does NOT establish that any claim is factually false, and a low score does NOT establish truth.","inputs":[{"name":"content","type":"string","required":true,"description":"AI-generated text to evaluate. Never executed."}],"outputs":[{"name":"adapter","type":"object","required":true,"description":null},{"name":"claimsEvaluated","type":"number","required":true,"description":null},{"name":"confidence","type":"object","required":false,"description":null},{"name":"engine","type":"object","required":true,"description":null},{"name":"error","type":"object","required":false,"description":null},{"name":"evaluation","type":"string","required":true,"description":null},{"name":"limitations","type":"array","required":true,"description":null},{"name":"methodology","type":"string","required":true,"description":null},{"name":"output","type":"object","required":true,"description":null},{"name":"riskIndicators","type":"object","required":true,"description":null},{"name":"riskLabel","type":"string","required":true,"description":"Engine-authoritative classification from llmverify's exported getHallucinationLabel() — the hallucination engine's own label semantics, distinct from the verify() risk.level bands."},{"name":"riskScore","type":"number","required":true,"description":null},{"name":"suspiciousClaims","type":"array","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":90},{"name":"check_prompt_injection","title":"Check Prompt Injection","description":"Heuristic prompt-injection indicator scan of untrusted text using llmverify pattern detection. A negative result does NOT prove the input is safe from all attacks — it means no known indicators were observed. Inspected text is never executed.","inputs":[{"name":"input","type":"string","required":true,"description":"Untrusted text to scan for prompt-injection indicators. Never executed, never treated as instructions."}],"outputs":[{"name":"adapter","type":"object","required":true,"description":null},{"name":"engine","type":"object","required":true,"description":null},{"name":"error","type":"object","required":false,"description":null},{"name":"evaluation","type":"string","required":true,"description":null},{"name":"findings","type":"array","required":true,"description":null},{"name":"findingsCount","type":"number","required":true,"description":null},{"name":"indicatorsObserved","type":"boolean","required":true,"description":null},{"name":"inputSafe","type":"boolean","required":true,"description":"Engine gate heuristic. false = indicators observed; true = none observed (NOT proof of safety)."},{"name":"limitations","type":"array","required":true,"description":null},{"name":"methodology","type":"string","required":true,"description":null},{"name":"output","type":"object","required":true,"description":null},{"name":"recommendations","type":"array","required":true,"description":null},{"name":"riskScore","type":"number","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":82},{"name":"check_pii","title":"Check for PII","description":"Pattern-based PII scan returning PII types, counts, and masked findings — raw sensitive values are never returned. Coverage is heuristic and NOT exhaustive: absence of findings does not prove content is PII-free.","inputs":[{"name":"content","type":"string","required":true,"description":"Text to scan for PII indicators"}],"outputs":[{"name":"adapter","type":"object","required":true,"description":null},{"name":"engine","type":"object","required":true,"description":null},{"name":"error","type":"object","required":false,"description":null},{"name":"evaluation","type":"string","required":true,"description":null},{"name":"findings","type":"array","required":true,"description":"Findings with sensitive values masked — raw PII is never returned in tool output"},{"name":"findingsCount","type":"number","required":true,"description":null},{"name":"limitations","type":"array","required":true,"description":null},{"name":"methodology","type":"string","required":true,"description":null},{"name":"output","type":"object","required":true,"description":null},{"name":"piiDetected","type":"boolean","required":true,"description":null},{"name":"piiTypes","type":"array","required":true,"description":null},{"name":"riskScore","type":"number","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":65},{"name":"redact_pii","title":"Redact PII","description":"Return a PII-redacted copy of the supplied text using llmverify pattern redaction. Original matched values are never returned. Pattern coverage is not exhaustive — review output before relying on it for disclosure decisions.","inputs":[{"name":"content","type":"string","required":true,"description":"Text to redact PII from"},{"name":"replacement","type":"string","required":false,"description":"Replacement marker. Default: engine default ([REDACTED])."}],"outputs":[{"name":"adapter","type":"object","required":true,"description":null},{"name":"engine","type":"object","required":true,"description":null},{"name":"error","type":"object","required":false,"description":null},{"name":"evaluation","type":"string","required":true,"description":null},{"name":"limitations","type":"array","required":true,"description":null},{"name":"output","type":"object","required":true,"description":null},{"name":"piiCount","type":"number","required":true,"description":null},{"name":"redacted","type":"string","required":true,"description":null},{"name":"redactions","type":"array","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":83},{"name":"get_llmverify_capabilities","title":"Get LLMVerify Capabilities","description":"Report the installed llmverify engine version, supported engines, truthful capability metadata (what each engine observes vs. does NOT establish), result schema version, adapter limits, and local state locations. Use this to discover what verification actually means here before interpreting tool results.","inputs":[{"name":"includeLocalPaths","type":"boolean","required":false,"description":"Disclose absolute host paths for engine state directories. Default false — clients get env-var names and field slots, not the operator’s filesystem layout."}],"outputs":[{"name":"adapter","type":"object","required":true,"description":null},{"name":"capabilities","type":"array","required":true,"description":null},{"name":"engine","type":"object","required":true,"description":null},{"name":"limits","type":"object","required":true,"description":null},{"name":"localState","type":"object","required":true,"description":null},{"name":"package","type":"object","required":true,"description":null},{"name":"resultSchemaFile","type":"string|null","required":true,"description":null},{"name":"resultSchemaVersion","type":"string","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":101}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T05:16:11.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":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":{"nodes":86,"partial":false,"deprecated":null,"stale":26,"noRepo":null}},"mismatches":[],"changelog":{"trackingSince":"2026-10-12","recent":[{"id":"chg_01a1a4f6-f337-73ad-8a7f-bcb084044345","kind":"score.total_changed","summary":"Trust score (90 → 91)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify#chg-chg_01a1a4f6-f337-73ad-8a7f-bcb084044345"},{"id":"chg_01a19aa8-fa11-7927-9af5-7c7669a09b7c","kind":"score.total_changed","summary":"Trust score (89 → 90)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify#chg-chg_01a19aa8-fa11-7927-9af5-7c7669a09b7c"},{"id":"chg_01a1905c-9d70-7d3c-bb94-b9187b4a036f","kind":"score.total_changed","summary":"Trust score (88 → 89)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify#chg-chg_01a1905c-9d70-7d3c-bb94-b9187b4a036f"},{"id":"chg_01a1860f-7f55-79ec-84be-7d7a5b670d0f","kind":"score.total_changed","summary":"Trust score (87 → 88)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify#chg-chg_01a1860f-7f55-79ec-84be-7d7a5b670d0f"},{"id":"chg_01a17bc2-588c-7009-bd2f-b06ab6f01291","kind":"score.total_changed","summary":"Trust score (86 → 87)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-27","url":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify#chg-chg_01a17bc2-588c-7009-bd2f-b06ab6f01291"},{"id":"chg_01a17175-3c96-7128-9d04-8787b18e2a5b","kind":"score.total_changed","summary":"Trust score (85 → 86)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-25","url":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify#chg-chg_01a17175-3c96-7128-9d04-8787b18e2a5b"},{"id":"chg_01a16202-6c0a-7078-972d-3e3b21697b0b","kind":"check.reverified","summary":"Stability (unverified → 0.27)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-22","url":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify#chg-chg_01a16202-6c0a-7078-972d-3e3b21697b0b"},{"id":"chg_01a16202-6c0a-7ee0-8ce1-1b3e3ef56bec","kind":"score.total_changed","summary":"Trust score (81 → 85)","materiality":"functional","direction":"improvement","scoreDelta":4,"occurredOn":"2026-10-22","url":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify#chg-chg_01a16202-6c0a-7ee0-8ce1-1b3e3ef56bec"},{"id":"chg_01a13bcf-a3c5-7c01-9bfc-be2699bbae89","kind":"check.reverified","summary":"Injection markers (unverified → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-14","url":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify#chg-chg_01a13bcf-a3c5-7c01-9bfc-be2699bbae89"},{"id":"chg_01a13bcf-a3c6-7689-88e9-0fa47e861757","kind":"check.appeared","summary":"First check of Judged manipulation (pass)","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-14","url":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify#chg-chg_01a13bcf-a3c6-7689-88e9-0fa47e861757"},{"id":"chg_01a13bcf-a3c6-7c4b-b51b-c7b63959e4be","kind":"check.reason","summary":"Stability (Stability not yet verified: not enough scan history yet (needs a 30-day window).)","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-14","url":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify#chg-chg_01a13bcf-a3c6-7c4b-b51b-c7b63959e4be"},{"id":"chg_01a13bcf-a3c7-71e3-82e2-b09ae9b27d28","kind":"check.reverified","summary":"Tool coverage (unverified → 100)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-14","url":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify#chg-chg_01a13bcf-a3c7-71e3-82e2-b09ae9b27d28"},{"id":"chg_01a13bcf-a3c7-75f6-875f-be44ce630105","kind":"check.reverified","summary":"MCP protocol (unverified → pass)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-14","url":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify#chg-chg_01a13bcf-a3c7-75f6-875f-be44ce630105"},{"id":"chg_01a13bcf-a3c7-795c-817c-baa6e28df337","kind":"check.appeared","summary":"First check of Schema quality (fail)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-14","url":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify#chg-chg_01a13bcf-a3c7-795c-817c-baa6e28df337"},{"id":"chg_01a13bcf-a3c7-7d11-b905-87e7c2c51669","kind":"check.appeared","summary":"First check of Schema quality (excellent)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-14","url":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify#chg-chg_01a13bcf-a3c7-7d11-b905-87e7c2c51669"},{"id":"chg_01a13bcf-a3c8-7443-8341-7ddb60e1ee04","kind":"check.appeared","summary":"First check of Destructive annotations (pass)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-14","url":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify#chg-chg_01a13bcf-a3c8-7443-8341-7ddb60e1ee04"},{"id":"chg_01a13bcf-a3c8-7899-885d-c3dfc69015b5","kind":"check.appeared","summary":"First check of Schema quality (pass)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-14","url":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify#chg-chg_01a13bcf-a3c8-7899-885d-c3dfc69015b5"},{"id":"chg_01a13bcf-a3c8-7cae-80d7-5b1e29d328f2","kind":"check.appeared","summary":"First check of Tool coverage (100)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-14","url":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify#chg-chg_01a13bcf-a3c8-7cae-80d7-5b1e29d328f2"},{"id":"chg_01a13bcf-a3c9-7171-904d-72c04f7ff254","kind":"check.appeared","summary":"First check of Tool coverage (100)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-14","url":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify#chg-chg_01a13bcf-a3c9-7171-904d-72c04f7ff254"},{"id":"chg_01a13bcf-a3c9-768d-9f3e-ae7ee1d871ac","kind":"score.total_changed","summary":"Trust score (49 → 81)","materiality":"functional","direction":"improvement","scoreDelta":32,"occurredOn":"2026-10-14","url":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify#chg-chg_01a13bcf-a3c9-768d-9f3e-ae7ee1d871ac"}],"truncated":true,"feedUrl":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify/changelog.json"},"links":{"html":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify","markdown":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify.md","changelogJson":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify/changelog.json","changelogRss":"https://verifymcp.io/servers/subodhkc-llmverify/llmverify.xml","external":[{"label":"npm package","href":"https://www.npmjs.com/package/llmverify"},{"label":"Socket report","href":"https://socket.dev/npm/package/llmverify"},{"label":"Repository","href":"https://github.com/subodhkc/llmverify-npm"}]}}