Install

Three ways. Pick yours.

Hosted on GitHub. Signed releases. Reproducible builds. The same binary that runs in our SaaS — no special sauce.

Package managers
macOS · Linux · Windows
$ brew install mcpscanner/tap/mcpscanner
> scoop install mcpscanner
  • Homebrew for macOS & Linux
  • Scoop for Windows (scoop bucket add mcpscanner …)
  • Auto-updates on every release
From source
Go 1.24+
$ git clone https://github.com/mcpscanner/cli
  • Apache 2.0 — fork it, audit it, ship it
  • Or one-liner: go install github.com/mcpscanner/cli@latest
  • Build / test instructions in the README
View on GitHub →
Usage

Built for CI. Friendly for humans.

JSON / SARIF output, configurable severity thresholds, exit codes for build gates. Use it however your pipeline wants.

~  mcpscanner v1.0.1
# Quick scan
$ mcpscanner scan https://mcp.example.com/mcp
▸ resolving https://mcp.example.com/mcp
✓ JSON-RPC 2.0 handshake
✓ 8 tools enumerated
✗ 3 critical · 4 high · 3 medium · 2 low
score: 45 / 100 · grade: F
# JSON output for CI
$ mcpscanner scan https://mcp.example.com/mcp --format json --output report.json
→ 12 findings written to report.json
# Standalone HTML report
$ mcpscanner scan https://mcp.example.com/mcp --format html --output report.html
# With auth token + interactive mode
$ mcpscanner scan --interactive --token "sk-your-token"
# Scan a Claude Desktop / Cursor config file
$ mcpscanner scan --config ~/.claude/claude_desktop_config.json
▸ parsing 3 MCP servers from config
✗ hardcoded secret OPENAI_API_KEY · unpinned npx version
# Internal IPs (disabled by default for safety)
$ mcpscanner scan http://192.168.1.100:8080/mcp --allow-internal
$
01

Same engine as the SaaS

Clean-room Go port of the scanner engine. Identical findings, identical scoring.

02

Three output formats

--format text for humans, json for CI, html for a standalone dark-themed report.

03

Self-protecting

SSRF guard, redirect block, 10 MB response cap, 500-tool cap. Refuses internal IPs unless you opt in.

04

Apache 2.0 source

Public on github.com/mcpscanner/cli. Fork it, audit it, contribute.

Reference

Output formats & flags.

Three formats, eight flags. Full reference in the README — the basics live here.

Output formats
FormatFlagWhat it's for
Text--format textHuman-readable terminal output (default)
JSON--format jsonStructured payload for CI / SIEM ingestion
HTML--format htmlStandalone dark-themed report you can email
Flags
FlagShortDefaultDescription
--format-ftextOutput format
--config-cScan a Claude Desktop / Cursor config file
--output-ostdoutWrite report to a file
--timeout-t60HTTP timeout in seconds
--tokenAuth token, sent as Bearer
--interactive-ifalsePrompt-driven scan flow
--no-progressfalseDisable live progress display
--allow-internalfalseAllow scanning private / loopback IPs
Open source & Apache 2.0. If the CLI helps you, a GitHub star goes a long way. ★ Star on GitHub
Stop wondering

Know what your MCP servers actually expose.

Get in touch hello@mcpscanner.dev
For bugs, please open an issue on GitHub.