Shodan MCP Server
A fully async, production-grade MCP server that exposes the complete Shodan API (REST, Streaming, and Trends) as MCP tools. Built with Python, httpx, and the MCP Python SDK, this server enables seamless integration of Shodan's powerful internet intelligence tools into your automation, research, and security workflows.
Features
- Full Shodan API Coverage:
- REST API: Host info, search, DNS, datasets, account, tools, and more
- Streaming API: Real-time firehose, port, and alert event streams
- Trends API: Top ports, organizations, and countries for any query
- Async & High Performance:
- Built on
httpxand async/await for maximum concurrency and speed
- Built on
- Secure Authentication:
- API keys are read from environment variables for each API type
- Easy Integration:
- Ready to use with Claude Desktop, CLI, or any MCP-compatible client
Environment Variables
Set your Shodan API credentials as environment variables before running the server:
SHODAN_API_KEY(default for all APIs)SHODAN_STREAM_API_KEY(optional, for Streaming API)SHODAN_TRENDS_API_KEY(optional, for Trends API)
If a specific key is not set, the server will fall back to SHODAN_API_KEY.
Usage
1. Install dependencies
uv add "mcp[cli]"
uv add "sseclient-py"
2. Set your environment variables
export SHODAN_API_KEY=your_main_shodan_api_key
# Optionally:
export SHODAN_STREAM_API_KEY=your_streaming_key
export SHODAN_TRENDS_API_KEY=your_trends_key
3. Start the server (with uvicorn or uv)
uv --directory /Users/haji/mcp-servers/shodan-mcp run server.py
4. MCP Server Configuration for Claude Desktop
Save the following as .json and load it in Claude Desktop or Cursor:
{
"mcpServers": {
"ShodanMCP": {
"command": "uv",
"args": [
"--directory", "/Users/haji/mcp-servers/shodan-mcp",
"run", "server.py"
]
}
}
}
Impact & Use Cases
- Security Research: Instantly query Shodan's global internet intelligence for threat hunting, asset discovery, and vulnerability research.
- Automation: Integrate Shodan tools into your security pipelines, SIEM, or custom dashboards via MCP.
- Real-Time Monitoring: Stream live banners and alerts for proactive monitoring of your infrastructure or the open internet.
- Data Science: Leverage Shodan's Trends API for analytics, reporting, and visualization of global internet trends.
Credits
- Shodan — The world's leading search engine for Internet-connected devices.
© 2024 Haji & Contributors. This project is not affiliated with Shodan. For commercial use of Shodan data, ensure compliance with Shodan's Terms of Service.