Comprehensive security auditing through the Model Context Protocol
An MCP server that answers the critical question: “Is this software project viable to ship or adopt, given its code quality, dependency health, and security posture?”
This is a showcase repository. Source code is maintained privately.
┌─────────────────────────────────────────────────────────────────────┐
│ MCP Client (Claude) │
└─────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ Security Audit MCP Server │
│ ┌───────────────────────────────────────────────────────────────┐ │
│ │ Tool Layer │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │ │
│ │ │ detect │ │ scan │ │ scan │ │ evaluate │ │ │
│ │ │ _stack │ │ _secrets │ │ _deps │ │ _policy │ │ │
│ │ └──────────┘ └──────────┘ └──────────┘ └──────────────────┘ │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │ │
│ │ │ scan │ │ generate │ │ check │ │ full │ │ │
│ │ │ _code │ │ _sbom │ │ _supply │ │ _scan │ │ │
│ │ └──────────┘ └──────────┘ └──────────┘ └──────────────────┘ │ │
│ └───────────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌───────────────────────────────────────────────────────────────┐ │
│ │ Scanner Layer │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │ │
│ │ │ Gitleaks │ │ OSV │ │ Semgrep │ │ Bandit │ │ │
│ │ │ (secrets)│ │ Scanner │ │ (SAST) │ │ (Python SAST) │ │ │
│ │ └──────────┘ └──────────┘ └──────────┘ └──────────────────┘ │ │
│ │ ┌──────────────────┐ │ │
│ │ │ Syft │ │ │
│ │ │ (SBOM) │ │ │
│ │ └──────────────────┘ │ │
│ └───────────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌───────────────────────────────────────────────────────────────┐ │
│ │ Policy Engine │ │
│ │ ┌─────────────────────────────────────────────────────────┐ │ │
│ │ │ Gates (Hard Blockers) │ Scoring (Weighted) │ │ │
│ │ │ • no_secrets │ • secrets: 25% │ │ │
│ │ │ • no_kev_vulnerabilities │ • vulnerabilities: 35% │ │ │
│ │ │ • no_critical_cves │ • code_issues: 25% │ │ │
│ │ │ │ • supply_chain: 15% │ │ │
│ │ └─────────────────────────────────────────────────────────┘ │ │
│ └───────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌───────────────────────────────────────────────────────────────┐ │
│ │ Verdict Output │ │
│ │ GO │ CONDITIONAL │ NO-GO │ │
│ │ (≥80) │ (50-79) │ (<50 or gate fail) │ │
│ └───────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ Docker Container Layer │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ gitleaks │ │ osv- │ │ semgrep │ │ bandit │ │ syft │ │
│ │ │ │ scanner │ │ │ │ │ │ │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────────────────┘
The server automatically detects your project’s technology stack:
Project Analysis
│
▼
┌──────────────────┐ ┌──────────────────┐
│ Manifest Scan │────▶│ Stack Profile │
│ • pyproject.toml│ │ • Languages │
│ • package.json │ │ • Pkg Managers │
│ • requirements │ │ • Ecosystems │
└──────────────────┘ └──────────────────┘
│
▼
┌──────────────────┐
│ Scanner Selection│
│ • Applicable │
│ • Prioritized │
└──────────────────┘
Multiple scanners run in isolated Docker containers:
| Scanner | Purpose | Output |
|---|---|---|
| Gitleaks | Secret detection | Hardcoded credentials, API keys |
| OSV-Scanner | Dependency vulnerabilities | CVEs, OSV IDs, GHSA |
| Semgrep | Static analysis | Code security issues, CWE mapping |
| Bandit | Python SAST | Python-specific vulnerabilities |
| Syft | SBOM generation | CycloneDX components |
Findings are evaluated against configurable security policies:
Findings
│
┌───────────────┼───────────────┐
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ Gate │ │ Gate │ │ Gate │
│ Check 1 │ │ Check 2 │ │ Check 3 │
└────┬────┘ └────┬────┘ └────┬────┘
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────┐
│ Gate Results │
│ PASS / FAIL for each gate │
└─────────────────────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Score Calculation │
│ 100 - (weighted deductions) │
└─────────────────────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Verdict │
│ GO │ CONDITIONAL │ NO-GO │
└─────────────────────────────────────┘
Experience the Security Audit MCP Server capabilities:
| Demo | Description |
|---|---|
| Stack Detector | See how project analysis works |
| Secret Scanner | Explore secret detection patterns |
| Policy Evaluator | Configure gates and see verdicts |
| Full Audit | Complete security audit simulation |
| Language | Package Managers | Ecosystem |
|---|---|---|
| Python | pip, poetry, pipenv, uv | PyPI |
| JavaScript/Node.js | npm, yarn, pnpm | npm |
Vulnerability databases are cached locally, enabling:
All scanners run in isolated Docker containers:
All scanner outputs normalized to a single format:
┌─────────────────────────────────────────┐
│ Finding │
├─────────────────────────────────────────┤
│ • ID & Fingerprint (deduplication) │
│ • Type (secret/vuln/code_issue/supply) │
│ • Severity (critical/high/medium/low) │
│ • Location (file, line, column) │
│ • Identifiers (CVE, CWE, OSV, GHSA) │
│ • KEV status (actively exploited?) │
│ • Recommendation │
└─────────────────────────────────────────┘
Default gates that trigger NO-GO:
| Gate | Condition |
|---|---|
no_secrets |
Any hardcoded secret detected |
no_kev_vulnerabilities |
Any CISA KEV entry found |
no_critical_vulnerabilities |
Any critical severity CVE |
| Document | Description |
|---|---|
| Architecture | System design and components |
| Scanning Patterns | How scanners work together |
| Policy Engine | Gates, scoring, and verdicts |
| Use Cases | Real-world application scenarios |
Run comprehensive security audit before shipping:
Code Complete → Security Audit → Verdict → Release Decision
│
┌──────┴──────┐
│ NO-GO? │
│ Fix issues │
└─────────────┘
Evaluate third-party libraries before integration:
New Dependency → Audit Package → Review Findings → Adopt/Reject
Periodic audits during development:
Sprint Start → ... → Security Check → ... → Sprint End
│
Address findings
This showcase demonstrates the capabilities of the Security Audit MCP Server, a comprehensive security auditing solution for software projects.
Source code is maintained privately.