Shodan MCP Server logo

Shodan MCP Server

null-create/shodan-mcp-server
0 starsMITUpdated 2026-06-23Community

Is this your server?

Add your score badge to your README and get your server in front of 45k+ builders a month.

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Enables to search and analyze internet-connected devices using the Shodan API, with tools for host search, DNS, scanning, exploits, alerts, and more.

README.md

Shodan MCP Server

An MCP (Model Context Protocol) server that exposes the Shodan API as MCP tools. Built with FastMCP and the official shodan-python library.

Setup

cp .env.example .env   # add your SHODAN_API_KEY
pip install -r requirements.txt
python server.py

Tools

30 tools across 9 categories:

Core Search

| Tool | Description | |---|---| | shodan_search | Search Shodan hosts (query, page, limit, offset, facets, fields) | | shodan_host | Get all info on an IP address | | shodan_count | Get result count for a query | | shodan_search_filters | List available search filters | | shodan_search_tokens | Parse and analyze a search query | | shodan_search_facets | List available search facets | | shodan_ports | List ports Shodan crawls | | shodan_protocols | List on-demand scan protocols | | shodan_services | List service name to port mappings | | shodan_api_info | Get API key info and credits |

DNS

| Tool | Description | |---|---| | shodan_domain_info | Get DNS records for a domain |

IP Tools

| Tool | Description | |---|---| | shodan_my_ip | Get your current public IP | | shodan_honeyscore | Honeypot probability (0.0–1.0) |

Community Queries

| Tool | Description | |---|---| | shodan_queries | List shared community queries | | shodan_queries_search | Search community queries | | shodan_queries_tags | List query tags |

Scanning

| Tool | Description | |---|---| | shodan_scan | Submit IPs/netblocks for scanning | | shodan_scan_status | Check scan status | | shodan_scans | List previous scans | | shodan_scan_internet | Scan the internet for a port/protocol |

Alerts / Monitoring

| Tool | Description | |---|---| | shodan_create_alert | Create a network alert | | shodan_list_alerts | List or get alert details | | shodan_delete_alert | Delete an alert | | shodan_alert_triggers | List available alert triggers |

Exploits

| Tool | Description | |---|---| | shodan_exploit_search | Search the exploit archive | | shodan_exploit_count | Count exploit results |

Bulk Data

| Tool | Description | |---|---| | shodan_datasets | List available datasets | | shodan_dataset_files | List files in a dataset |

Notifiers

| Tool | Description | |---|---| | shodan_notifiers | List configured notifiers | | shodan_notifier_providers | List supported providers |

Error Handling

All tools catch shodan.APIError and return {"error": "<message>"} instead of raising.

Docker

docker compose up -d --build

Project Structure

├── server.py          # Entry point — creates FastMCP app, wires up tools
├── tools/
│   └── shodan.py      # All 30 tool implementations + Shodan client wrapper
├── AGENTS.md          # Context for AI coding assistants
├── requirements.txt
├── .env.example
├── Dockerfile
└── docker-compose.yml

Agent Context

See AGENTS.md for conventions, architecture, and tool registration patterns used in this project.

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use Search servers.