Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

PCI DSS v4.0.1 Compliance Checker

OCI · GHCR.IO/SHYSHLAKOV/PCI-DSS-MCP:V0.7.1 · SCANNED SEP 20

PCI DSS v4.0.1 compliance scanner for Go payment services, delivered as an MCP server

+1 this week 52 Trust /100
Trust breakdown (7 categories)

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 Security0
  • Malware scan not yet available for this package.Unverified
  • Known CVEs could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 143 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability61
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 6595 tokens (~439/item across 15 items; 15 tools + 0 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 Management93
  • Stability observed for 28 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 15 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

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Install

How do I install the PCI DSS v4.0.1 Compliance Checker MCP server?

PCI DSS v4.0.1 Compliance Checker runs locally as a container image, launched with docker run --rm -i ghcr.io/shyshlakov/pci-dss-mcp:v0.7.1. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.

oci · ghcr.io/shyshlakov/pci-dss-mcp:v0.7.1

# add to Claude Code
claude mcp add shyshlakov-pci-dss-mcp -- docker run --rm -i ghcr.io/shyshlakov/pci-dss-mcp:v0.7.1
// .cursor/mcp.json
{
  "mcpServers": {
    "shyshlakov-pci-dss-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/shyshlakov/pci-dss-mcp:v0.7.1"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "shyshlakov-pci-dss-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/shyshlakov/pci-dss-mcp:v0.7.1"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add shyshlakov-pci-dss-mcp -- docker run --rm -i ghcr.io/shyshlakov/pci-dss-mcp:v0.7.1
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "shyshlakov-pci-dss-mcp": {
      "type": "local",
      "command": [
        "docker",
        "run",
        "--rm",
        "-i",
        "ghcr.io/shyshlakov/pci-dss-mcp:v0.7.1"
      ],
      "enabled": true
    }
  }
}
# ~/.hermes/config.yaml
mcp_servers:
  shyshlakov-pci-dss-mcp:
    command: "docker"
    args: ["run", "--rm", "-i", "ghcr.io/shyshlakov/pci-dss-mcp:v0.7.1"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "shyshlakov-pci-dss-mcp": {
      "Transport": "stdio",
      "Command": "docker",
      "Arguments": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/shyshlakov/pci-dss-mcp:v0.7.1"
      ]
    }
  }
}
// mcp.json
{
  "mcpServers": {
    "shyshlakov-pci-dss-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/shyshlakov/pci-dss-mcp:v0.7.1"
      ]
    }
  }
}
Changelog

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.

  • 20 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

  • 18 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 17 Sept 26 −3
    • Stability: pass → 0.83 functional
  • 16 Sept 26 +1
    • Stability: 0.97 → pass security
    • Security disclosure: unverified → pass functional
  • 15 Sept 26 0
    • Security disclosure: pass → unverified functional
  • 14 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

  • 13 Sept 26 +1
    • Security disclosure: unverified → pass functional
  • 12 Sept 26 0
    • Security disclosure: pass → unverified functional
Diagnostics

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 20 Sept 2026 · Analysed oci/ghcr.io/shyshlakov/pci-dss-mcp:v0.7.1

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem oci
Reason No attestation published

Background: How many MCP packages publish verified provenance →

MCP tools · 15 exposed · ~6,292 tokens

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 →

Tool Tokens
audit_log_coverage ~447

Scan Go source files for payment handlers missing structured audit logging (PCI DSS 10.2.1). Detects: missing logging, unstructured-only logging (fmt/log), and reports handlers with structured logging. Framework-aware: supports net/http, gin, echo handler signatures. Default: returns response_shape "summary" with by_severity counts, a capped by_rule histogram (top 10 + more_rules), and top 3 per severity findings - plus a pagination.next_cursor for drill-down. Prefer this for mixed queries; min_severity / rule_filter drop to response_shape "flat" but still carry summary.by_severity + summary.by_rule for full-scan context. Follow the cursor for the full paginated list. Use include_tests / exclude_patterns / min_severity / rule_filter for a filtered flat response.

