Back to Directory/Developer Tools

io.github.daedalus/mcp-shodan

MCP server exposing all Shodan API functionality

Developer ToolsPythonv0.1.0

mcp-shodan

MCP server exposing Shodan API functionality via the Model Context Protocol.

PyPI Python Coverage Ruff

Install

pip install mcp-shodan

Usage

export SHODAN_API_KEY=your_api_key
mcp-shodan

Or add to your MCP configuration:

{
  "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

# 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

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
uvx mcp-shodan

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-daedalus-mcp-shodan": {
      "command": "uvx",
      "args": [
        "mcp-shodan"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

mcp-shodanpypi

Compatible MCP Clients

io.github.daedalus/mcp-shodan works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More