Sunglasses vs Snyk Agent Scan
Formerly mcp-scan. Finds the agents, MCP servers and skills installed on a machine and reports risk indicators. It uses a Snyk-hosted analysis API and a Snyk token.
Scans the text and files an agent is about to read, locally with no account. Its hook can deny an outbound tool call; its MCP proxy (Beta) can refuse a server’s tools until approved.
Different jobs, both open source, and they overlap on MCP tool descriptions. You can run both. A finding from either one is a lead, not a verdict.
Side by side
What each does today. The grey line under each row says where the facts come from: a command you can run for Sunglasses, a README section for Agent Scan, whose column is quoted or paraphrased from that README.
sunglasses scan --help lists the --channel values and --file, --dir, --repo. Their side: README, “Discover and scan agent components on your machine”.scan --repo clones with git (cli.py: git clone --depth 1).Their side: README, “Quick Start” and “Analysis and Validation”.SNYK_TOKEN.sunglasses pin starts your configured MCP servers to read their tool lists, and only with your consent (--yes for unattended runs).Our side: sunglasses pin --help. Their side: README, “Interactive Consent for MCP Servers”.--dangerously-run-mcp-servers skips the question.What each one is not
A machine-wide discovery tool. Its commands are scan, check, pin, init, install, doctor and a few others (sunglasses --help); none inventories every agent, skill and MCP server on a machine or scores them one by one. It has no hosted analysis service.
Described, in its own README, as a scanner of arbitrary text, files or tool results at runtime, or as a hook that denies a tool call. It describes scanning the components installed on a machine.
A final answer. A clean result from either one is a confidence floor, not proof that a server, skill or file is safe.
Use them together
Run Agent Scan to see what is installed and which MCP servers and skills it flags. Run Sunglasses at the boundary, on what the agent reads and sends, so the same agent is covered while it works.
Both tools start MCP servers to read their tool lists. Run either one inside a throwaway environment when the config is not yours.
When to pick which
you want a local decision on what the agent is about to read — a file, a web page, a tool result — with no account and no key, or a hook that denies a risky tool call.
you want an inventory of what is installed across your agents, with risk indicators per MCP server and skill, and a Snyk account is fine.
you want to know what is installed and also have the agent covered while it runs.
Sources and how to check
README of snyk/agent-scan, main at commit a69e1c354a (2026-10-28), fetched 2026-10-29. Repository license Apache-2.0 per GitHub.
PyPI snyk-agent-scan 0.6.9; mcp-scan 0.4.3 reads “This package has been renamed to snyk-agent-scan.” Acquisition: Snyk, June 24, 2025.
Installed version 0.6.14. Run pip install sunglasses==0.6.14, then sunglasses --help, sunglasses scan --help and sunglasses pin --help. The hook (0.4.0) and the MCP proxy (Beta, 0.6.0): CHANGELOG.
Agent Scan changes quickly. Tell us at [email protected] and we will correct this page.