snyk

agent scan

Built by snyk 1,996 stars

What is agent scan?

Security scanner for AI agents, MCP servers and agent skills.

How to use agent scan?

1. Install a compatible MCP client (like Claude Desktop). 2. Open your configuration settings. 3. Add agent scan using the following command: npx @modelcontextprotocol/agent-scan 4. Restart the client and verify the new tools are active.
🛡️ Scoped (Restricted)
npx @modelcontextprotocol/agent-scan --scope restricted
🔓 Unrestricted Access
npx @modelcontextprotocol/agent-scan

Key Features

Native MCP Protocol Support
Real-time Tool Activation & Execution
Verified High-performance Implementation
Secure Resource & Context Handling

Optimized Use Cases

Extending AI models with custom local capabilities
Automating system workflows via natural language
Connecting external data sources to LLM context windows

agent scan FAQ

Q

Is agent scan safe?

Yes, agent scan follows the standardized Model Context Protocol security patterns and only executes tools with explicit user-granted permissions.

Q

Is agent scan up to date?

agent scan is currently active in the registry with 1,996 stars on GitHub, indicating its reliability and community support.

Q

Are there any limits for agent scan?

Usage limits depend on the specific implementation of the MCP server and your system resources. Refer to the official documentation below for technical details.

Official Documentation

View on GitHub
<p align="center"> <h1 align="center"> Snyk Agent Scan </h1> </p> <p align="center"> Discover and scan agent components on your machine for prompt injections<br/> and vulnerabilities (including agents, MCP servers, skills). </p>

NEW Read our technical report on the emerging threats of the agent skill eco-system published together with Agent Scan 0.4, which adds support for scanning agent skills.

<p align="center"> <a href="https://pypi.python.org/pypi/snyk-agent-scan"><img src="https://img.shields.io/pypi/v/snyk-agent-scan.svg" alt="snyk-agent-scan"/></a> <a href="https://pypi.python.org/pypi/snyk-agent-scan"><img src="https://img.shields.io/pypi/l/snyk-agent-scan.svg" alt="snyk-agent-scan license"/></a> <a href="https://pypi.python.org/pypi/snyk-agent-scan"><img src="https://img.shields.io/pypi/pyversions/snyk-agent-scan.svg" alt="snyk-agent-scan python version requirements"/></a> </p> <div align="center"> <img width="1304" height="976" alt="agent-scan-pretty" src="https://github.com/user-attachments/assets/49c32115-703c-465f-bb09-1b6bae852253" /> </div> <br>

Agent Scan helps you keep an inventory of all your installed agent components (harnesses, MCP servers, and skills) and scans them for common threats like prompt injections, sensitive data handling, or malware payloads hidden in natural language. By default it focuses on MCP servers; add --skills to autodiscover and scan agent skills.

Highlights

Supported agents and capabilities

Agent Scan auto-discovers agents and their capabilities (MCP servers or skills) when their install paths exist. The table reflects well-known agent definitions.

  • : at least one path is defined for that capability.
  • : the agent is listed for that OS but has no paths for that capability.
  • : that agent is not included for that OS.
  • Skills columns apply when using --skills.
AgentmacOS MCPmacOS SkillsLinux MCPLinux SkillsWindows MCPWindows Skills
Windsurf
Cursor
VS Code
Claude Desktop
Claude Code
Gemini CLI
OpenClaw
Kiro
OpenCode
Antigravity
Codex
Amazon Q

Quick Start

To get started:

  1. Sign up at Snyk and get an API token from https://app.snyk.io/account (API Token → KEY → click to show).
  2. Set the token as an environment variable before running any scan:
    export SNYK_TOKEN=your-api-token-here
    
  3. Have uv installed on your system.

Scanning

To run a full scan of your machine (auto-discovers agents, MCP servers, skills), run:

uvx snyk-agent-scan@latest

This will scan for security vulnerabilities in MCP servers, tools, prompts, and resources. It will automatically discover a variety of agent configurations, including Claude Code/Desktop, Cursor, Gemini CLI, and Windsurf.

To also auto-discover and scan agent skills, pass the --skills flag:

uvx snyk-agent-scan@latest --skills

You can also scan particular MCP configuration files or skills:

# scan a specific mcp configuration
uvx snyk-agent-scan@latest ~/.vscode/mcp.json
# scan a single agent skill
uvx snyk-agent-scan@latest --skills ~/path/to/my/SKILL.md
# scan all claude skills
uvx snyk-agent-scan@latest --skills ~/.claude/skills

Example Run

Agent Scan security vulnerabilities demo

Scanner Capabilities

