Developed by ADEO Cybersecurity Services
A Model Context Protocol (MCP) server that provides access to both Shodan and VirusTotal APIs for comprehensive security analysis and threat intelligence. This server, developed and maintained by ADEO Cybersecurity Services, enables cybersecurity analysts to perform network intelligence operations including host information lookup, DNS operations, vulnerability analysis, network scanning, and alerts management through a collection of tools and prompt templates.
ADEO Cybersecurity Services specializes in providing advanced security solutions and tools for cybersecurity professionals. This ADEO CTI MCP Server is part of our commitment to enhancing cybersecurity capabilities through innovative tools and integrations with industry-leading security data sources.
- Detailed information about IP addresses including open ports, services, and location data
- DNS lookup and reverse DNS operations
- Domain information retrieval including subdomains
- Advanced search capabilities with facets and filters
- On-demand network scanning
- Network alerts and monitoring
- Vulnerability analysis and CVE tracking
- Account and API management
- Historical data access
- Malware analysis and detection
- URL scanning and reputation checking
- IP address reputation analysis
- Domain threat intelligence
- File hash analysis
- Comprehensive threat reports
- Unified security analysis using both platforms
- Correlated threat intelligence
- Integrated vulnerability assessment
- Cross-platform data enrichment
- Rich data formatting and presentation
- Intelligent workflow automation
- Pre-built analysis templates
- Custom search filters
- Batch processing capabilities
- Real-time monitoring
- host-info
- Get detailed information about a host from Shodan
- Parameters:
ip(required): IP address to look uphistory(optional): Include historical informationminify(optional): Return only basic host information
- Example:
@shodan host-info ip="8.8.8.8" history=true
-
dns-lookup
- Resolve hostnames to IP addresses
- Parameters:
hostnames(required): Comma-separated list of hostnames to resolve
- Example:
@shodan dns-lookup hostnames="google.com,facebook.com"
-
reverse-dns
- Look up hostnames for IP addresses
- Parameters:
ips(required): Comma-separated list of IP addresses
- Example:
@shodan reverse-dns ips="8.8.8.8,1.1.1.1"
-
domain-info
- Get DNS entries and subdomains for a domain
- Parameters:
domain(required): Domain name to look up
- Example:
@shodan domain-info domain="example.com"
-
search-host
- Search Shodan for hosts matching specific criteria
- Parameters:
query(required): Shodan search queryfacets(optional): Comma-separated list of properties for summary informationpage(optional): Page number for results
- Example:
@shodan search-host query="apache country:DE" facets="org,port"
-
search-host-count
- Get count of matching results without full details
- Parameters:
query(required): Shodan search queryfacets(optional): Comma-separated list of facets
- Example:
@shodan search-host-count query="product:nginx"
-
list-search-facets
- List all available search facets
- No parameters required
-
list-search-filters
- List all filters that can be used when searching
- No parameters required
-
search-tokens
- Analyze and break down search query components
- Parameters:
query(required): Shodan search query to analyze
- Example:
@shodan search-tokens query="apache port:80 country:DE"
-
list-ports
- List all ports that Shodan is actively scanning
- No parameters required
-
list-protocols
- List all protocols available for scanning
- No parameters required
-
request-scan
- Request Shodan to scan specific targets
- Parameters:
ips(required): Comma-separated list of IPs or networks in CIDR notation
- Example:
@shodan request-scan ips="192.168.1.0/24"
-
get-scan-status
- Check the status of a submitted scan
- Parameters:
id(required): The unique scan ID
- Example:
@shodan get-scan-status id="SCAN_ID"
-
list-scans
- View all your submitted scans
- No parameters required
-
list-triggers
- List available network alert triggers
- No parameters required
-
create-alert
- Set up network monitoring alerts
- Parameters:
name(required): Alert namefilters(required): Alert filtersexpires(optional): Expiration time in seconds
- Example:
@shodan create-alert name="My Alert" filters={"ip":["8.8.8.8"],"port":[80,443]}
-
get-alert-info
- Get details about a specific alert
- Parameters:
id(required): Alert ID
- Example:
@shodan get-alert-info id="ALERT_ID"
-
delete-alert
- Remove an existing alert
- Parameters:
id(required): Alert ID to delete
-
edit-alert
- Modify an existing alert
- Parameters:
id(required): Alert IDname(optional): New alert namefilters(optional): Updated filters
-
list-alerts
- View all active alerts
- No parameters required
-
list-queries
- View saved search queries
- Parameters:
page(optional): Results page numbersort(optional): Sort by "votes" or "timestamp"order(optional): "asc" or "desc"
-
search-queries
- Search through saved queries
- Parameters:
query(required): Search termpage(optional): Page number
-
list-query-tags
- View popular query tags
- Parameters:
size(optional): Number of tags to return
-
get-profile
- View account information
- No parameters required
-
get-api-info
- Check API subscription status
- No parameters required
-
get-billing
- View billing information
- No parameters required
-
get-http-headers
- Check your request headers
- No parameters required
-
get-my-ip
- View your current IP address
- No parameters required
-
cve-lookup
- Get CVE details
- Parameters:
cve(required): CVE ID (e.g., CVE-2021-44228)
- Example:
@shodan cve-lookup cve="CVE-2021-44228"
-
cpe-vuln-search
- Search vulnerabilities by CPE
- Parameters:
cpe(required): CPE 2.3 stringminCvss(optional): Minimum CVSS scoremaxResults(optional): Result limit
- Example:
@shodan cpe-vuln-search cpe="cpe:2.3:a:apache:log4j:2.14.1:*:*:*:*:*:*:*" minCvss=7.0
- virustotal-url-analysis
- Analyze URLs for security threats
- Parameters:
url(required): Target URL
- Example:
@shodan virustotal-url-analysis url="https://example.com"
- virustotal-file-analysis
- Check file hashes for malware
- Parameters:
hash(required): MD5/SHA-1/SHA-256 hash
- Example:
@shodan virustotal-file-analysis hash="a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"
- virustotal-ip-analysis
- Check IP reputation
- Parameters:
ip(required): Target IP address
- Example:
@shodan virustotal-ip-analysis ip="8.8.8.8"
- virustotal-domain-analysis
- Analyze domain reputation
- Parameters:
domain(required): Target domain
- Example:
@shodan virustotal-domain-analysis domain="example.com"
The server provides a set of intelligent prompts for comprehensive cybersecurity analysis workflows:
- Name:
asset-discovery - Description: Discover and analyze internet-facing assets and infrastructure
- Parameters:
target(required): Domain, IP address, or organization name to analyzedepth(optional): Depth of reconnaissance ("basic" or "comprehensive")
- Example:
@shodan asset-discovery target=example.com depth=comprehensive
- Name:
vulnerability-assessment - Description: Find vulnerabilities in internet-connected systems
- Parameters:
target_type(required): Type of target to analyze ("host", "domain", "cpe", "cve")target(required): Target identifier (IP, domain, CPE string, or CVE ID)severity_threshold(optional): Minimum severity threshold ("all", "medium", "high", "critical")include_vt_analysis(optional): Include VirusTotal security analysis ("yes" or "no")
- Example:
@shodan vulnerability-assessment target_type=host target=192.168.1.1 severity_threshold=high
- Name:
internet-search - Description: Search for specific internet-connected systems or services
- Parameters:
search_type(required): Type of search ("service", "product", "vulnerability", "organization", "custom")query(required): Search terms or Shodan query stringfilters(optional): Additional Shodan filters to apply
- Example:
@shodan internet-search search_type=product query="nginx" filters="country:US port:443"
- Name:
network-monitoring - Description: Set up network monitoring and alerts
- Parameters:
target(required): IP, network range, or domain to monitormonitor_type(required): Type of changes to monitor ("new-service", "vulnerability", "certificate", "custom")notification_threshold(optional): Minimum severity for notifications ("all", "high", "critical")
- Example:
@shodan network-monitoring target=192.168.0.0/24 monitor_type=vulnerability notification_threshold=high
- Name:
ics-analysis - Description: Analyze exposed industrial control systems and SCADA devices
- Parameters:
target_type(required): Type of target to analyze ("ip", "network", "product", "country")target(required): Target identifier (IP, network range, product name, or country code)protocol(optional): Specific protocol to focus on
- Example:
@shodan ics-analysis target_type=country target=US protocol=modbus
- Name:
dns-intelligence - Description: Analyze DNS information for domains and IP addresses
- Parameters:
target_type(required): Type of target to analyze ("domain", "ip", "hostname")target(required): Domain name, IP address, or hostname to analyzeinclude_history(optional): Include historical information ("yes" or "no")include_vt_analysis(optional): Include VirusTotal security analysis ("yes" or "no")
- Example:
@shodan dns-intelligence target_type=domain target=example.com include_vt_analysis=yes
- Name:
service-exposure - Description: Analyze specific service types exposed on the internet
- Parameters:
service_type(required): Type of service ("database", "webcam", "industrial", "remote-access", "custom")target_scope(required): Scope of analysis ("global", "country", "organization", "ip-range")target(optional): Target value based on scopecustom_query(optional): Custom query for the 'custom' service typeinclude_vt_analysis(optional): Include VirusTotal analysis ("yes" or "no")
- Example:
@shodan service-exposure service_type=database target_scope=country target=US
- Name:
account-status - Description: Analyze account information and API usage status
- Parameters:
info_type(required): Type of information to retrieve ("profile", "api", "usage", "all")
- Example:
@shodan account-status info_type=all
- Name:
scan-management - Description: Manage and analyze on-demand network scans
- Parameters:
action(required): Scan action to perform ("initiate", "check", "list")target(optional): Target IPs or networks to scan (comma-separated)scan_id(optional): Scan ID for checking status
- Example:
@shodan scan-management action=initiate target=192.168.1.0/24
- Name:
search-analytics - Description: Analyze Shodan search capabilities and patterns
- Parameters:
action(required): Type of analysis ("analyze-query", "explore-facets", "examine-filters", "saved-queries")query(optional): Query to analyze (for analyze-query action)
- Example:
@shodan search-analytics action=analyze-query query="apache country:DE port:443"
- Name:
vulnerability-hunting - Description: Hunt for specific vulnerabilities across the internet
- Parameters:
vuln_type(required): Type of vulnerability to hunt ("cve", "product", "service", "custom")target(required): Vulnerability target (CVE ID, product name, service type)scope(optional): Scope of the search ("global", "regional", "industry")scope_value(optional): Value for scope (country, industry)
- Example:
@shodan vulnerability-hunting vuln_type=cve target=CVE-2021-44228 scope=regional scope_value=US
- Name:
malware-analysis - Description: Analyze files and URLs for malware and security threats
- Parameters:
target_type(required): Type of target to analyze ("file" or "url")target(required): File hash (MD5/SHA1/SHA256) or URL to analyzeinclude_relationships(optional): Include relationship data ("yes" or "no")
- Example:
@shodan malware-analysis target_type=file target=a94a8fe5ccb19ba61c4c0873d391e987982fbbd3
- Name:
infrastructure-analysis - Description: Analyze network infrastructure using combined Shodan and VirusTotal data
- Parameters:
target_type(required): Type of target to analyze ("ip" or "domain")target(required): IP address or domain to analyzedepth(optional): Analysis depth ("basic" or "comprehensive")include_vt_analysis(optional): Include VirusTotal analysis ("yes" or "no")
- Example:
@shodan infrastructure-analysis target_type=domain target=example.com depth=comprehensive
- Name:
threat-hunting - Description: Hunt for threats across multiple data sources using combined intelligence
- Parameters:
indicator_type(required): Type of indicator ("ip", "domain", "url", "file")indicator(required): Indicator value to investigateinclude_vt_analysis(optional): Include VirusTotal analysis ("yes" or "no")
- Example:
@shodan threat-hunting indicator_type=ip indicator=8.8.8.8 include_vt_analysis=yes
-
Set required environment variables:
SHODAN_API_KEY=your_shodan_api_key VIRUSTOTAL_API_KEY=your_virustotal_api_key
-
Install dependencies:
npm install
-
Build the project:
npm run build
-
Start the server:
npm start
- Respect Shodan API limits based on your subscription
- VirusTotal API has separate rate limits
- Use batch operations when possible
- Implement appropriate delay between requests
The server handles various error scenarios:
- Invalid API keys
- Rate limiting
- Network issues
- Invalid parameters
- Missing permissions
- Fork the repository
- Create a feature branch
- Submit a pull request
Copyright © 2024 ADEO Cybersecurity Services. All rights reserved.