LLMVerify
NPM · LLMVERIFY
Local-first MCP server for LLM output verification — risk signals, injection and PII checks.
Available components
Last scanned (7 hours ago)
Scores higher than 94% of npm servers
Category Security
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 26 of 86 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to subodhkc/llmverify-npm). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 26 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability78
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 690 tokens (~115/item across 6 items; 6 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management73
- Stability observed for 22 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 6 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 6 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 67 to 70. That category is still filling its 30-day observation window: 20 days of observed history at the previous scan, 21 at this one. The score rises as the window fills, whether or not the server changes.
- 2 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 60 to 63. That category is still filling its 30-day observation window: 18 days of observed history at the previous scan, 19 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.
- 29 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.
- 25 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.
- 22 Oct 26 +4
- Stability: unverified → 0.27 ▲ functional
- 14 Oct 26 +32
- Injection markers: unverified → pass ▲ security
- First check of Judged manipulation: pass security
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- Tool coverage: unverified → 100 ▲ functional
- MCP protocol: unverified → pass ▲ functional
- First check of Schema quality: fail functional
- First check of Schema quality: excellent functional
- First check of Destructive annotations: pass functional
- First check of Schema quality: pass functional
- First check of Tool coverage: 100 functional
- First check of Tool coverage: 100 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Analysed npm/llmverify@1.8.0
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | subodhkc/llmverify-npm |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/subodhkc/llmverify-npm/.github/workflows/npm-publish.yml@refs/tags/v1.8.0 |
| Rekor log index | 3159250907 |
| Predicate type | SLSA build provenance https://slsa.dev/provenance/v1 |
| Subject digest | sha512:5cb505f407aa87b7c3e8579bcaf3808f5397ab8cdcffadc9da8e3112f86c1252804020a5295770e212c30e548b636f33c89a500695d7cb3e129affa02 |
Background: How many MCP packages publish verified provenance →
Dependencies 86 packages
| Packages resolved | 86 |
|---|---|
| Stale | 26 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
assess_hallucination_risk Assess Hallucination Risk ~90
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.
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | AI-generated text to evaluate. Never executed. |
| Name | Type | Req | Description |
|---|---|---|---|
| adapter | object | yes | – |
| claimsEvaluated | number | yes | – |
| confidence | object | – | – |
| engine | object | yes | – |
| error | object | – | – |
| evaluation | string | yes | – |
| limitations | array | yes | – |
| methodology | string | yes | – |
| output | object | yes | – |
| riskIndicators | object | yes | – |
| riskLabel | string | yes | Engine-authoritative classification from llmverify's exported getHallucinationLabel() — the hallucination engine's own label semantics, distinct from the verify() risk.level bands. |
| riskScore | number | yes | – |
| suspiciousClaims | array | yes | – |
No examples provided.
check_pii Check for PII ~65
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.
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | Text to scan for PII indicators |
| Name | Type | Req | Description |
|---|---|---|---|
| adapter | object | yes | – |
| engine | object | yes | – |
| error | object | – | – |
| evaluation | string | yes | – |
| findings | array | yes | Findings with sensitive values masked — raw PII is never returned in tool output |
| findingsCount | number | yes | – |
| limitations | array | yes | – |
| methodology | string | yes | – |
| output | object | yes | – |
| piiDetected | boolean | yes | – |
| piiTypes | array | yes | – |
| riskScore | number | yes | – |
No examples provided.
check_prompt_injection Check Prompt Injection ~82
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.
| Name | Type | Req | Description |
|---|---|---|---|
| input | string | yes | Untrusted text to scan for prompt-injection indicators. Never executed, never treated as instructions. |
| Name | Type | Req | Description |
|---|---|---|---|
| adapter | object | yes | – |
| engine | object | yes | – |
| error | object | – | – |
| evaluation | string | yes | – |
| findings | array | yes | – |
| findingsCount | number | yes | – |
| indicatorsObserved | boolean | yes | – |
| inputSafe | boolean | yes | Engine gate heuristic. false = indicators observed; true = none observed (NOT proof of safety). |
| limitations | array | yes | – |
| methodology | string | yes | – |
| output | object | yes | – |
| recommendations | array | yes | – |
| riskScore | number | yes | – |
No examples provided.
get_llmverify_capabilities Get LLMVerify Capabilities ~101
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.
| Name | Type | Req | Description |
|---|---|---|---|
| includeLocalPaths | boolean | – | Disclose absolute host paths for engine state directories. Default false — clients get env-var names and field slots, not the operator’s filesystem layout. |
| Name | Type | Req | Description |
|---|---|---|---|
| adapter | object | yes | – |
| capabilities | array | yes | – |
| engine | object | yes | – |
| limits | object | yes | – |
| localState | object | yes | – |
| package | object | yes | – |
| resultSchemaFile | string|null | yes | – |
| resultSchemaVersion | string | yes | – |
No examples provided.
redact_pii Redact PII ~83
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.
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | Text to redact PII from |
| replacement | string | – | Replacement marker. Default: engine default ([REDACTED]). |
| Name | Type | Req | Description |
|---|---|---|---|
| adapter | object | yes | – |
| engine | object | yes | – |
| error | object | – | – |
| evaluation | string | yes | – |
| limitations | array | yes | – |
| output | object | yes | – |
| piiCount | number | yes | – |
| redacted | string | yes | – |
| redactions | array | yes | – |
No examples provided.
verify_llm_content Verify LLM Content ~269
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.
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | AI-generated text to evaluate. Never executed. |
| expectedSchema | object | – | JSON Schema object the JSON validator should check content against. Only meaningful with isJSON: true. |
| isJSON | boolean | – | Declare that content is intended as JSON. Gates the JSON validator onto non-JSON input and affects which engines run. |
| profile | string | – | CSM6 evaluation profile applied to this call (config.csm6.profile). |
| requireAuditPersistence | boolean | – | 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). |
| skipEngines | array | – | 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… |
| Name | Type | Req | Description |
|---|---|---|---|
| adapter | object | yes | – |
| audit | object | yes | – |
| engine | object | yes | – |
| engineResults | object | yes | Bounded pass-through of per-engine results (hallucination, consistency, json, csm6). See llmverify VerifyResult contract. |
| enginesExecuted | array | yes | – |
| enginesNotChecked | array | yes | Engines that did NOT evaluate this input. NOT_CHECKED is not success and not failure — it is unassessed work. |
| error | object | – | – |
| limitations | array | yes | – |
| meta | object | yes | – |
| output | object | yes | – |
| privacy | object | yes | 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… |
| resultSchemaVersion | string | yes | llmverify result schema version — currently 1.0 |
| risk | object | yes | – |
| warnings | array | yes | – |
No examples provided.
How do I install the LLMVerify MCP server?
LLMVerify runs locally as an npm package, launched with npx -y llmverify. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · llmverify
claude mcp add subodhkc-llmverify -- npx -y llmverify
What is the LLMVerify MCP server?
LLMVerify is an MCP server listed in the public MCP registry as io.github.subodhkc/llmverify. Local-first MCP server for LLM output verification, risk signals, injection and PII checks. This page covers its npm package (llmverify).
Is the LLMVerify MCP server safe to use?
LLMVerify scores 91 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the LLMVerify MCP server expose?
LLMVerify exposes 6 tools: verify_llm_content, assess_hallucination_risk, check_prompt_injection, check_pii, redact_pii, get_llmverify_capabilities. Their descriptions and schemas cost roughly 690 tokens of context every time the server is loaded.
Is the LLMVerify MCP server still maintained?
LLMVerify is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the LLMVerify MCP server under?
LLMVerify declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.