PCI DSS v4.0.1 compliance scanner for Go payment services, delivered as an MCP server
io.github.shyshlakov/pci-dss-mcp MCP Server
This MCP server performs static analysis for PCI DSS v4.0.1 compliance in Go payment service codebases. It detects PCI DSS violations and maps each finding to the corresponding PCI DSS requirement number before code ships.
🛠️ Key Features
Static analysis MCP server for Go payment service codebases
PCI DSS v4.0.1 violation detection
Mapping of each detected violation to a specific requirement number
🚀 Use Cases
Pre-merge or pre-release scanning of Go payment services for PCI DSS v4.0.1 compliance
Requirement-level tracking of compliance issues in code
⚡ Developer Benefits
Produces PCI DSS v4.0.1 findings aligned to requirement numbers
Supports shipping gates by tying violations to specific PCI DSS requirements
⚠️ Limitations
Focused on Go payment service codebases and PCI DSS v4.0.1
Described only for static analysis (no runtime assessment details provided)
Static analysis MCP server for Go payment service codebases. Every detected PCI DSS v4.0.1 violation in a Go payment service codebase is mapped to the specific requirement number before the code ships.
pci-dss-mcp is a stdio MCP server that runs 12 scanners, an orchestrator, and an AI triage engine over a Go payment service codebase. Each finding carries a requirement_id mapped to a specific PCI DSS v4.0.1 line item; see docs/requirement-mapping.md for the canonical rule-to-requirement table and testdata/vulnerable-payment-service/EXPECTED-FINDINGS.md for live golden output.
What pci-dss-mcp catches today
HTTP framework input flow into log / error / panic sinks. Tier 1 frameworks (gin, chi, gorilla/mux, net/http (Go 1.22+), echo v4, fiber v2) and Tier 1 loggers (log/slog, logrus, zap, zerolog, logr, klog, hclog) ship in v0.7. Tier 2 (kratos, apex/log, charmbracelet/log) lands in v0.8. Tier 3 (fasthttp, beego, iris, httprouter, project-internal) is user-configurable via Phase 25 YAML once shipped. See docs/http_input_taint.md.
What pci-dss-mcp is NOT
Not a replacement for broad SAST. Use Semgrep, CodeQL, or gosec for OWASP Top-10 and language-agnostic vulnerabilities.
Not a replacement for LLM-based code review. pci-dss-mcp maps payment-specific issues to PCI DSS requirement IDs; LLM agents catch broad bugs via reasoning. The two layers compose.
Not Go-agnostic. Go-specific AST patterns and taint flow tracing are what make the precision possible.
Not a QSA replacement. Static analysis covers ~6% of PCI DSS v4.0.1 requirements. A Qualified Security Assessor must sign off on the rest.
Install
Go install (primary)
Requires Go 1.25+:
bash
go install github.com/shyshlakov/pci-dss-mcp@latest
The binary lands at $(go env GOPATH)/bin/pci-dss-mcp. See docs/install-from-source.md for PATH resolution, the macOS codesign provenance fix, cosign verification, and the MCP client JSON config.
Docker (alternative)
bash
docker pull ghcr.io/shyshlakov/pci-dss-mcp:v0.6.2
Useful for CI pipelines, QSA auditors who do not develop Go locally, or any environment without a host Go toolchain.
src= and dst= mirror the same absolute path so the container sees your code at the same path your host uses; prompts pass the normal host path with no translation. For the go install variant and per-client examples, see docs/usage.md.
Two prompts to paste into your MCP client:
Run pci-dss-mcp triage on /Users/you/payments-service. Use min_severity=MEDIUM and group findings by PCI DSS requirement.
Generate a PCI DSS compliance report for /Users/you/payments-service in JSON format. Show requirement-level pass/fail status and severity counts.
Tools
Tool
Purpose
Docs
triage_findings
All scanners + AI classification + file:line context in one call
Vulnerable Go dependencies via OSV (6.3.3); govulncheck-style privacy: no module names sent to OSV.dev. See docs/check_dependencies.md. Also covers update_vulnerability_db.
pci-dss-mcp is a static analysis tool. It cannot replace a Qualified Security Assessor. Use its output as input to your compliance process, not as the compliance itself.