NameTypeReqDescription
cursorstringOpaque cursor token from a prior audit_log_coverage response. When set resumes pagination from the stored session cache (10-minute TTL). Leave empty for a fresh scan.
exclude_patternsnull|arrayOptional glob patterns to exclude. Default: vendor/ generated/ *.pb.go testdata/ mocks/
include_testsbooleanInclude _test.go files in scan results. Default false excludes test files per industry SAST consensus
include_untrackedbooleanScan all files including .gitignored. Default false scans only git-tracked files
limitintegerMaximum number of findings to return per call. Default 0 (summary-first response with next_cursor). To fetch more findings than fit in one response, follow next_cursor; do NOT raise this value to fet…
min_severitystringFilter by minimum severity (CRITICAL/HIGH/MEDIUM/LOW/INFO). Setting this forces the flat response shape.
pathstringyesrequired,Path to the Go project directory to scan for missing audit logging in payment handlers
rule_filterstringFilter by rule ID, comma list or /regex/. Setting this forces the flat response shape.

Structured output declared, but exposes no named fields.

No examples provided.

check_auth_strength ~482

Scan Go source files for weak authentication: hardcoded passwords (PCI DSS 8.3.1), password policy with minimum length below 12 (PCI DSS 8.3.6), and payment routes missing MFA middleware (PCI DSS 8.4.2). Default: returns response_shape "summary" with by_severity counts, a capped by_rule histogram (top 10 + more_rules), and top 3 per severity findings - plus a pagination.next_cursor for drill-down. Prefer this for mixed queries; min_severity / rule_filter drop to response_shape "flat" but still carry summary.by_severity + summary.by_rule for full-scan context. Follow the cursor for the full paginated list. Use include_tests / exclude_patterns / min_severity / rule_filter for a filtered flat response. Maps findings to PCI DSS 8.3.1, 8.3.6, 8.4.2.

NameTypeReqDescription
cursorstringOpaque cursor token from a prior check_auth_strength response. When set resumes pagination from the stored session cache (10-minute TTL). Leave empty for a fresh scan.
exclude_patternsnull|arrayOptional glob patterns to exclude. Supports directory patterns (vendor/) and file globs (*.pb.go). Default: vendor/ generated/ *.pb.go testdata/ mocks/
include_testsbooleanInclude _test.go files in scan results. Default false excludes test files per industry SAST consensus
include_untrackedbooleanScan all files including .gitignored. Default false scans only git-tracked files
limitintegerMaximum number of findings to return per call. Default 0 (summary-first response with next_cursor). To fetch more findings than fit in one response, follow next_cursor; do NOT raise this value to fet…
min_severitystringFilter by minimum severity (CRITICAL/HIGH/MEDIUM/LOW/INFO). Setting this forces the flat response shape.
pathstringyesrequired,Path to the Go project directory to scan for authentication strength violations
rule_filterstringFilter by rule ID, comma list or /regex/. Setting this forces the flat response shape.

Structured output declared, but exposes no named fields.

No examples provided.

check_data_retention ~493

Scan Go source and config files for unsafe data retention: Redis/DB storage of CVV/PAN without TTL (PCI DSS 3.2.1), config files missing TTL on sensitive keys (PCI DSS 3.3.1), and incorrect memory zeroing timing after authorization. Scans .go, .yaml, .json, .toml files. Default: returns response_shape "summary" with by_severity counts, a capped by_rule histogram (top 10 + more_rules), and top 3 per severity findings - plus a pagination.next_cursor for drill-down. Prefer this for mixed queries; min_severity / rule_filter drop to response_shape "flat" but still carry summary.by_severity + summary.by_rule for full-scan context. Follow the cursor for the full paginated list. Use include_tests / exclude_patterns / min_severity / rule_filter for a filtered flat response. Maps findings to PCI DSS 3.2.1, 3.3.1.

NameTypeReqDescription
cursorstringOpaque cursor token from a prior check_data_retention response. When set resumes pagination from the stored session cache (10-minute TTL). Leave empty for a fresh scan.
exclude_patternsnull|arrayOptional glob patterns to exclude. Default: vendor/ generated/ *.pb.go testdata/ mocks/
include_testsbooleanInclude _test.go files in scan results. Default false excludes test files per industry SAST consensus
include_untrackedbooleanScan all files including .gitignored. Default false scans only git-tracked files
limitintegerMaximum number of findings to return per call. Default 0 (summary-first response with next_cursor). To fetch more findings than fit in one response, follow next_cursor; do NOT raise this value to fet…
min_severitystringFilter by minimum severity (CRITICAL/HIGH/MEDIUM/LOW/INFO). Setting this forces the flat response shape.
pathstringyesrequired,Path to scan for unsafe data retention patterns (Redis/DB without TTL, config missing TTL, memory zeroing timing)
rule_filterstringFilter by rule ID, comma list or /regex/. Setting this forces the flat response shape.

