[MCP Shodan: network intelligence for AI agents. Internet reconnaissance, DNS intelligence and CVE analysis over the Model Context Protocol.]
[npm version]
[CI]
[License: MIT]
[Node 20 or newer]
[MCP Registry]
Quickstart ·
Tools ·
HTTP ·
Security ·
Troubleshooting ·
Docs
mcp-shodan is an MCP server that gives AI agents access to the Shodan API and Shodan CVEDB. Hand your agent an IP, hostname, search query, product or CVE and get back what an analyst would look at: open ports and banners, TLS certificates, DNS, and vulnerability severity with EPSS and KEV status.
[!NOTE]
Independent project, not affiliated with Shodan. You need your own Shodan API key.
Highlights
- Host reconnaissance. Open ports, products and versions, known CVEs, TLS certificate details (fingerprint, JARM, JA3S), cloud provider and banner history for any IPv4 or IPv6 address.
- Device search. Shodan query syntax with paging and facet breakdowns (country, org, port, vuln and more), plus a free count-only mode for sizing a query.
- Vulnerability intelligence. CVE details with CVSS v4/v3/v2, EPSS and KEV; CVEs by product or CPE, sortable by EPSS. CVEDB is free and doesn't spend query credits.
- DNS. Subdomains and DNS records for a domain, and forward and reverse lookups for many names or IPs in one call.
- Credit-aware. Free tools are marked as free, and
api_info shows the credits left on your plan.
- Two transports. stdio for desktop clients, HTTP streaming for a shared service.
- Tested. Unit tests with a mocked Shodan API run in CI on Node 20, 22 and 24.
How it works
Quickstart
Requirements: Node.js 20 or newer and a Shodan API key.
For Claude Desktop, VS Code and running from source, see Connect a client.
Then ask your agent: "What is exposed on 8.8.8.8, and is CVE-2021-44228 in the KEV catalog?" More prompts are in example workflows.
Tools
Eleven read-only tools. Full parameters are in the tool reference.
[!TIP]
Credits: filtered shodan_search queries cost one query credit (plus one per extra page) and domain_info costs one per call. shodan_count, ip_lookup, dns_lookup, reverse_dns_lookup, search_filters, api_info and the CVEDB tools are free.
HTTP streaming transport
stdio is the default. Set MCP_TRANSPORT=httpStream to run a standalone HTTP service:
A health check is served at /health.
Environment variables
Security
[!WARNING]
The HTTP transport has no authentication. Keep the port on localhost or behind an authenticating reverse proxy, or anyone who can reach it can spend your query credits.
- Tool arguments are validated with zod schemas before any request is built. IPs must be valid IPv4 or IPv6, domains valid hostnames, facets
name[:count] lists, and CVE IDs must match CVE-YYYY-NNNN.
- The API key is read from the environment and sent only to
api.shodan.io. CVEDB calls carry no key.
- What you look up is sent to Shodan.
Report vulnerabilities privately; see SECURITY.md.
Troubleshooting
- 401 / invalid key: check for spaces or quotes around the key, then restart the client.
curl "https://api.shodan.io/api-info?key=$SHODAN_API_KEY" shows your plan and credits.
- 403 on
shodan_search: search filters need a membership or paid API plan. Run api_info to see your plan and credits.
- 429: Shodan allows about one request per second. Retry after a moment.
More in the troubleshooting guide.
Development
See CONTRIBUTING.md and the changelog.
License
MIT. See LICENSE.