← Back to directory
M

MCP Scanner

Official
Not a standard server
Scan MCP servers for potential threats & security findings.

This is not a typical connect-and-use MCP server; read the source repository before using it.

Category
Dev Tools #315 of 438
Stars
★ 1.1k Very popular
Transport
stdio (local process)
Runtime
Python 3.11+ · Docker
Credentials
Optional API key
License
Apache-2.0
Last commit
44FMRS · D

MCP Scanner is a comprehensive security scanning tool for MCP servers. It offers multiple analysis engines and rich features, but may require some configuration for full use.

Strongest · Documentation 15/20 Weakest · Reliability 4/20

Reliability
4/20
Security and permissions
7/20
Maintenance
8/20
Documentation
15/20
Setup experience
10/20
Why each score
Reliability 4/20
Evidence is limited to the README and repo metadata; no server manifest, source code, tests, or CI were supplied. The README documents a CLI/REST scanner rather than an MCP server and does not show the MCP init/tool-list handshake, declared tools matching real behavior, or controlled error paths. Deductions are for missing reproducible handshake/test evidence and thin error-handling coverage.
Security and permissions 7/20
No red-line issue such as malware, leaked real secrets, or covert exfiltration is visible, and the README states VirusTotal uploads default to false. However, source code is not in evidence, so credential handling, least privilege, data-flow boundaries when content is sent to Cisco/LLM/VirusTotal, and confirmation of side effects cannot be verified. Deduction for unverifiable permissions, confirmation, and scoping.
Maintenance 8/20
The repository is not archived, has an Apache-2.0 license, Cisco ownership, and still-open issues, and the README indicates PyPI distribution, suggesting ongoing activity. But commit history, release dates, CI status, dependency-update cadence, and a security-response channel are absent from the evidence, so sustained maintenance and version governance remain unverified; deducted accordingly.
Documentation 15/20
The README is extensive, covering installation, environment variables, CLI/SDK/API examples, output formats, logging controls, and a docs/ directory, which addresses many scenarios. However, it lacks a server manifest, an MCP server tool-parameter reference, mainstream MCP client configuration examples, and a clear limitations/troubleshooting section for the server role, so full marks are not justified.
Setup experience 10/20
Installation via Python 3.11+/uv is clearly documented with many quick-start examples and cross-platform notes. But there are no mainstream MCP client configuration examples for using this repository as an MCP server, and no CI/tests in evidence verify that the installed setup connects successfully. Static calibration caps this dimension at 15; the remaining manual/fragile aspects justify a score of 10.

Static review · not runListed 2026-08-07

Read the FMRS scoring method →

Fit and risk

What it can accessReads local filesRuns commands or codeUses the network

Best for

  • Security teams needing to ensure the security of MCP servers.
  • Developers checking for vulnerabilities in MCP servers before deployment.
  • Organizations looking to integrate security scanning into CI/CD pipelines.

Not for

  • People looking for an MCP server implementation or client.
  • Users needing real-time monitoring or active defense solutions.
  • Organizations with strict privacy requirements regarding commercial APIs or external services.

Required permissions

  • Requires access to Cisco AI Defense API key (optional).
  • Requires an LLM provider API key (optional, for LLM analyzer).
  • Requires a VirusTotal API key (optional, for malware scanning).

Risks and side effects

  • Relies on external API services, which may raise data privacy concerns.
  • Scanning may produce false positives or negatives.
  • Requires proper configuration of environment variables; otherwise, may fail to run.

Setup

Before you start

Runtime:Python 3.11+ · Docker

MCP_SCANNER_API_KEY optionalsecret Cisco AI Defense API key, only needed for the API analyzer; obtained from the Cisco AI Defense console.
MCP_SCANNER_LLM_API_KEY optionalsecret LLM provider API key (OpenAI/Bedrock etc.); still required (any value) for local LLMs.
VIRUSTOTAL_API_KEY optionalsecret VirusTotal API key for malware hash lookups; free tier available at virustotal.com.
Other optional settings (12)
MCP_SCANNER_ENDPOINT optional Cisco AI Defense inspect API base URL, defaults to the US regional endpoint.
MCP_SCANNER_LLM_MODEL optional Any LiteLLM-supported model name, e.g. gpt-5.2 or a Bedrock Claude model ID.
MCP_SCANNER_LLM_BASE_URL optional Custom LLM endpoint, needed for Azure OpenAI or Azure Foundry.
MCP_SCANNER_LLM_API_VERSION optional API version string for Azure OpenAI-style endpoints.
MCP_SCANNER_LLM_TIMEOUT optional LLM call timeout in seconds; use 300 for extended-thinking models.
MCP_SCANNER_LLM_ENDPOINT optional Endpoint for a local LLM such as Ollama or vLLM.
AWS_PROFILE optional AWS profile name for Bedrock access via AWS credentials.
AWS_REGION optional AWS region for Bedrock calls, e.g. us-east-1.
MCP_SCANNER_VIRUSTOTAL_ENABLED optional Set to false to disable VirusTotal scanning while keeping the API key (e.g. in CI).
MCP_SCANNER_VIRUSTOTAL_UPLOAD_FILES optional Whether to upload unknown files to VirusTotal; default false.
MCP_SCANNER_VT_MAX_FILES optional Max files scanned per directory, default 10; 0 for unlimited.
MCP_SCANNER_STDIO_TIMEOUT optional Stdio MCP server startup timeout in seconds, default 60; raise for servers with heavy dependencies.

Install using uv:

uv tool install --python 3.13 cisco-ai-mcp-scanner

Or install from source:

git clone https://github.com/cisco-ai-defense/mcp-scanner
cd mcp-scanner
uv sync --python 3.13

Check that it works

After installing, run `mcp-scanner --scan-known-configs --analyzers yara --format summary`; no API keys are needed, and a successful summary of servers found in well-known MCP client configs confirms the install works.

Troubleshooting

  1. Ensure Python 3.11+ and uv are installed.
  2. Check that environment variables are set correctly: MCP_SCANNER_API_KEY, MCP_SCANNER_LLM_API_KEY, etc.
  3. For remote servers, verify the server URL is accessible and authentication is configured correctly.

Use cases

Scan MCP servers' tools, prompts, resources, and instructions for security findings before deployment.
Scan offline JSON files in CI/CD pipelines for static security analysis.
Analyze MCP server source code for malicious behavior.
Scan PyPI or npm packages for hidden malicious behavior.

Overview

MCP Scanner is a Python tool designed to scan MCP (Model Context Protocol) servers and tools for potential security findings. It leverages three powerful scanning engines: YARA rules, LLM-as-a-judge, and Cisco AI Defense inspect API, which can be used together or independently. The scanner supports multiple modes including a CLI tool and a REST API server, and offers features such as multi-engine security analysis, vulnerable package scanning, readiness scanning, behavioral code scanning, VirusTotal binary malware scanning, PyPI package scanning, static/offline scanning, and more. It is suitable for developers and security teams looking to ensure the security of MCP servers.

Similar servers

Context7 80 · B

Upstash's official server providing up-to-date third-party library docs for AI coding assistants

★ 62.9k · Tools 2 Compare with this →

Source revision 5d147dc7e363 Data synced 2026-10-12 Read the FMRS scoring method