Structured output declared, but exposes no named fields.

No examples provided.

check_dependencies ~443

Scan go.mod dependencies for known vulnerabilities (PCI DSS 6.3.3). Bulk-downloads the public OSV Go vulnerability snapshot and intersects locally against go.mod, matching the govulncheck privacy model. No module names are sent to OSV.dev. Cache TTL: 24h fresh, 24h-7d revalidate via ETag, >7d force-refresh. Run update_vulnerability_db first to bootstrap the cache for air-gapped environments. Default: returns response_shape "summary" with by_severity counts, a capped by_rule histogram (top 10 + more_rules), and top 1 per severity findings - plus a pagination.next_cursor for drill-down. Prefer this for mixed queries; min_severity / rule_filter drop to response_shape "flat" but still carry summary.by_severity + summary.by_rule for full-scan context. Follow the cursor for the full paginated list. Use min_severity / rule_filter / positive limit for a filtered flat response. Maps findings to PCI DSS 6.3.3.

NameTypeReqDescription
cursorstringOpaque cursor token from a prior check_dependencies response. When set resumes pagination from the stored session cache (10-minute TTL). Leave empty for a fresh scan.
limitintegerMaximum number of findings to return per call. Default 0 (summary-first response with next_cursor). To fetch more findings than fit in one response, follow next_cursor; do NOT raise this value to fet…
min_severitystringFilter by minimum severity (CRITICAL/HIGH/MEDIUM/LOW/INFO). Setting this forces the flat response shape.
modestringScan mode: only 'auto' (default) is supported after v0.6.3. Empty value is treated as 'auto'.
pathstringyesrequired,Path to the project directory containing go.mod to scan for vulnerable dependencies
rule_filterstringFilter by rule ID, comma list or /regex/. Setting this forces the flat response shape.

Structured output declared, but exposes no named fields.

No examples provided.

check_encryption ~454

Scan Go source files for encryption violations: weak hash algorithms (md5/sha1) with context scoring, hardcoded encryption keys/IVs, and plain HTTP URLs. Default: returns response_shape "summary" with by_severity counts, a capped by_rule histogram (top 10 + more_rules), and top 3 per severity findings - plus a pagination.next_cursor for drill-down. Prefer this for mixed queries; min_severity / rule_filter drop to response_shape "flat" but still carry summary.by_severity + summary.by_rule for full-scan context. Follow the cursor for the full paginated list. Use include_tests / exclude_patterns / min_severity / rule_filter for a filtered flat response. Maps findings to PCI DSS 6.2.4, 4.2.1.

NameTypeReqDescription
cursorstringOpaque cursor token from a prior check_encryption response. When set resumes pagination from the stored session cache (10-minute TTL). Leave empty for a fresh scan.
exclude_patternsnull|arrayOptional glob patterns to exclude. Supports directory patterns (vendor/) and file globs (*.pb.go). Default: vendor/ generated/ *.pb.go testdata/ mocks/
include_testsbooleanInclude _test.go files in scan results. Default false excludes test files per industry SAST consensus
include_untrackedbooleanScan all files including .gitignored. Default false scans only git-tracked files
limitintegerMaximum number of findings to return per call. Default 0 (summary-first response with next_cursor). To fetch more findings than fit in one response, follow next_cursor; do NOT raise this value to fet…
min_severitystringFilter by minimum severity (CRITICAL/HIGH/MEDIUM/LOW/INFO). Setting this forces the flat response shape.
pathstringyesrequired,Path to the Go project directory to scan for encryption violations
rule_filterstringFilter by rule ID, comma list or /regex/. Setting this forces the flat response shape.

Structured output declared, but exposes no named fields.

No examples provided.

check_error_handling ~454

Scan Go source files for payment handler error disclosure: detects err.Error() in http.Error, fmt.Fprintf with error variables, w.Write with error bytes, and json.Encode of errors. Default: returns response_shape "summary" with by_severity counts, a capped by_rule histogram (top 10 + more_rules), and top 3 per severity findings - plus a pagination.next_cursor for drill-down. Prefer this for mixed queries; min_severity / rule_filter drop to response_shape "flat" but still carry summary.by_severity + summary.by_rule for full-scan context. Follow the cursor for the full paginated list. Use include_tests / exclude_patterns / min_severity / rule_filter for a filtered flat response. Maps findings to PCI DSS 6.2.4.

