@burtthecoder/mcp-shodan
Version:
A Model Context Protocol server for Shodan API queries.
35 lines (32 loc) • 1.63 kB
JavaScript
import { FastMCP } from "fastmcp";
import dotenv from "dotenv";
import { registerIpLookup } from "./tools/ip-lookup.js";
import { registerShodanSearch } from "./tools/shodan-search.js";
import { registerCveLookup } from "./tools/cve-lookup.js";
import { registerDnsLookup } from "./tools/dns-lookup.js";
import { registerReverseDnsLookup } from "./tools/reverse-dns-lookup.js";
import { registerCpeLookup } from "./tools/cpe-lookup.js";
import { registerCvesByProduct } from "./tools/cves-by-product.js";
dotenv.config();
if (!process.env.SHODAN_API_KEY) {
throw new Error("SHODAN_API_KEY environment variable is required.");
}
const server = new FastMCP({
name: "shodan-mcp",
version: "1.0.0",
instructions: `This MCP server provides comprehensive access to Shodan's network intelligence and security services:
- Network Reconnaissance: Query detailed information about IP addresses, including open ports, services, and vulnerabilities
- DNS Operations: Forward and reverse DNS lookups for domains and IP addresses
- Vulnerability Intelligence: Access to Shodan's CVEDB for detailed vulnerability information, CPE lookups, and product-specific CVE tracking
- Device Discovery: Search Shodan's database of internet-connected devices with advanced filtering
Each tool provides structured, formatted output for easy analysis and integration.`,
});
registerIpLookup(server);
registerShodanSearch(server);
registerCveLookup(server);
registerDnsLookup(server);
registerReverseDnsLookup(server);
registerCpeLookup(server);
registerCvesByProduct(server);
server.start({ transportType: "stdio" });