Security Scanner MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Security Scanner MCP Server cross-validate the alpine:latest image"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Security Scanner MCP Server
Multi-engine container & system vulnerability scanning for AI agents. Wraps Trivy and Grype with cross-engine validation, SBOM generation, and IaC misconfiguration scanning.
Why This Exists
Most security MCP servers wrap a single scanner. This one wraps two — Trivy (Aqua Security) and Grype (Anchore) — and runs them against the same target to surface what each engine catches alone. Different vulnerability databases + different detection logic = broader coverage.
Key differentiator: No other MCP server offers multi-engine cross-validation.
Related MCP server: agentguard
Features
15 tools covering vulnerability scanning, SBOM generation, IaC checks, and database management
Cross-engine validation — run Trivy + Grype on the same image and see what each catches alone
MIT licensed — no AGPL encumbrance (unlike
@aikidosec/mcp)npm-native — install via
npx, works with Claude Desktop, Cursor, and any MCP clientNo cloud account required — runs locally against Docker daemon or filesystem
Quick Start
🚀 New here? See the Quick Start Guide — get scanning in under 5 minutes.
Prerequisites
Install at least one scanning engine:
# Trivy (recommended)
curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b /usr/local/bin
# Grype (for cross-validation)
curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b /usr/local/binClaude Desktop / Cursor
Add to your MCP configuration:
{
"mcpServers": {
"security-scanner": {
"command": "npx",
"args": ["-y", "@supernova123/security-scanner-mcp-server"]
}
}
}Standalone
npx @supernova123/security-scanner-mcp-serverTools
# | Tool | Engine | Description |
1 |
| Trivy | Scan Docker image for vulnerabilities |
2 |
| Grype | Same target via Grype (cross-validation) |
3 |
| Trivy | Detailed report with remediation |
4 |
| Trivy | Local dir/file vulnerability + misconfig scan |
5 |
| Grype | Cross-engine filesystem scan |
6 |
| Trivy | Remote git repo scan |
7 |
| Grype | Pull from registry directly (no Docker daemon) |
8 |
| Grype | Single Package URL vulnerability lookup |
9 |
| Trivy | Scan SBOM file for vulnerabilities |
10 |
| Trivy | Generate CycloneDX/SPDX SBOM |
11 |
| Trivy | IaC misconfiguration scan |
12 |
| Both | Run both engines, surface divergence |
13 |
| Grype | Check vulnerability DB status |
14 |
| Grype | Update vulnerability database |
15 |
| Both | Engine version + availability |
Cross-Validation Example
The cross_validate tool runs both Trivy and Grype on the same Docker image and compares results:
{
"combined_summary": {
"total_unique_cves": 47,
"critical": 2,
"high": 8,
"medium": 23,
"low": 14
},
"divergence": {
"only_in_trivy_count": 5,
"only_in_grype_count": 3,
"severity_mismatches": 2,
"only_in_trivy": ["CVE-2023-1234", ...],
"only_in_grype": ["CVE-2023-5678", ...]
},
"insight": "Cross-validation found 5 CVEs only in Trivy and 3 only in Grype. Using both engines gives broader coverage than either alone."
}Competitive Landscape
Package | Engine | License | Weekly Downloads |
| Cloud API | AGPL-3.0 | ~11,800 |
| Trivy + Semgrep | MIT | ~75 |
| Trivy + Grype | MIT | TBD |
| Trivy (Go plugin) | MIT | N/A (not npm) |
| Grype (Python) | Apache-2.0 | N/A (not npm) |
Development
git clone https://github.com/friendlygeorge/security-scanner-mcp-server.git
cd security-scanner-mcp-server
npm install
npm run build
npm testLicense
MIT — see LICENSE
Links
Available Tools
15 toolscross_validateARead-only
Scan a Docker image with BOTH Trivy and Grype, then compare results. Surfaces vulnerabilities found by only one engine (different databases = different coverage). This is the key differentiator — no other MCP server offers multi-engine cross-validation.
Inputs: image (required), tag, timeout, severity.
db_statusARead-only
Check the status of Grype's vulnerability database — last update time, database schema version, and whether an update is available.
Inputs: no named parameters.
generate_sbomARead-only
Generate a Software Bill of Materials (SBOM) for a Docker image in CycloneDX or SPDX format. The SBOM lists all packages and dependencies in the image.
Inputs: image (required), tag, format, output, +1 more.
get_versionARead-only
Get version information for installed security scanning engines (Trivy and/or Grype).
Inputs: no named parameters.
scan_configARead-only
Scan Infrastructure-as-Code files for misconfigurations and security issues. Supports Terraform, Dockerfile, Kubernetes manifests, CloudFormation, Helm charts, and more.
Inputs: path (required), timeout, scanners, severity.
scan_filesystemARead-only
Scan a local directory or file for vulnerabilities, misconfigurations, and secrets using Trivy. Supports Dockerfiles, Terraform, Kubernetes manifests, and application dependencies.
Inputs: path (required), timeout, scanners, severity, +1 more.
scan_filesystem_grypeARead-only
Scan a local directory or file for vulnerabilities using Grype. Cross-validates against Trivy filesystem scans.
Inputs: path (required), timeout, severity, only_fixed.
scan_imageARead-only
Scan a Docker image for known vulnerabilities using Trivy. Returns a summary of critical/high/medium/low vulnerabilities with package names and fix availability.
Inputs: image (required), tag, timeout, severity, +1 more.
scan_image_grypeARead-only
Scan a Docker image for vulnerabilities using Grype (Anchore's scanner). Provides cross-validation against Trivy results — different vulnerability database, different detection coverage.
Inputs: image (required), fail_on, timeout, severity, +1 more.
scan_purlARead-only
Look up known vulnerabilities for a specific package using its Package URL (PURL). Useful for checking if a specific dependency version is affected by any CVEs.
Inputs: purl (required), severity.
scan_remote_imageARead-only
Scan a container image directly from a remote registry using Grype. No Docker daemon required — pulls the image manifest and layers directly.
Inputs: image (required), timeout, platform, severity.
scan_repositoryBRead-only
Scan a git repository (local or remote URL) for vulnerabilities, misconfigurations, and secrets using Trivy.
Inputs: url (required), branch, timeout, scanners, +1 more.
scan_sbomARead-only
Scan a Software Bill of Materials (SBOM) file for known vulnerabilities. Accepts CycloneDX or SPDX format SBOMs.
Inputs: sbom_path (required), timeout, severity.
update_dbA
Update Grype's vulnerability database to the latest version. Recommended before scanning if the DB hasn't been updated recently.
Inputs: no named parameters.
vulnerability_reportARead-only
Generate a detailed vulnerability report for a Docker image with remediation recommendations (which packages to upgrade). More detailed than scan_image.
Inputs: image (required), tag, timeout, severity.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 15 tools
Most tools have clearly distinct purposes: scanning different targets (image, filesystem, repository, SBOM, PURL) and using different engines (Trivy, Grype, cross-validation). However, `scan_image` and `vulnerability_report` both scan Docker images with overlapping vulnerability output, and `db_status`/`update_db` are closely related, causing minor ambiguity.
The majority of tools follow a `verb_noun` pattern (e.g., `scan_image`, `generate_sbom`), with consistent use of the `scan_` prefix for scanning tools. However, `vulnerability_report` is a noun phrase, `cross_validate` is a verb without an object, and `db_status` is noun_noun, breaking the pattern slightly.
15 tools is well within the ideal 3-15 range, covering scanning, SBOM generation, database management, and reporting. Each tool serves a distinct purpose without being too numerous or too sparse for a security scanner server.
The tool set covers core security scanning operations for Docker images, filesystems, repositories, IaC configs, and SBOMs, with multi-engine support and cross-validation. Minor gaps include lack of running container scanning or direct CVE lookups beyond PURL, but the surface is largely complete for the domain.
Maintenance
Related MCP Connectors
Security scanner for AI-written code: SAST, secrets, dependencies, IaC, containers and DAST.
CVE lookups (NVD) and dependency-manifest audits (OSV) for AI agents. No API keys.
CVE lookups (NVD) and dependency-manifest audits (OSV) for AI agents. No API keys.
Scan packages and lockfiles (npm, PyPI, Go, Maven, Cargo, NuGet) for vulnerabilities and malware.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI agents to scan code for security vulnerabilities using multiple static analysis tools, with support for filtering, deduplication, and CI/CD integration.2744 PyPI4MIT
- AlicenseNot gradedqualityCmaintenanceProvides security checks for AI agents, including secret scanning, CVE lookup, and dependency vulnerability scanning, all running locally except for CVE lookups.MIT
- FlicenseNot gradedqualityBmaintenanceEnables users to run AI-assisted security reviews across bug hunting, application security, and infrastructure security by orchestrating tools such as Semgrep, CodeQL, Trivy, Gitleaks, OSV-Scanner, and OWASP ZAP. It produces local JSON and HTML reports with findings, evidence, and unperformed check status for further investigation.3-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to scan directories, container images, and SBOMs for vulnerabilities, look up individual CVEs, and refresh the local vulnerability database. Findings come back prioritized with concrete upgrade targets rather than raw scanner output.1Apache 2.0