NameTypeReqDescription
cursorstringOpaque cursor token from a prior check_error_handling response. When set resumes pagination from the stored session cache (10-minute TTL). Leave empty for a fresh scan.
exclude_patternsnull|arrayOptional glob patterns to exclude. Supports directory patterns (vendor/) and file globs (*.pb.go). Default: vendor/ generated/ *.pb.go testdata/ mocks/
include_testsbooleanInclude _test.go files in scan results. Default false excludes test files per industry SAST consensus
include_untrackedbooleanScan all files including .gitignored. Default false scans only git-tracked files
limitintegerMaximum number of findings to return per call. Default 0 (summary-first response with next_cursor). To fetch more findings than fit in one response, follow next_cursor; do NOT raise this value to fet…
min_severitystringFilter by minimum severity (CRITICAL/HIGH/MEDIUM/LOW/INFO). Setting this forces the flat response shape.
pathstringyesrequired,Path to the Go project directory to scan for error handling violations in payment handlers
rule_filterstringFilter by rule ID, comma list or /regex/. Setting this forces the flat response shape.

Structured output declared, but exposes no named fields.

No examples provided.

check_payment_page_scripts ~511

Scan Go source files and HTML templates for payment page script security violations (PCI DSS 6.4.3, 11.6.1). Detects: missing Content-Security-Policy headers in Go payment handlers, unsafe-inline/unsafe-eval in CSP, external scripts without SRI (integrity attribute) in HTML templates, inline scripts without nonce attribute. Framework-aware: supports net/http, gin, echo handler signatures. Default: returns response_shape "summary" with by_severity counts, a capped by_rule histogram (top 10 + more_rules), and top 3 per severity findings - plus a pagination.next_cursor for drill-down. Prefer this for mixed queries; min_severity / rule_filter drop to response_shape "flat" but still carry summary.by_severity + summary.by_rule for full-scan context. Follow the cursor for the full paginated list. Use include_tests / exclude_patterns / min_severity / rule_filter for a filtered flat response. Maps findings to PCI DSS 6.4.3, 11.6.1.

NameTypeReqDescription
cursorstringOpaque cursor token from a prior check_payment_page_scripts response. When set resumes pagination from the stored session cache (10-minute TTL). Leave empty for a fresh scan.
exclude_patternsnull|arrayOptional glob patterns to exclude. Default: vendor/ generated/ *.pb.go testdata/ mocks/
include_testsbooleanInclude _test.go files in scan results. Default false excludes test files per industry SAST consensus
include_untrackedbooleanScan all files including .gitignored. Default false scans only git-tracked files
limitintegerMaximum number of findings to return per call. Default 0 (summary-first response with next_cursor). To fetch more findings than fit in one response, follow next_cursor; do NOT raise this value to fet…
min_severitystringFilter by minimum severity (CRITICAL/HIGH/MEDIUM/LOW/INFO). Setting this forces the flat response shape.
pathstringyesrequired,Path to the project directory to scan for payment page script security violations (CSP headers in Go handlers and SRI/nonce in HTML templates)
rule_filterstringFilter by rule ID, comma list or /regex/. Setting this forces the flat response shape.

Structured output declared, but exposes no named fields.

No examples provided.

check_secrets_in_configs ~462

Scan configuration files (.env, .yaml, .json, .toml) for hardcoded secrets: API keys, passwords, tokens, and connection strings with embedded credentials. Default: returns response_shape "summary" with by_severity counts, a capped by_rule histogram (top 10 + more_rules), and top 3 per severity findings - plus a pagination.next_cursor for drill-down. Prefer this for mixed queries; min_severity / rule_filter drop to response_shape "flat" but still carry summary.by_severity + summary.by_rule for full-scan context. Follow the cursor for the full paginated list. Use include_tests / exclude_patterns / min_severity / rule_filter for a filtered flat response. Maps findings to PCI DSS 8.6.2.

