
Shodan
io.github.BurtTheCoderPublished by GitHub account BurtTheCoderv1.0.22Updated Oct 24, 2026
MCP server for Shodan API — device search, IP lookup, DNS, and CVE/CPE queries.
Overview
MCP server that gives an AI assistant read-only access to Shodan and Shodan CVEDB for host reconnaissance, device search, DNS and vulnerability lookups.
- What you can do
- Look up a single IPv4 or IPv6 host: open ports, products, CVEs, TLS certificates, location and cloud, optionally with banner history, and check remaining plan credits and valid search filters and facets. Search Shodan devices with query syntax, paging and facet breakdowns, or get match counts and facets only. Resolve DNS: subdomains and records for a domain, plus batch forward and reverse lookups. Query CVEDB: CVE details with CVSS, EPSS and KEV, CPE identifiers for a product, and CVEs by product or CPE sortable by EPSS.
- When to use it
- Useful when an assistant needs to assess what a host or domain exposes, size or run Shodan device searches, or pull vulnerability severity and exploitation context for a CVE or product during security research or triage.
- Requirements
- Runs locally over stdio via the npm package, needing Node.js 20 or newer. Requires your own Shodan API key supplied in the SHODAN_API_KEY environment variable, and network access to Shodan. An optional HTTP streaming mode is configured with MCP_TRANSPORT, MCP_HOST, MCP_PORT and MCP_ENDPOINT.
Installation
In SourceWeft
- Open Shodan in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
[npm version] [CI] [License: MIT] [Node 20 or newer] [MCP Registry] [Smithery]
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_infoshows 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, Smithery 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_searchqueries cost one query credit (plus one per extra page) anddomain_infocosts one per call.shodan_count,ip_lookup,dns_lookup,reverse_dns_lookup,search_filters,api_infoand 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 matchCVE-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. Runapi_infoto 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.
Source: README.md at commit 08bf8ee
Tools
0Version history
1- v1.0.22LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts