Shodan MCP Server
Query Shodan network intelligence and CVEDB via standardized MCP integration.
Key Features
Use Cases
README
Shodan MCP Server
A Model Context Protocol (MCP) server for querying the Shodan API and Shodan CVEDB. This server provides comprehensive access to Shodan's network intelligence and security services, including IP reconnaissance, DNS operations, vulnerability tracking, and device discovery. All tools provide structured, formatted output for easy analysis and integration.
Quick Start (Recommended)
Installing via Smithery
To install Shodan Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @burtthecoder/mcp-shodan --client claude
Installing Manually
- Install the server globally via npm:
npm install -g @burtthecoder/mcp-shodan
- Add to your Claude Desktop configuration file:
{
"mcpServers": {
"shodan": {
"command": "mcp-shodan",
"env": {
"SHODAN_API_KEY": "your-shodan-api-key"
}
}
}
}
Configuration file location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Restart Claude Desktop
Alternative Setup (From Source)
If you prefer to run from source or need to modify the code:
- Clone and build:
git clone https://github.com/BurtTheCoder/mcp-shodan.git
cd mcp-shodan
npm install
npm run build
- Add to your Claude Desktop configuration:
{
"mcpServers": {
"shodan": {
"command": "node",
"args": ["/absolute/path/to/mcp-shodan/build/index.js"],
"env": {
"SHODAN_API_KEY": "your-shodan-api-key"
}
}
}
}
Features
- Network Reconnaissance: Query detailed information about IP addresses, including open ports, services, and vulnerabilities
- DNS Operations: Forward and reverse DNS lookups for domains and IP addresses
- Vulnerability Intelligence: Access to Shodan's CVEDB for detailed vulnerability information, CPE lookups, and product-specific CVE tracking
- Device Discovery: Search Shodan's database of internet-connected devices with advanced filtering
Tools
1. IP Lookup Tool
- Name:
ip_lookup - Description: Retrieve comprehensive information about an IP address, including geolocation, open ports, running services, SSL certificates, hostnames, and cloud provider details if available
- Parameters:
ip(required): IP address to lookup
- Returns:
- IP Information (address, organization, ISP, ASN)
- Location (country, city, coordinates)
- Services (ports, protocols, banners)
- Cloud Provider details (if available)
- Associated hostnames and domains
- Tags
2. Shodan Search Tool
- Name:
shodan_search - Description: Search Shodan's database of internet-connected devices
- Parameters:
query(required): Shodan search querymax_results(optional, default: 10): Number of results to return
- Returns:
- Search summary with total results
- Country-based distribution statistics
- Detailed device information including:
- Basic information (IP, organization, ISP)
- Location data
- Service details
- Web server information
- Associated hostnames and domains
3. CVE Lookup Tool
- Name:
cve_lookup - Description: Query detailed vulnerability information from Shodan's CVEDB
- Parameters:
cve(required): CVE identifier in format CVE-YYYY-NNNNN (e.g., CVE-2021-44228)
- Returns:
- Basic Information (ID, published date, summary)
- Severity Scores:
- CVSS v2 and v3 with severity levels
- EPSS probability and ranking
- Impact Assessment:
- KEV status
- Proposed mitigations
- Ransomware associations
- Affected products (CPEs)
- References
4. DNS Lookup Tool
- Name:
dns_lookup - Description: Resolve domain names to IP addresses using Shodan's DNS service
- Parameters:
hostnames(required): Array of hostnames to resolve
- Returns:
- DNS resolutions mapping hostnames to IPs
- Summary of total lookups and queried hostnames
5. Reverse DNS Lookup Tool
- Name:
reverse_dns_lookup - Description: Perform reverse DNS lookups to find hostnames associated with IP addresses
- Parameters:
ips(required): Array of IP addresses to lookup
- Returns:
- Reverse DNS resolutions mapping IPs to hostnames
- Summary of total lookups and results
6. CPE Lookup Tool
- Name:
cpe_lookup - Description: Search for Common Platform Enumeration (CPE) entries by product name
- Parameters:
product(required): Name of the product to search forcount(optional, default: false): If true, returns only the count of matching CPEsskip(optional, default: 0): Number of CPEs to skip (for pagination)limit(optional, default: 1000): Maximum number of CPEs to return
- Returns:
- When count is true: Total number of matching CPEs
- When count is false: List of CPEs with pagination details
7. CVEs by Product Tool
- Name:
cves_by_product - Description: Search for vulnerabilities affecting specific products or CPEs
- Parameters:
cpe23(optional): CPE 2.3 identifier (format: cpe:2.3:part:vendor:product:version)product(optional): Name of the product to search for CVEscount(optional, default: false): If true, returns only the count of matching CVEsis_kev(optional, default: false): If true, returns only CVEs with KEV flag setsort_by_epss(optional, default: false): If true, sorts CVEs by EPSS scoreskip(optional, default: 0): Number of CVEs to skip (for pagination)limit(optional, default: 1000): Maximum number of CVEs to returnstart_date(optional): Start date for filtering CVEs (format: YYYY-MM-DDTHH:MM:SS)end_date(optional): End date for filtering CVEs (format: YYYY-MM-DDTHH:MM:SS)
- Notes:
- Must provide either cpe23 or product, but not both
- Date filtering uses published time of CVEs
- Returns:
- Query information
- Results summary with pagination details
- Detailed vulnerability information including:
- Basic information
- Severity scores
- Impact assessments
- References
Requirements
- Node.js (v18 or later)
- A valid Shodan API Key
Troubleshooting
API Key Issues
If you see API key related errors (e.g., "Request failed with status code 401"):
-
Verify your API key:
- Must be a valid Shodan API key from your account settings
- Ensure the key has sufficient credits/permissions for the operation
- Check for extra spaces or quotes around the key in the configuration
- Verify the key is correctly set in the SHODAN_API_KEY environment variable
-
Common Error Codes:
- 401 Unauthorized: Invalid API key or missing authentication
- 402 Payment Required: Out of query credits
- 429 Too Many Requests: Rate limit exceeded
-
Configuration Steps: a. Get your API key from Shodan Account b. Add it to your configuration file:
json{ "mcpServers": { "shodan": { "command": "mcp-shodan", "env": { "SHODAN_API_KEY": "your-actual-api-key-here" } } } }c. Save the config file d. Restart Claude Desktop
-
Testing Your Key:
- Try a simple query first (e.g., dns_lookup for "google.com")
- Check your Shodan account dashboard for credit status
- Verify the key works directly with curl:
bash
curl "https://api.shodan.io/dns/resolve?hostnames=google.com&key=your-api-key"
Module Loading Issues
If you see module loading errors:
- For global installation: Use the simple configuration shown in Quick Start
- For source installation: Ensure you're using Node.js v18 or later
Development
To run in development mode with hot reloading:
npm run dev
Error Handling
The server includes comprehensive error handling for:
- Invalid API keys
- Rate limiting
- Network errors
- Invalid input parameters
- Invalid CVE formats
- Invalid CPE lookup parameters
- Invalid date formats
- Mutually exclusive parameter validation
Version History
- v1.0.12: Added reverse DNS lookup and improved output formatting
- v1.0.7: Added CVEs by Product search functionality and renamed vulnerabilities tool to cve_lookup
- v1.0.6: Added CVEDB integration for enhanced CVE lookups and CPE search functionality
- v1.0.0: Initial release with core functionality
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Star History
Repository Owner
User
Repository Details
Programming Languages
Join Our Newsletter
Stay updated with the latest AI tools, news, and offers by subscribing to our weekly newsletter.
Related MCPs
Discover similar Model Context Protocol servers
CVE-Search MCP Server
MCP server for querying and managing CVE-Search vulnerability data.
CVE-Search MCP Server implements the Model Context Protocol to provide structured access to the CVE-Search API. It enables querying vendors, products, and vulnerabilities, as well as retrieving detailed information for specific CVEs. The server facilitates model context integration via MCP client tools, supporting seamless interactions for vulnerability data management.
- ⭐ 67
- MCP
- roadwy/cve-search_mcp
VirusTotal MCP Server
Security analysis server for VirusTotal with comprehensive relationship data, compatible with MCP-enabled applications.
VirusTotal MCP Server is a Model Context Protocol server that interfaces with the VirusTotal API to deliver detailed security analysis of URLs, files, IPs, and domains. It provides comprehensive reports with automatically fetched relationship data, supporting rich security insights in a single request. Designed for seamless integration with MCP-compatible clients like Claude Desktop, it supports easy installation and flexible configuration options.
- ⭐ 88
- MCP
- BurtTheCoder/mcp-virustotal
Intruder MCP
Enable AI agents to control Intruder.io via the Model Context Protocol.
Intruder MCP allows AI model clients such as Claude and Cursor to interactively control the Intruder vulnerability scanner through the Model Context Protocol. It can be deployed using smithery, locally with Python, or in a Docker container, requiring only an Intruder API key for secure access. The tool provides integration instructions tailored for MCP-compatible clients, streamlining vulnerability management automation for AI-driven workflows.
- ⭐ 21
- MCP
- intruder-io/intruder-mcp
RAD Security MCP Server
AI-powered security insights for Kubernetes and cloud environments via the Model Context Protocol.
RAD Security MCP Server is an implementation of the Model Context Protocol designed to deliver AI-powered security insights and operations for Kubernetes and cloud platforms. It serves as an MCP server for RAD Security, providing a range of toolkits for container, cluster, identity, audit, and threat management. The server is easily configurable via environment variables, allowing for flexible toolkit activation and authentication options. Multiple deployment options are supported, including Node.js, Docker, and integration with development environments like Cursor IDE and Claude Desktop.
- ⭐ 5
- MCP
- rad-security/mcp-server
mcp-recon
Conversational reconnaissance interface and MCP server for HTTP and ASN analysis.
mcp-recon acts as a conversational interface and Model Context Protocol (MCP) server, enabling seamless web domain and ASN reconnaissance through natural language prompts. It integrates powerful tooling like httpx and asnmap to conduct lightweight or full HTTP analysis and ASN lookups, exposing these capabilities to any MCP-compatible AI assistant. With predefined prompts and Docker-based deployment, it streamlines infrastructure analysis via AI interfaces such as Claude Desktop.
- ⭐ 22
- MCP
- nickpending/mcp-recon
domain-lookup-mcp
MCP server for domain name lookup using RDAP and WHOIS.
Provides an MCP-compliant server that allows clients to perform domain name lookups via RDAP and WHOIS protocols. The tool is built in Go and can be directly integrated with any MCP client configuration. It automates the retrieval of domain registration details, streamlining the process of accessing authoritative domain information.
- ⭐ 5
- MCP
- dotemacs/domain-lookup-mcp
Didn't find tool you were looking for?