NameTypeReqDescription
cursorstringOpaque cursor token from a prior check_secrets_in_configs response. When set resumes pagination from the stored session cache (10-minute TTL). Leave empty for a fresh scan.
exclude_patternsnull|arrayOptional glob patterns to exclude. Supports directory patterns (vendor/) and file globs (*.env). Default: vendor/ generated/ *.pb.go testdata/ mocks/
include_testsbooleanInclude _test.go files in scan results. Default false excludes test files per industry SAST consensus
include_untrackedbooleanScan all files including .gitignored. Default false scans only git-tracked files
limitintegerMaximum number of findings to return per call. Default 0 (summary-first response with next_cursor). To fetch more findings than fit in one response, follow next_cursor; do NOT raise this value to fet…
min_severitystringFilter by minimum severity (CRITICAL/HIGH/MEDIUM/LOW/INFO). Setting this forces the flat response shape.
pathstringyesrequired,Path to the project directory to scan for hardcoded secrets in config files (.env .yaml .json .toml)
rule_filterstringFilter by rule ID, comma list or /regex/. Setting this forces the flat response shape.

Structured output declared, but exposes no named fields.

No examples provided.

check_tls_config ~456

Scan Go source files for TLS configuration violations: InsecureSkipVerify, weak MinVersion (below TLS 1.2), missing MinVersion, and prohibited cipher suites (RC4, 3DES, NULL). Default: returns response_shape "summary" with by_severity counts, a capped by_rule histogram (top 10 + more_rules), and top 3 per severity findings - plus a pagination.next_cursor for drill-down. Prefer this for mixed queries; min_severity / rule_filter drop to response_shape "flat" but still carry summary.by_severity + summary.by_rule for full-scan context. Follow the cursor for the full paginated list. Use include_tests / exclude_patterns / min_severity / rule_filter for a filtered flat response. Maps findings to PCI DSS 4.2.1.

NameTypeReqDescription
cursorstringOpaque cursor token from a prior check_tls_config response. When set resumes pagination from the stored session cache (10-minute TTL). Leave empty for a fresh scan.
exclude_patternsnull|arrayOptional glob patterns to exclude. Supports directory patterns (vendor/) and file globs (*.pb.go). Default: vendor/ generated/ *.pb.go testdata/ mocks/
include_testsbooleanInclude _test.go files in scan results. Default false excludes test files per industry SAST consensus
include_untrackedbooleanScan all files including .gitignored. Default false scans only git-tracked files
limitintegerMaximum number of findings to return per call. Default 0 (summary-first response with next_cursor). To fetch more findings than fit in one response, follow next_cursor; do NOT raise this value to fet…
min_severitystringFilter by minimum severity (CRITICAL/HIGH/MEDIUM/LOW/INFO). Setting this forces the flat response shape.
pathstringyesrequired,Path to the Go project directory to scan for TLS configuration violations
rule_filterstringFilter by rule ID, comma list or /regex/. Setting this forces the flat response shape.

Structured output declared, but exposes no named fields.

No examples provided.

explain_requirement ~67

Look up a PCI DSS v4.0.1 requirement by ID. Returns title, description, and testing procedure.

NameTypeReqDescription
requirement_idstringyesPCI DSS v4.0.1 requirement ID (e.g. 3.3.1 or 8.3.6)
NameTypeReqDescription
requirementnull|objectyesPCI DSS v4.0.1 requirement record (title, description, testing procedure, detectability, accuracy metadata)

No examples provided.

generate_compliance_report ~588

Raw PCI DSS v4.0.1 compliance report without AI triage — intended for CI gates, audit artifacts, and requirement-level pass/fail lists. For interactive "scan this project" prompts call triage_findings instead. Default unfiltered call returns a compact summary (metadata, totals, requirement_statuses, top 20 findings per severity, cursor for follow-up). Supply min_severity / rule_filter / limit to get a paged flat list (60 per page with cursor), or cursor=<token> to resume a prior session (10-minute TTL). min_severity / rule_filter drop the response to shape "flat" but still carry summary.by_severity + summary.by_rule for full-scan context. Taint analysis is ON by default; set include_taint=false for fast dev iteration.

