by w0h1v
MCP server for Shodan — search internet-connected devices, IP reconnaissance, DNS lookups, and CVE/CPE vulnerability intelligence. Works with Claude Code, Codex, Gemini CLI, and Claude Desktop.
# Add to your Claude Code skills
git clone https://github.com/w0h1v/mcp-shodanGuides for using mcp servers skills like mcp-shodan.
Last scanned: 6/5/2026
{
"issues": [
{
"type": "npm-audit",
"message": "@hono/node-server: @hono/node-server has authorization bypass for protected static paths via encoded slashes in Serve Static Middleware",
"severity": "high"
},
{
"type": "npm-audit",
"message": "axios: axios Requests Vulnerable To Possible SSRF and Credential Leakage via Absolute URL",
"severity": "high"
},
{
"type": "npm-audit",
"message": "express-rate-limit: express-rate-limit: IPv4-mapped IPv6 addresses bypass per-client rate limiting on servers with dual-stack network",
"severity": "high"
},
{
"type": "npm-audit",
"message": "fast-uri: fast-uri vulnerable to path traversal via percent-encoded dot segments",
"severity": "high"
},
{
"type": "npm-audit",
"message": "file-type: file-type affected by infinite loop in ASF parser on malformed input with zero-size sub-header",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "follow-redirects: follow-redirects leaks Custom Authentication Headers to Cross-Domain Redirect Targets",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "form-data: form-data uses unsafe random function in form-data for choosing boundary",
"severity": "critical"
},
{
"type": "npm-audit",
"message": "hono: Hono Vulnerable to Cookie Attribute Injection via Unsanitized domain and path in setCookie()",
"severity": "high"
},
{
"type": "npm-audit",
"message": "ip-address: ip-address has XSS in Address6 HTML-emitting methods",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "koa: Koa has Host Header Injection via ctx.hostname",
"severity": "high"
},
{
"type": "npm-audit",
"message": "path-to-regexp: path-to-regexp vulnerable to Denial of Service via sequential optional groups",
"severity": "high"
},
{
"type": "npm-audit",
"message": "qs: qs has a remotely triggerable DoS: qs.stringify crashes with TypeError on null/undefined entries in comma-format arrays when encodeValuesOnly is set",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "undici: Undici: Malicious WebSocket 64-bit length overflows parser and crashes the client",
"severity": "high"
}
],
"status": "FAILED",
"scannedAt": "2026-06-05T08:08:01.129Z",
"npmAuditRan": true,
"pipAuditRan": true
}See how mcp-shodan compares with popular alternatives.
mcp-shodan is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by w0h1v. MCP server for Shodan — search internet-connected devices, IP reconnaissance, DNS lookups, and CVE/CPE vulnerability intelligence. Works with Claude Code, Codex, Gemini CLI, and Claude Desktop. It has 178 GitHub stars.
mcp-shodan failed SkillsLLM's automated security scan, which flagged one or more high-severity issues. Review the Security Report section carefully before using it.
Clone the repository with "git clone https://github.com/w0h1v/mcp-shodan" and add it to your Claude Code skills directory (see the Installation section above).
mcp-shodan is primarily written in TypeScript. It is open-source under w0h1v on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh mcp-shodan against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
Requires a passing catalog security scan.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
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.
api_info shows the credits left on your plan.flowchart LR
A["AI agent<br/>(Claude, Codex, Gemini, VS Code)"] -->|"MCP over stdio or HTTP"| S["mcp-shodan"]
S -->|"validate input,<br/>HTTPS + API key"| SH["Shodan REST API"]
S -->|"HTTPS, no key"| C["Shodan CVEDB"]
SH -->|"JSON"| S
C -->|"JSON"| S
S -->|"structured JSON text"| A
Requirements: Node.js 20 or newer and a Shodan API key.
# Claude Code
claude mcp add --transport stdio --env SHODAN_API_KEY=your-key shodan -- npx -y @burtthecoder/mcp-shodan
# Codex CLI
codex mcp add shodan --env SHODAN_API_KEY=your-key -- npx -y @burtthecoder/mcp-shodan
# Gemini CLI
gemini mcp add -e SHODAN_API_KEY=your-key shodan npx -y @burtthecoder/mcp-shodan
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.
Eleven read-only tools. Full parameters are in the tool reference.
| Group | Tool | What it does |
|---|---|---|
| Network | ip_lookup |
Ports, products, CVEs, TLS, location and cloud for one IP, optionally with banner history |
shodan_search |
Search devices with Shodan query syntax, with paging and facet breakdowns | |
shodan_count |
Total matches and facet breakdowns for a query, without results (free) | |
domain_info |
Subdomains and DNS records for a domain | |
dns_lookup |
Resolve hostnames to IPs, in batch | |
reverse_dns_lookup |
Hostnames for IPs, in batch | |
| Vulnerabilities (CVEDB) | cve_lookup |
CVSS, EPSS, KEV, references and affected CPEs for one CVE |
cpe_lookup |
CPE 2.3 identifiers for a product name | |
cves_by_product |
CVEs for a product or CPE, filterable by KEV and date, sortable by EPSS | |
| Helpers | search_filters |
Valid search filter and facet names |
api_info |
Your plan and remaining query and scan credits |
[!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.
stdio is the default. Set MCP_TRANSPORT=httpStream to run a standalone HTTP service:
MCP_TRANSPORT=httpStream MCP_PORT=3000 SHODAN_API_KEY=your-key node build/index.js
docker build -t mcp-shodan .
docker run -p 127.0.0.1:3000:3000 -e SHODAN_API_KEY=your-key -e MCP_TRANSPORT=httpStream mcp-shodan
A health check is served at /health.
| Variable | Default | Description |
|---|---|---|
SHODAN_API_KEY |
(required) | Your Shodan API key |
MCP_TRANSPORT |
stdio |
stdio or httpStream |
MCP_HOST |
localhost |
Bind address (httpStream only). The Docker image sets 0.0.0.0 |
MCP_PORT |
3000 |
HTTP port (httpStream only) |
MCP_ENDPOINT |
/mcp |
HTTP endpoint path (httpStream only) |
[!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.
name[:count] lists, and CVE IDs must match CVE-YYYY-NNNN.api.shodan.io. CVEDB calls carry no key.Report vulnerabilities privately; see SECURITY.md.
curl "https://api.shodan.io/api-info?key=$SHODAN_API_KEY" shows your plan and credits.shodan_search: search filters need a membership or paid API plan. Run api_info to see your plan and credits.More in the troubleshooting guide.
git clone https://github.com/w0h1v/mcp-shodan && cd mcp-shodan
npm ci
npm test # build + unit tests, no key or network
npx fastmcp dev build/index.js # try tools interactively (needs SHODAN_API_KEY)
See CONTRIBUTING.md and the changelog.
MIT. See LICENSE.