CertScore.ai
NPM · @CERTSCORE/MCP · 2 COMPONENTS
MCP server for CertScore.ai public website risk-signal workflows.
Available components
Last scanned (14 hours ago)
Scores higher than 44% 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 Security81
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known high-severity CVE affects zod 3.25.76, a direct dependency. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- 30 of 93 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency84
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to ergoveritas1-alt/certscore.ai). View diagnostics → Pass
- License check failed: the license (proprietary) isn't a recognized OSI-approved license. See how to fix → Fail
- Actively maintained (last published 3 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability80
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 2360 tokens (~131/item across 18 items; 14 tools + 4 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability check failed: the tool surface changed between 0.2.4 and 0.2.32: 11 tool removals, 0 breaking changes, 14 additions. See how to fix → Fail
Tool Coverage96
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 86% of tool parameters carry a description.Partial
- 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 14 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 16 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
Checks we ran (16)
- Malware scan
- Known CVEs
- Install scripts
- Dependency health
- Source repository
- Provenance
- License
- Maintenance
- Security disclosure
- Schema quality
- Stability
- Tool coverage
- Injection markers
- Destructive annotations
- Judged manipulation
- MCP protocol
Does not apply to this package (2)
- Endpoint SecurityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
- Transport & ReachabilityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
The score does not measure everything. What the score does not measure →
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.
- 3 Nov 26 +15
- Malware scan: unverified → pass ▲ security
- 2 Nov 26 −19
- Malware scan: pass → unverified ▼ security
- Stability: pass → fail ▼ security
- Provenance: fail → pass ▲ security
- The attested source repository moved: ergoveritas1-alt/certscore.ai security
- Tool coverage: 100% → 86% ▼ functional
- Schema quality: pass → fail ▼ functional
- First check of Schema quality: 100 functional
- Schema quality: excellent → good functional
- Package version: 0.2.4 → 0.2.32 functional
- 28 Oct 26 +1
- Stability: 0.97 → pass security
- 27 Oct 26 −1
- Stability: pass → 0.97 functional
- 24 Oct 26 −5
- CVE-2023-54404 affects this package: high ▼ security
- Known CVEs: pass → fail ▼ security
- 21 Oct 26 +1
- Stability: 0.97 → pass security
- 20 Oct 26 −1
- Stability: pass → 0.97 functional
- 17 Oct 26 +3
- Stability: 0.83 → pass security
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 7 Nov 2026 · Analysed npm/@certscore/mcp@0.2.32
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 | ergoveritas1-alt/certscore.ai |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/ergoveritas1-alt/certscore.ai/.github/workflows/certscore-mcp-npm-release.yml@refs/tags/certscore-mcp-npm-v0.2.32 |
| Rekor log index | 3646850752 |
| Predicate type | SLSA build provenance https://slsa.dev/provenance/v1 |
| Subject digest | sha512:5b82532a92ca69703a11d18194efd25556cb490fbca8a9f523acb488f2edcc3fb6c76addfaa3d79a6d24e67836e7517a6639b9ee2c03d0a79d01e0b56 |
Background: How many MCP packages publish verified provenance →
Vulnerabilities 1 finding
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-mrhx-c7xc-m3w5 | CVE-2023-54404 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
Background: What a vulnerability scan can and cannot prove →
Dependencies 93 packages
| Packages resolved | 93 |
|---|---|
| Stale | 30 |
| 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 →
certscore_explain_finding Explain CertScore finding ~61
Explain one projected finding with public evidence, caveats, reviewer next steps, and reason-specific no-go context when applicable.
| Name | Type | Req | Description |
|---|---|---|---|
| findingId | string | yes | Finding ID to explain. |
| scanId | string | yes | Stable CertScore scan ID. |
| Name | Type | Req | Description |
|---|---|---|---|
| confidence | string | yes | – |
| criticality | string | yes | – |
| detail | object | – | – |
| disclaimer | string | – | – |
| evidence | object | yes | – |
| id | string | yes | – |
| label | string | yes | – |
| links | object | – | – |
| nextStep | string|null | – | – |
| noGo | object | – | – |
| plainEnglish | string | yes | – |
| resultDisposition | string | – | – |
| reviewLenses | array | – | – |
| scanId | string | yes | – |
| type | string | yes | – |
No examples provided.
certscore_export_findings Export CertScore findings ~44
Return structured findings plus completed-limited no-go disposition and guidance for downstream review or ticketing workflows.
| Name | Type | Req | Description |
|---|---|---|---|
| scanId | string | yes | Stable CertScore scan ID. |
| Name | Type | Req | Description |
|---|---|---|---|
| disclaimer | string|null | yes | – |
| domain | string|null | yes | – |
| error | – | yes | – |
| findings | array | yes | – |
| interpretationGuidance | object | yes | – |
| noGo | – | yes | – |
| observationOnlyDisclaimer | string | yes | – |
| provenance | object | yes | – |
| recommendedNextAction | string | yes | – |
| recommendedNextTool | – | yes | – |
| reportUrl | string|null | – | – |
| resultDisposition | – | yes | – |
| scanId | string|null | yes | – |
| scoreLabel | string | yes | – |
| summary | – | – | – |
| type | string | yes | – |
No examples provided.
certscore_get_connection_status Check CertScore connection ~62
Read current authenticated connection mode, granted scopes, workspace access, rolling scan quota and recovery action. No scan ID is needed and no scan is created. Use this to diagnose read-only access or quota limits; reconnect only for expired, revoked or expanded access.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| authenticated | boolean | yes | – |
| diagnostics | object | yes | – |
| expiresAt | string|null | yes | – |
| scopes | array | yes | – |
| type | string | yes | – |
No examples provided.
certscore_get_evidence Get CertScore Pulse evidence ~83
Focused follow-up: retrieve a bounded public-safe evidence packet with a concise TextContent digest and typed structuredContent. For broad privacy questions, use certscore_get_scan_bundle first. Excludes raw cookie values, raw bodies, sensitive payloads, full DOM, and unredacted query values.
| Name | Type | Req | Description |
|---|---|---|---|
| scanId | string | yes | Stable CertScore scan ID. |
| Name | Type | Req | Description |
|---|---|---|---|
| error | – | yes | – |
| interpretationGuidance | object | yes | – |
| mcpMetadata | object | – | – |
| observationOnlyDisclaimer | string | yes | – |
| provenance | object | yes | – |
| recommendedNextAction | string | yes | – |
| recommendedNextTool | – | yes | – |
| reportUrl | string|null | – | – |
| scanId | string|null | – | – |
| scan_id | string|null | – | – |
| scoreLabel | string | yes | – |
| type | string | yes | – |
No examples provided.
certscore_get_latest_domain_pre_consent_cookies_trackers Get latest domain pre-consent cookies and trackers ~120
Focused follow-up: retrieve bounded row-level public-safe pre-consent cookie/tracker evidence from the latest eligible scan for a domain, with matching TextContent and typed structuredContent. For a broad current-site review, use certscore_scan_site then certscore_get_scan_bundle first.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | Public domain to look up. |
| maxRows | integer | – | Maximum inventory rows to return. Defaults to 200. |
| scanFrom | string | – | Optional scan execution context for matching eligible scans. |
| Name | Type | Req | Description |
|---|---|---|---|
| disclaimer | string | – | – |
| domain | string | yes | – |
| error | – | yes | – |
| evidenceMetadata | object | yes | – |
| generatedAt | string|null | – | – |
| interpretationGuidance | object | yes | – |
| links | object | – | – |
| observationOnlyDisclaimer | string | yes | – |
| provenance | object | yes | – |
| recommendedNextAction | string | yes | – |
| recommendedNextTool | – | yes | – |
| reportUrl | string|null | – | – |
| rows | array | yes | – |
| runtimeEvidenceGraph | object | – | – |
| scanId | string | yes | – |
| scoreLabel | string | yes | – |
| summary | object | yes | – |
| type | string | yes | – |
No examples provided.
certscore_get_latest_domain_scan Get latest domain scan ~54
Retrieve the latest eligible API v2 public-safe scan for a domain.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | Public domain to look up. |
| scanFrom | string | – | Optional scan execution context for matching eligible scans. |
| Name | Type | Req | Description |
|---|---|---|---|
| disclaimer | string | – | – |
| domain | string | yes | – |
| links | – | – | – |
| scan | – | yes | – |
| type | string | yes | – |
No examples provided.
certscore_get_pre_consent_cookies_trackers Get pre-consent cookies and trackers ~103
Focused follow-up: retrieve bounded row-level public-safe pre-consent cookie/tracker evidence with matching TextContent and typed structuredContent. For a new broad request such as checking a site for pre-consent tracking, use certscore_scan_site then certscore_get_scan_bundle first.
| Name | Type | Req | Description |
|---|---|---|---|
| maxRows | integer | – | Maximum inventory rows to return. Defaults to 200. |
| scanId | string | yes | Stable CertScore scan ID. |
| Name | Type | Req | Description |
|---|---|---|---|
| disclaimer | string | – | – |
| domain | string | yes | – |
| error | – | yes | – |
| evidenceMetadata | object | yes | – |
| generatedAt | string|null | – | – |
| interpretationGuidance | object | yes | – |
| links | object | – | – |
| observationOnlyDisclaimer | string | yes | – |
| provenance | object | yes | – |
| recommendedNextAction | string | yes | – |
| recommendedNextTool | – | yes | – |
| reportUrl | string|null | – | – |
| rows | array | yes | – |
| runtimeEvidenceGraph | object | – | – |
| scanId | string | yes | – |
| scoreLabel | string | yes | – |
| summary | object | yes | – |
| type | string | yes | – |
No examples provided.
certscore_get_report Get CertScore Pulse report ~116
Focused follow-up: retrieve a bounded Pulse report with high-signal TextContent and typed structuredContent, including customer-safe no-go messaging. For broad privacy questions, use certscore_get_scan_bundle first because it combines canonical findings, limitations, and pre-consent rows without redundant calls.
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | Pulse detail level. Defaults to summary for agent-friendly JSON. |
| format | string | – | Use json for structured agent work or markdown for conversational summaries. |
| scanId | string | yes | Stable CertScore scan ID. |
| Name | Type | Req | Description |
|---|---|---|---|
| error | – | yes | – |
| interpretationGuidance | object | yes | – |
| noGo | object | – | – |
| observationOnlyDisclaimer | string | yes | – |
| provenance | object | yes | – |
| recommendedNextAction | string | yes | – |
| recommendedNextTool | – | yes | – |
| reportUrl | string|null | – | – |
| resultDisposition | string | – | – |
| scanId | string | – | – |
| scan_id | string | – | – |
| scoreLabel | string | yes | – |
| type | string | – | – |
| value | string | – | – |
No examples provided.
certscore_get_report_evidence_page Get report evidence page ~446
For a focused question, use section=cmp, cms, consent, gpc, policy, tracking, transport, forms or accessibility. This returns selected retained report sections plus shared scan, score, findings and coverage context. CMP includes all 13 criteria with their assessment results and retained comparisons; CMS includes platform/version evidence and existing advisories. Policy also includes retained privacy-choice controls, unverified link candidates and notice passages; California-focused reports include their shared privacy section. detailedEvidence carries shared display wording, counts and cross-links; these audit rows are not additional findings. Use reviewFocus=gdpr_eprivacy or ccpa_cpra to match the corresponding web/PDF/Word view; omit it to retain the scan default. Preserve reviewFocus and section on cursor continuation; unselected or not-returned fields are not evidence of absence. Use workpaper=tracking separately for the starting-page tracking inventory, privacy choices/notices and GPC evidence, with JSON and CSV downloads. Never combine section and workpaper. The workpaper selector also applies to every continuation request. Otherwise retrieve scan report display content as paginated JSON, without internal diagnostic JSON downloads. The response also offers a single-file full JSON download; private JSON download links expire after five minutes and need no OAuth header; use pagination if your host blocks file downloads. Repeated display records use reportContentRef JSON Pointers. Includes evidence tables, full-site page and resource inventories, all retained additional-page form fields, form snapshot download references, and retained limitations. Snapshot images are downloaded separately from the returned URLs, with OAuth bearer authentication for workspace scans. Available on OAuth and Light. Start with scanId; follow pagination.nextCursor until complete. Pages share a snapshot; restart if it changes. Each entry has a JSON Pointer path and value; oversized str…
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | – |
| reviewFocus | string | – | – |
| scanId | string | yes | – |
| section | string | – | – |
| workpaper | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| coverage | object | yes | – |
| download | object | – | – |
| entries | array | yes | – |
| pagination | object | yes | – |
| reconstruction | string | yes | – |
| reportUrl | string | yes | – |
| reviewFocus | string | – | – |
| scanId | string | yes | – |
| section | string | – | – |
| selection | object | – | – |
| snapshot | string | yes | – |
| type | string | yes | – |
| version | number | yes | – |
| workpaper | string | – | – |
No examples provided.
certscore_get_scan Get CertScore scan ~50
Retrieve the API v2 public-safe scan resource, including completed-limited no-go disposition, reason-specific guidance, and timing when available.
| Name | Type | Req | Description |
|---|---|---|---|
| scanId | string | yes | Stable CertScore scan ID. |
| Name | Type | Req | Description |
|---|---|---|---|
| accessibilityAudit | – | – | – |
| completedAt | string|null | – | – |
| coverage | object | – | – |
| createdAt | string|null | – | – |
| disclaimer | string | – | – |
| domain | string | yes | – |
| formsSummary | – | – | – |
| gpcResponse | – | – | – |
| links | object | – | – |
| noGo | object | – | – |
| postAcceptObservation | – | – | – |
| postRefusalObservation | – | – | – |
| postureScores | object | – | – |
| privacyAuditEvidence | – | – | – |
| resultDisposition | string | – | – |
| riskLevel | string|null | – | – |
| scanFrom | string | – | – |
| scanId | string | yes | – |
| scanTimeSeconds | number|null | – | – |
| score | – | – | – |
| scoreExplanation | – | – | – |
| scoreStatus | string | – | – |
| scoreUpdatedAt | string|null | – | – |
| scoreVersion | string|null | – | – |
| startedAt | string|null | – | – |
| status | string | yes | – |
| type | string | yes | – |
| url | string|null | – | – |
No examples provided.
certscore_get_scan_bundle Get scan bundle ~330
Main answer for a completed or completed-limited scan: canonical findings, next steps, supporting evidence, score, date/region, coverage and report URL. An existing scanId is enough; no new scan is created. The evidence index describes response delivery, never evidence absence. Optional next actions lead to deeper report tables, tracking workpapers and JSON/CSV exports. Use detail=evidence for request examples and policy candidates, including scans with no findings; detail=full adds bounded retained context. Preserve returned/total counts and omission metadata. Accept/Reject execution succeeded means a completed click and bounded observation; succeeded_with_confirmation additionally verifies the consent decision. Retained after-click facts remain distinct from registered decisions. Absent or failed capture remains explicitly limited. Use canonical findings for scoring effects. A later missing finding does not prove a fix. Results are automated public-web observations, not legal advice, certification, or a compliance determination.
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | Response detail. Defaults to summary; evidence and full opt into heavier retained context. |
| maxBytes | integer | – | Requested serialized structured response budget in bytes. The full profile defaults to 50000. MCP Light defaults to and applies a transport-safe 25000-byte ceiling; larger Light requests are clamped… |
| maxFindings | integer | – | Maximum compact findings to return. Defaults to 5 for summary and 20 otherwise. |
| maxPreConsentRows | integer | – | Maximum compact pre-consent inventory rows to return. Defaults to 20. |
| scanId | string | yes | Stable CertScore scan ID. |
| Name | Type | Req | Description |
|---|---|---|---|
| accessibilityAudit | – | – | – |
| completedAt | string|null | yes | – |
| coverage | – | – | – |
| createdAt | string|null | yes | – |
| detail | string | yes | – |
| disclaimer | string|null | yes | – |
| domain | string | yes | – |
| error | – | yes | – |
| evidenceSummary | object | – | – |
| evidenceUrlTemplate | string | – | – |
| findings | array | yes | – |
| findingsMetadata | object | yes | – |
| formsSummary | – | – | – |
| fullReport | object | – | – |
| gpcResponse | – | – | – |
| interpretationGuidance | object | yes | – |
| links | object | – | – |
| mcpMetadata | object | yes | – |
| noGo | – | – | – |
| observationOnlyDisclaimer | string | yes | – |
| postAcceptObservation | – | – | – |
| postRefusalObservation | – | – | – |
| postureScores | object | – | – |
| preConsentCookiesTrackers | object | – | – |
| privacyAuditEvidence | – | – | – |
| privacyAuditSummary | object | – | – |
| provenance | object | yes | – |
| recommendedNextAction | string | yes | – |
| recommendedNextTool | – | yes | – |
| reportUrl | string|null | yes | – |
| resultDisposition | – | – | – |
| reviewNavigation | object | – | – |
| riskLevel | string|null | yes | – |
| scanFrom | – | yes | – |
| scanId | string | yes | – |
| scanTimeSeconds | number|null | yes | – |
| score | – | yes | – |
| scoreExplanation | – | – | – |
| scoreLabel | string | yes | – |
| scoreStatus | string | yes | – |
| scoreUpdatedAt | string|null | yes | – |
| scoreVersion | string|null | yes | – |
| startedAt | string|null | yes | – |
| status | string | yes | – |
| summary | object | – | – |
| timing | object | – | – |
| transportSecurity | – | yes | – |
| type | string | yes | – |
| url | string|null | yes | – |
No examples provided.
certscore_get_scan_status Get scan status ~104
Returns lifecycle status for a stable CertScore scanId. Active responses include phase, heartbeat, estimated progress, retryAfterSeconds, and sometimes a bounded preliminary preConsentPreview. Terminal responses include completion status, CertScore score and risk metadata when available, coverage, persisted execution region and timestamps, report URL, and a next-action field. Preliminary observations are distinct from completed findings.
| Name | Type | Req | Description |
|---|---|---|---|
| scanId | string | yes | Stable CertScore scan ID returned by certscore_scan_site. |
| Name | Type | Req | Description |
|---|---|---|---|
| accessibilityAudit | – | – | – |
| completedAt | string|null | – | – |
| coverage | – | – | – |
| createdAt | string|null | – | – |
| domain | string|null | – | – |
| error | – | yes | – |
| estimatedRemainingSeconds | – | – | – |
| formsSummary | – | – | – |
| gpcResponse | – | – | – |
| interpretationGuidance | object | yes | – |
| jobId | string | – | – |
| lastHeartbeatAt | string|null | – | – |
| lastUpdatedAt | string | – | – |
| links | object | – | – |
| noGo | object | – | – |
| observationOnlyDisclaimer | string | yes | – |
| phase | string | – | – |
| phaseStartedAt | string|null | – | – |
| postAcceptObservation | – | – | – |
| postRefusalObservation | – | – | – |
| postureScores | object | – | – |
| preConsentPreview | object | – | – |
| progressIsEstimate | boolean | – | – |
| progressPercent | integer | – | – |
| provenance | object | yes | – |
| recommendedNextAction | string | yes | – |
| recommendedNextTool | – | yes | – |
| reportUrl | string|null | – | – |
| resultDisposition | string | – | – |
| retryAfterSeconds | – | – | – |
| riskLevel | string|null | – | – |
| scanFrom | – | – | – |
| scanId | string|null | – | – |
| scanTimeSeconds | number|null | – | – |
| scan_id | string|null | – | – |
| score | – | – | – |
| scoreExplanation | – | – | – |
| scoreLabel | string | yes | – |
| scoreStatus | string | – | – |
| scoreUpdatedAt | string|null | – | – |
| scoreVersion | string|null | – | – |
| stalled | boolean | – | – |
| startedAt | string|null | – | – |
| status | string | – | – |
| type | string | – | – |
| url | string|null | – | – |
No examples provided.
certscore_list_findings List CertScore findings ~105
Focused follow-up: list bounded API v2 public-safe findings already projected by the canonical pipeline, with matching high-signal TextContent and typed structuredContent. For broad privacy questions, use certscore_get_scan_bundle first.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum findings to return. Defaults to 50; maximum 200. |
| offset | integer | – | Zero-based finding offset. Defaults to 0. |
| scanId | string | yes | Stable CertScore scan ID. |
| Name | Type | Req | Description |
|---|---|---|---|
| disclaimer | string | – | – |
| error | – | yes | – |
| findings | array | yes | – |
| interpretationGuidance | object | yes | – |
| links | – | – | – |
| observationOnlyDisclaimer | string | yes | – |
| pagination | object | – | – |
| provenance | object | yes | – |
| recommendedNextAction | string | yes | – |
| recommendedNextTool | – | yes | – |
| reportUrl | string|null | – | – |
| scanId | string | yes | – |
| scoreLabel | string | yes | – |
| type | string | yes | – |
No examples provided.
certscore_scan_site Scan site ~407
Use for a user-requested website launch review, vendor assessment, cookie/tracker inventory, consent/GPC investigation or privacy-policy review. A public URL or domain is enough. Creates a privacy scan or reuses an eligible recent completed scan; default freshness=latest saves new-scan quota. Use refresh only for an explicitly requested fresh scan or post-fix recheck. Retain scanId, poll certscore_get_scan_status only while active at retryAfterSeconds, then read certscore_get_scan_bundle. A preliminary preConsentPreview is not final findings or totals. Coverage includes pre-consent storage, trackers, consent and CMP signals, privacy-policy disclosures, transport security and GDPR/ePrivacy or CCPA/CPRA review signals. Results are automated observations, not legal advice, certification, or a compliance determination. https://certscore.ai/developers/mcp.
| Name | Type | Req | Description |
|---|---|---|---|
| freshness | string | – | Scan freshness policy. latest allows eligible recent completed-result reuse when available; refresh requests a new scan. Defaults to latest. |
| maxWaitSeconds | integer | – | Deprecated compatibility field; accepted but ignored. The bounded preliminary-preview wait is controlled by CertScore and never waits for scan completion. |
| scanFrom | string | – | Optional execution region for a newly queued scan: eu_de, eu_ie, california, or the service default when omitted. |
| taskContext | object | – | Optional caller-declared purpose and integration ID/version for usage research. Only include questionSummary when the user knowingly agrees to share a brief non-sensitive question for product improve… |
| url | string | yes | Public URL or domain to scan. |
| waitForCompletion | boolean | – | Deprecated compatibility field; accepted but ignored. certscore_scan_site never waits for a new scan to finish, though MCP Light may briefly wait within a bounded preview window for preliminary pre-c… |
| Name | Type | Req | Description |
|---|---|---|---|
| accessibilityAudit | – | – | – |
| completedAt | string|null | – | – |
| coverage | – | – | – |
| createdAt | string|null | – | – |
| demoSubstitution | object | – | – |
| domain | string|null | – | – |
| error | – | yes | – |
| formsSummary | – | – | – |
| gpcResponse | – | – | – |
| interpretationGuidance | object | yes | – |
| jobId | string | – | – |
| links | object | – | – |
| noGo | object | – | – |
| observationOnlyDisclaimer | string | yes | – |
| postAcceptObservation | – | – | – |
| postRefusalObservation | – | – | – |
| postureScores | object | – | – |
| preConsentPreview | object | – | – |
| provenance | object | yes | – |
| recommendedNextAction | string | yes | – |
| recommendedNextTool | – | yes | – |
| reportUrl | string|null | – | – |
| resultDisposition | string | – | – |
| riskLevel | string|null | – | – |
| scanFrom | string | – | – |
| scanId | string|null | – | – |
| scanTimeSeconds | number|null | – | – |
| score | – | – | – |
| scoreExplanation | – | – | – |
| scoreLabel | string | yes | – |
| scoreStatus | string | – | – |
| scoreUpdatedAt | string|null | – | – |
| scoreVersion | string|null | – | – |
| startedAt | string|null | – | – |
| status | – | yes | – |
| type | string | yes | – |
No examples provided.
How do I install the CertScore.ai MCP server?
CertScore.ai runs locally as an npm package, launched with npx -y @certscore/mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @certscore/mcp
claude mcp add ai-certscore-mcp -- npx -y @certscore/mcp
What is the CertScore.ai MCP server?
CertScore.ai is an MCP server listed in the public MCP registry as ai.certscore/mcp. MCP server for CertScore.ai public website risk-signal workflows. This page covers its npm package (@certscore/mcp).
Is the CertScore.ai MCP server safe to use?
CertScore.ai scores 73 out of 100 on VerifyMCP. We recorded 1 known advisory against it as of 7 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 CertScore.ai MCP server expose?
CertScore.ai exposes 14 tools: certscore_get_connection_status, certscore_scan_site, certscore_get_scan, certscore_get_scan_status, certscore_get_report, and 9 more. Their descriptions and schemas cost roughly 2,085 tokens of context every time the server is loaded.
Is the CertScore.ai MCP server still maintained?
CertScore.ai is still listed as active in the MCP registry. We last reached this channel on 7 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 CertScore.ai MCP server under?
CertScore.ai declares the proprietary licence, which is not on the OSI-approved list. Read the terms before using it at work, and note this covers the source only, not the cost of any service it calls.
What did VerifyMCP test on the CertScore.ai MCP server?
VerifyMCP ran 16 checks on CertScore.ai, covering Malware scan, Known CVEs, Install scripts, Dependency health and 12 more. Endpoint Security and Transport & Reachability do not apply to an npm package, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.