io.github.daedalus/mcp-shodan
by daedalus
README.md
# mcp-shodan
MCP server exposing [Shodan](https://www.shodan.io/) API functionality via the Model Context Protocol.
[](https://pypi.org/project/mcp-shodan/)
[](https://pypi.org/project/mcp-shodan/)
[](https://codecov.io/gh/daedalus/mcp-shodan)
[](https://github.com/astral-sh/ruff)
## Install
```bash
pip install mcp-shodan
```
## Usage
```bash
export SHODAN_API_KEY=your_api_key
mcp-shodan
```
Or add to your MCP configuration:
```json
{
"mcpServers": {
"shodan": {
"command": "mcp-shodan",
"env": {
"SHODAN_API_KEY": "your_api_key"
}
}
}
}
```
## Available Tools
### Host Information
- `shodan_host` - Get all available information on an IP address
### Search
- `shodan_search` - Search the Shodan database
- `shodan_search_cursor` - Search and return an iterator
- `shodan_count` - Get total number of search results
- `shodan_search_tokens` - Get information about a search query
### Alerts
- `shodan_alerts` - List all active alerts
- `shodan_create_alert` - Create a new alert
- `shodan_delete_alert` - Delete an alert
### Scanning
- `shodan_scan` - Scan a network
- `shodan_scan_internet` - Scan the internet on a port
- `shodan_scan_status` - Get scan status
### Saved Queries
- `shodan_queries` - List shared search queries
- `shodan_queries_search` - Search saved queries
- `shodan_queries_tags` - Get popular query tags
### Exploits
- `shodan_exploits_search` - Search the Shodan Exploits archive
- `shodan_exploits_count` - Get total exploit count
### Utilities
- `shodan_info` - Get API key information
- `shodan_ports` - Get list of ports Shodan crawls
- `shodan_protocols` - Get supported protocols
- `shodan_services` - Get list of services
## Example
```python
# Get information about a host
shodan_host("1.1.1.1")
# Search for specific services
shodan_search("apache", limit=10)
# Count results for a query
shodan_count("nginx")
# Check your API plan
shodan_info()
```
mcp-name: io.github.daedalus/mcp-shodan
TDQS
B3.2/5.0
Scored across 20 tools
Disambiguation4/5
Tools are generally distinct, but shodan_queries and shodan_queries_search overlap in purpose slightly. Most tools target unique actions and resources.
Naming Consistency4/5
All tools use 'shodan_' prefix with snake_case. While some are nouns and some verbs, patterns are consistent within groups (e.g., alerts: list, create, delete). Minor mixing of styles.
Tool Count5/5
20 tools is well-scoped for the Shodan API, covering search, host, scans, alerts, exploits, and metadata without being overweight.
Completeness4/5
Covers major Shodan features, but lacks tools for account management or DNS lookups. Core workflows (search, host, scan, alerts) are complete.
Maintenance
ActivityInactive
ResponsivenessNo issues