Agent Scan is a security scanning tool to both scan and inspect the supply chain of agent components on your machine. It scans for common security vulnerabilities like prompt injections, tool poisoning, toxic flows, or vulnerabilities in agent skills.

Agent Scan operates in two main modes which can be used jointly or separately:

  1. Scan Mode: The CLI command snyk-agent-scan scans the current machine for agents and agent components such as skills and MCP servers. Upon completion, it will output a comprehensive report for the user to review.

  2. Background Mode (MDM, Crowdstrike). Agent Scan scans the machine in regular intervals in the background, and reports the results to a Snyk Evo instance. This can be used by security teams to monitor the company-wide agent supply chain in a central location. To set this up, please contact us.

How It Works

Scanning

Agent Scan searches through your local agent's configuration files to find agents, skills, and MCP servers. For MCP, it connects to servers and retrieves tool descriptions.

It then validates the components, both with local checks and by invoking the Agent Scan API. For this, skills, agent applications, tool names, and descriptions are shared with Snyk. By using Agent Scan, you agree to the Snyk terms of use for Agent Scan.

A unique, persistent, and anonymous ID is assigned to your scans for analysis. You can opt out of sending this information using the --opt-out flag.

Agent Scan does not store or log any usage data, i.e. the contents and results of your MCP tool calls.

CLI Parameters

Agent Scan provides the following commands:

snyk-agent-scan - Security scanner for agents, MCP servers, and skills

Common Options

These options are available for all commands:

--storage-file FILE    Path to store scan results and scanner state (default: ~/.mcp-scan)
--base-url URL         Base URL for the verification server
--verbose              Enable detailed logging output
--print-errors         Show error details and tracebacks
--json                 Output results in JSON format instead of rich text

Commands

scan (default)

Scan MCP configurations for security vulnerabilities in tools, prompts, and resources.

snyk-agent-scan scan [CONFIG_FILE...]

Options:

--skills                          Also scan agent skills (default: off)
--checks-per-server NUM           Number of checks to perform on each server (default: 1)
--server-timeout SECONDS          Seconds to wait before timing out server connections (default: 10)
--suppress-mcpserver-io BOOL      Suppress stdout/stderr from MCP servers (default: True)

inspect

Print descriptions of tools, prompts, and resources without verification.

snyk-agent-scan inspect [CONFIG_FILE...]

Options:

--server-timeout SECONDS      Seconds to wait before timing out server connections (default: 10)
--suppress-mcpserver-io BOOL  Suppress stdout/stderr from MCP servers (default: True)

help

Display detailed help information and examples.

snyk-agent-scan help

Examples

# Scan all known MCP configs
snyk-agent-scan

# Scan all known MCP configs and agent skills
snyk-agent-scan --skills

# Scan a specific config file
snyk-agent-scan ~/custom/config.json

# Scan a specific skill file
snyk-agent-scan --skills ~/path/to/my/SKILL.md

# Scan a directory for skills
snyk-agent-scan --skills ~/.claude/skills

# Just inspect tools without verification
snyk-agent-scan inspect

Demo

This repository includes a vulnerable MCP server that can demonstrate Model Context Protocol security issues that Agent Scan finds.

How to demo MCP security issues?

  1. Clone this repository
  2. Create an mcp.json config file in the cloned git repository root directory with the following contents:
{
  "mcpServers": {
    "Demo MCP Server": {
      "type": "stdio",
      "command": "uv",
      "args": ["run", "mcp", "run", "demoserver/server.py"],
    },
  },
}
  1. Run Agent Scan: uvx --python 3.13 snyk-agent-scan@latest scan --full-toxic-flows mcp.json

Note: if you place the mcp.json configuration filepath elsewhere then adjust the args path inside the MCP server configuration to reflect the path to the MCP Server (demoserver/server.py) as well as the uvx command that runs Agent Scan with the correct filepath to mcp.json.

Agent Scan is closed to contributions

Agent Scan does not accept external contributions at this time.

We welcome suggestions, bug reports, or feature requests as GitHub issues.

Development Setup

To run Agent Scan from source, follow these steps:

uv run pip install -e .
uv run -m src.agent_scan.cli

Including Agent Scan results in your own project / registry

If you want to include Agent Scan results in your own project or registry, please reach out. There are designated APIs for this purpose. Using the standard Agent Scan API for large scale scanning is considered abuse and will result in your account being blocked.

Documentation

  • Scanning — How scanning works, CLI parameters, and usage examples.
  • Issue Codes — Reference for all security issues detected by Agent Scan.

Further Reading

Changelog

See CHANGELOG.md.

Global Ranking

-
Trust ScoreMCPHub Index

Based on codebase health & activity.

Manual Config

{ "mcpServers": { "agent-scan": { "command": "npx", "args": ["agent-scan"] } } }