Shodan MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Shodan MCP Serversearch for open SSH servers in Germany"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Shodan MCP Server
An unofficial MCP (Model Context Protocol) server that provides Claude with access to Shodan for IP address lookups, service discovery, and vulnerability scanning.
Features
Host Lookup: Get detailed information about any IPv4 address
Search: Query Shodan's database using filters (e.g.,
apache port:80,country:US)Count: Get result counts for queries without fetching full data
Account Info: Check your Shodan API usage and limits
Related MCP server: Shodan MCP Server
Installation
Clone the repository:
git clone https://github.com/bonetrees/shodan_mcp.git cd shodan_mcpInstall dependencies using Poetry:
poetry installSet up your Shodan API key:
cp .env.example .env # Edit .env and add your Shodan API keyGet your API key from Shodan Account.
Usage
Running the Server
poetry run python -m shodan_mcpConnecting to Claude
Add this configuration to your Claude Desktop config.json file:
macOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"shodan": {
"command": "/full/path/to/poetry", # you can find this using command `which poetry`
"args": ["run","-C","/path/to/your/shodan_mcp/pyproject.toml","python", "-m", "shodan_mcp"],
"cwd": "/path/to/your/shodan_mcp"
}
}
}Replace /path/to/your/shodan_mcp with the actual path to this project.
Available Tools
1. shodan_host_lookup
Look up detailed information about a specific IP address.
Parameters:
ip(required): IPv4 address to look uphistory(optional): Include historical data (default: false)minify(optional): Return minimal data (default: false)
Example:
Look up information for IP 8.8.8.82. shodan_search
Search Shodan's database using query filters.
Parameters:
query(required): Shodan search querylimit(optional): Maximum results to return (1-100, default: 10)
Example queries:
apache port:80- Apache servers on port 80country:US ssl:true- SSL servers in the USproduct:nginx- Nginx serversport:22- SSH servers
3. shodan_count
Get the total count of results for a query without fetching the actual data.
Parameters:
query(required): Shodan search query
4. shodan_info
Get information about your Shodan API account (credits, plan, etc.).
Parameters: None
Example Usage with Claude
Once connected, you can ask Claude things like:
"Look up the IP address 1.1.1.1 using Shodan"
"Search for Apache servers in the US"
"How many SSH servers are there globally?"
"What's my current Shodan API usage?"
Logging
The server provides comprehensive logging at multiple levels:
MCP Protocol Logging
Log messages are sent to the connected MCP client (like Claude Desktop) and appear in the client's interface. This includes:
Debug: Detailed execution information
Info: General operational messages
Warning: Important notices (e.g., sensitive searches)
Error: Error conditions and failures
Server-side Logging
Traditional Python logging for debugging and monitoring. Logs are written to the console.
Configuration
Control logging levels via environment variables:
# Python logging level (DEBUG, INFO, WARNING, ERROR)
SHODAN_MCP_LOG_LEVEL=INFO
# MCP protocol logging level (what gets sent to Claude)
SHODAN_MCP_PROTOCOL_LOG_LEVEL=INFOAdd these to your .env file to customize logging behavior.
Development
Project Structure
shodan_mcp/
├── src/
│ └── shodan_mcp/
│ ├── __init__.py
│ ├── server.py
│ └── logging_config.py
├── .env.example
├── pyproject.toml
└── README.mdDependencies
mcp- Model Context Protocol libraryshodan- Official Shodan Python librarypython-decouple- Environment variable management
License
MIT License - see LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Disclaimer
This is an unofficial tool. Please respect Shodan's terms of service and rate limits.
This server cannot be deployed
Maintenance
Related MCP Connectors
Shodan MCP — wraps the full Shodan REST API (api.shodan.io)
Defensive Shodan search and host intelligence MCP using customer-provided SHODAN_API_KEY for
Shodan InternetDB MCP — wraps Shodan InternetDB (internetdb.shodan.io)
GreyNoise Community MCP — internet scanner classification (free tier with key)
Related MCP Servers
- AlicenseBqualityBmaintenanceProvides access to Shodan API functionality, enabling AI assistants to query information about internet-connected devices for cybersecurity research and threat intelligence.2348MIT
- AlicenseAqualityDmaintenanceEnables comprehensive security reconnaissance, vulnerability assessment, and threat intelligence gathering by integrating Shodan's API. It provides tools for searching internet-connected devices, performing DNS operations, and querying the Shodan exploit database.11Apache 2.0
- AlicenseBqualityFmaintenanceProvides access to Shodan's IoT search engine API for device search, host intelligence, exploit database, network scanning, and security analysis through natural language.32MIT
- AlicenseNot gradedqualityCmaintenanceEnables to search and analyze internet-connected devices using the Shodan API, with tools for host search, DNS, scanning, exploits, alerts, and more.MIT