About Shodan MCP Server
Shodan MCP Server exposes Shodan search and intelligence queries to applications and MCP clients. Its tools cover IP details, DNS lookups, vulnerabilities, CVE records, and device search.
Key features
- 01Retrieve IP host information
- 02Resolve hostnames with DNS
- 03Check IP vulnerabilities
- 04Look up CVE details
- 05Search Shodan devices
Use cases
- 01Review information about an IP address
- 02Resolve a domain to an IP
- 03Check vulnerabilities associated with a host
- 04Search for devices matching criteria
MCP support
Exposes Shodan API queries as tools for MCP clients, including host information, DNS lookup, vulnerability and CVE queries, and search.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
docker run -i --rm -e SHODAN_API_KEY shodan-mcp-serverSHODAN_API_KEYSecretLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEshodan-mcp-server
This is a Model Context Protocol (MCP) server that provides access to the Shodan API. It allows you to programmatically query Shodan for information about devices, vulnerabilities, and more.
Table of Contents
- Introduction
- Installation
- Configuration
- Usage with Node.js
- API Documentation
- Project Structure
- Contributing
- License
Introduction
The shodan-mcp-server provides a simple way to integrate Shodan intelligence into your applications using the Model Context Protocol (MCP). It exposes several tools that allow you to query Shodan for various types of information.
Features
Host Information: Get detailed information about an IP address Search: Query Shodan's database using their search syntax DNS Lookup: Resolve domain names CVE Information: Get details about specific CVE vulnerabilities
Installation
-
Clone the repository:
git clone https://github.com/X3r0K/Shodan-MCP-Server.git cd shodan-mcp-server -
Install the dependencies:
npm install -
Build the project:
npm run build
Configuration
-
Obtain a Shodan API key from Shodan.
-
Configure the MCP server in your MCP settings file (e.g.,
~/.config/mcp/settings.json):{ "mcpServers": { "shodan": { "command": "node", "args": ["/path/to/shodan-mcp-server/build/index.js"], "env": { "SHODAN_API_KEY": "<your_shodan_api_key>" }, "disabled": false, "autoApprove": [] } } }Replace
<your_shodan_api_key>with your actual Shodan API key and/path/to/shodan-mcp-serverwith the actual path to the shodan-mcp-server directory.
Usage with Node.js
You can use the MCP server with Node.js using the @modelcontextprotocol/sdk package.
-
Install the MCP SDK:
npm install @modelcontextprotocol/sdk -
Use the
use_mcp_toolfunction to call the tools:import { use_mcp_tool } from '@modelcontextprotocol/sdk'; async function getIpInfo(ip) { const result = await use_mcp_tool('shodan', 'get_ip_info', { ip }); console.log(result); } getIpInfo('8.8.8.8');
API Documentation
get_ip_info
Get information about a specific IP address.
Input:
{
"ip": "string" // The IP address to query
}
Output:
A JSON object containing information about the IP address.
dns_lookup
Perform DNS lookups for a given domain.
Input:
{
"hostname": "string" // The hostname to resolve
}
Output:
A JSON object containing the resolved IP address.
get_vulnerabilities
Track vulnerabilities associated with a specific IP address.
Input:
{
"ip": "string" // The IP address to query for vulnerabilities
}
Output:
A JSON object containing a list of vulnerabilities associated with the IP address.
cve_info
Retrieve information about a specific CVE ID.
Input:
{
"cve": "string" // The CVE ID to query
}
Output:
A JSON object containing information about the CVE ID.
search
Search Shodan for devices matching a query.
Input:
{
"query": "string" // The search query
}
Output:
A JSON object containing a list of devices matching the query.
Project Structure
shodan-mcp-server/
├── .gitignore
├── package.json
├── README.md
├── tsconfig.json
└── src/
├── index.ts
└── index.mts
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.