NameTypeReqDescription
cursorstringOpaque cursor token from a prior response. When set, resumes pagination from the stored session cache (10-minute TTL). Leave empty for a fresh scan.
dep_scan_modestringDependency scanner mode: only 'auto' (default) is supported after v0.6.3. Empty value is treated as 'auto'.
include_taintnull|booleanEnable flow-based severity adjustment via go/packages type analysis. When true, panscanner downgrades PAN-KEYWORD and suppresses PAN-TYPE findings for transit-only CHD fields (request/response DTOs,…
include_testsbooleanInclude _test.go files in scan results. Default false excludes test files per industry SAST consensus
limitintegerMaximum number of findings to return per call. Default 0 (summary-first response with next_cursor). To fetch more findings than fit in one response, follow next_cursor; do NOT raise this value to fet…
min_severitystringFilter findings by minimum severity. One of CRITICAL / HIGH / MEDIUM / LOW / INFO (case-insensitive). Default: no severity filter. Useful for AI clients that only need HIGH-or-above results.
pathstringyesPath to the Go project to scan for PCI DSS compliance. If empty, uses current directory (.)
rule_filterstringFilter findings by rule ID. Comma-separated list for exact match (e.g. PAN-KEYWORD,PAN-TYPE) OR a single regex in leading/trailing slashes (e.g. /PAN-.*/). Default: no rule filter.

Structured output declared, but exposes no named fields.

No examples provided.

generate_sbom ~330

Generate a CycloneDX v1.6 SBOM for a Go project. Default behavior: writes sbom.json (or sbom.xml when format=xml) next to the scanned go.mod and returns metadata only (output_path, size_bytes, component_count, unknown_licenses). Override the destination with output_path (must be absolute). Pass inline=true to return the serialized SBOM in the MCP response instead (capped at 64 KB; returns SBOM_TOO_LARGE above that). Parses go.mod + go.sum offline against the local GOMODCACHE; cache-miss modules surface as UNKNOWN-LICENSE. Satisfies PCI DSS 6.3.2 (software inventory, mandatory since March 2025).

NameTypeReqDescription
fixed_serialstringOverride generated serialNumber. Accepts bare UUID v4 or urn:uuid: form. Use for VEX linking and audit pipeline reproducibility.
formatstringOutput format: json (default) or xml
inlinebooleanIf true, return serialized SBOM inline in the response (64 KB cap, SBOM_TOO_LARGE on overflow). Default: false, write to file and return metadata only.
no_timestampbooleanIf true, omit metadata.timestamp for reproducible builds.
output_pathstringAbsolute path where the SBOM file should be written. Default: {path}/sbom.json or {path}/sbom.xml. Ignored when inline=true.
pathstringyesrequired,Absolute path to the Go project directory containing go.mod (and go.sum)
NameTypeReqDescription
bom_formatstringyes
component_countintegeryes
fixed_serialstringOverride generated serialNumber (urn:uuid: or bare 36-char form)
formatstringyes
generated_atstringyesRFC3339 UTC
modestringyes
no_timestampbooleanOmit metadata.timestamp for reproducible builds
output_pathstring
project_pathstringyesAbsolute scanned path
serialized_bomstring
size_bytesinteger
spec_versionstringyes
unknown_licensesinteger

No examples provided.

scan_pan_data ~481

Default: returns response_shape "summary" with by_severity counts, a capped by_rule histogram (top 10 + more_rules), and top 3 per severity findings - plus a pagination.next_cursor for drill-down. Prefer this for mixed queries; min_severity / rule_filter drop to response_shape "flat" but still carry summary.by_severity + summary.by_rule for full-scan context. Follow the cursor for the full paginated list. Use include_tests / exclude_patterns for a filtered flat response. Maps findings to PCI DSS 3.3.1, 3.4.1, 3.5.1.

NameTypeReqDescription
cursorstringOpaque cursor token from a prior scan_pan_data response. When set resumes pagination from the stored session cache (10-minute TTL). Leave empty for a fresh scan.
exclude_patternsnull|arrayOptional glob patterns to exclude. Supports directory patterns (vendor/) and file globs (*.pb.go). Default: vendor/ generated/ *.pb.go testdata/ mocks/
include_taintbooleanEnable flow-based severity adjustment using go/packages type analysis. When true PAN-KEYWORD/PAN-TYPE findings on transit-only struct fields are downgraded or suppressed. Adds 5-30 seconds. Default f…
include_testsbooleanInclude _test.go files in scan results. Default false excludes test files per industry SAST consensus
include_untrackedbooleanScan all files including .gitignored. Default false scans only git-tracked files
limitintegerMaximum number of findings to return per call. Default 0 (summary-first response with next_cursor). To fetch more findings than fit in one response, follow next_cursor; do NOT raise this value to fet…
min_severitystringFilter by minimum severity (CRITICAL/HIGH/MEDIUM/LOW/INFO). Setting this forces the flat response shape.
pathstringyesrequired,Path to the Go project directory to scan for PAN/CVV data exposure
rule_filterstringFilter by rule ID, comma list or /regex/. Setting this forces the flat response shape.

Structured output declared, but exposes no named fields.

No examples provided.

triage_findings ~513

Run all PCI DSS v4.0.1 scanners + AI-assisted prioritization + file:line enrichment on a Go project in a single call. Default: response_shape "summary" with by_severity counts, a capped by_rule histogram (top 10 + more_rules), and top 1 per severity enriched finding, plus pagination.next_cursor for drill-down. min_severity / rule_filter drop the response to shape "flat" but still carry summary.by_severity + summary.by_rule for full-scan context. Follow the cursor for the full paginated list.

NameTypeReqDescription
cursorstringOpaque cursor token from a prior triage_findings response. When set, resumes pagination from the stored session cache (10-minute TTL). Leave empty for a fresh scan.
dep_scan_modestringDependency scanner mode: only 'auto' (default) is supported after v0.6.3. Empty value is treated as 'auto'.
include_taintnull|booleanEnable flow-based severity adjustment via go/packages type analysis. When true, panscanner downgrades PAN-KEYWORD and suppresses PAN-TYPE findings for transit-only CHD fields. Adds 5-30 seconds to sc…
include_testsbooleanInclude _test.go files in scan results. Default false
limitintegerMaximum number of findings to enrich per call. Default 0 (summary-first response with next_cursor). To fetch more findings than fit in one response, follow next_cursor; do NOT raise this value to fet…
min_severitystringFilter findings by minimum severity. One of CRITICAL / HIGH / MEDIUM / LOW / INFO (case-insensitive). Default: no severity filter. Applied BEFORE enrichment to save context-collection cost.
pathstringyesPath to the Go project to triage. If empty, uses current directory (.)
rule_filterstringFilter findings by rule ID. Comma-separated list for exact match (e.g. PAN-KEYWORD,PAN-TYPE) OR a single regex in leading/trailing slashes (e.g. /PAN-.*/). Default: no rule filter.

Structured output declared, but exposes no named fields.

No examples provided.

update_vulnerability_db ~111

Download fresh OSV Go vulnerability snapshot to local cache for offline scanning. Downloads from gs://osv-vulnerabilities/Go/all.zip (~7.5MB). This is the ONLY tool that makes network requests. Cache stored at PCI_MCP_CACHE_DIR or ~/.pci-dss-mcp/vuln-cache/ by default.

NameTypeReqDescription
output_pathstringOptional path to save the vulnerability cache. Default: ~/.pci-dss-mcp/vuln-cache/go-osv-{date}.json
NameTypeReqDescription
cache_pathstringyesAbsolute path to the refreshed OSV cache file
custom_pathbooleanTrue when the caller supplied a non-default output_path
download_size_bytesintegeryesRaw download size in bytes
previous_cache_datestringDate of the previous cache (YYYY-MM-DD), empty when no prior cache existed
vuln_countintegeryesNumber of vulnerabilities indexed in the new cache

No examples provided.

Common questions

What is the PCI DSS v4.0.1 Compliance Checker MCP server?

PCI DSS v4.0.1 Compliance Checker is an MCP server listed in the public MCP registry as io.github.shyshlakov/pci-dss-mcp. PCI DSS v4.0.1 compliance scanner for Go payment services, delivered as an MCP server. This page covers its container image (ghcr.io/shyshlakov/pci-dss-mcp:v0.7.1).

Is the PCI DSS v4.0.1 Compliance Checker MCP server safe to use?

PCI DSS v4.0.1 Compliance Checker scores 52 out of 100 on VerifyMCP. 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 PCI DSS v4.0.1 Compliance Checker MCP server expose?

PCI DSS v4.0.1 Compliance Checker exposes 15 tools: audit_log_coverage, check_auth_strength, check_data_retention, check_dependencies, check_encryption, and 10 more. Their descriptions and schemas cost roughly 6,292 tokens of context every time the server is loaded.

Is the PCI DSS v4.0.1 Compliance Checker MCP server still maintained?

PCI DSS v4.0.1 Compliance Checker is still listed as active in the MCP registry. We last reached this channel on 20 September 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 PCI DSS v4.0.1 Compliance Checker MCP server under?

PCI DSS v4.0.1 Compliance Checker declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.