greynoise-mcp-server
MCP server for GreyNoise threat intelligence, enabling IP analysis, GNQL queries, tag and vulnerability lookups, and session/pcap retrieval via natural language.
README
MCP Server For GreyNoise
REQUIRES AN ENTERPRISE API KEY
Installation
MCPB (MCP Bundle)
If you use Claude Desktop or another client that supports MCPB bundles, download greynoise-mcp-server.mcpb from the releases page and double-click to install.
For Production/NPX Usage
npx @greynoise/greynoise-mcp-server --help
Sample entry for Claude Desktop:
{
"mcpServers": {
"greynoise": {
"command": "npx",
"args": ["@greynoise/greynoise-mcp-server"],
"env": {
"GREYNOISE_API_KEY": "your-greynoise-api-key"
}
}
}
}
Or for local development:
{
"mcpServers": {
"greynoise": {
"command": "node",
"args": ["/absolute/path/to/greynoise-mcp-server/build/index.js"],
"env": {
"GREYNOISE_API_KEY": "your-greynoise-api-key"
}
}
}
}
For Development
Clone the repo and then npm install && npm run build.
Build System
This project uses tsup for modern bundling:
npm run build: Creates optimized bundle for distributionnpm run build:dev: Development build with source mapsnpm run dev: Watch mode with auto-rebuild
The bundled output includes all core dependencies except Express (for HTTP transport) and dotenv (due to dynamic require limitations).
Transport Options
stdio (Default)
npx @greynoise/greynoise-mcp-server --transport stdio
http
HTTP transport requires Express to be available:
npm install express
node @greynoise/greynoise-mcp-server --transport http
Available Tools
IP Analysis
-
lookup-ip-context - Get detailed context for an IP address including Internet Scanner Intelligence (ISI) and Business Service Intelligence (BSI). Returns classification, tags, scanning activity, HTTP/TLS/SSH fingerprints, geographic info, and more.
-
quick-check-ip - Fast, lightweight check returning just classification and BSI status.
-
multi-ip-check - Check up to 10,000 IP addresses at once. Returns classification, BSI status, and trust level for each IP.
GNQL (GreyNoise Query Language)
-
gnql-query - Search GreyNoise data with GNQL. Returns full IP context results including raw scan data. Supports scroll pagination.
-
gnql-metadata-query - Lightweight GNQL search returning IP metadata without raw scan data. Supports CSV output format.
-
gnql-stats - Get aggregate statistics for GNQL query results (classification breakdown, top organizations, countries, tags, etc).
Recall (Temporal Analysis)
-
gnql-timeseries - Retrieve hourly IP activity records for a time range. Enables temporal analysis of scanning patterns.
-
gnql-timeseries-stats - Get unique IP counts per hour/day over a time range for trend analysis.
Tags
-
get-tag-list - Retrieve the complete list of GreyNoise tags with metadata.
-
search-tags - Search for tags matching a query.
-
get-tag-details - Get comprehensive metadata about a specific tag.
-
get-tag-activity - Get activity data for a tag including trends over time.
-
analyze-tags-activity - Analyze activity patterns across multiple tags.
Vulnerabilities
-
get-trending-vulnerabilities - Get vulnerabilities actively being exploited in the wild.
-
get-cve-details - Get detailed CVE information including GreyNoise exploitation observations.
Sessions (PCAP)
-
get-session - Get full metadata and connection details for a single sensor session by ID.
-
get-session-pcap - Download the raw PCAP capture for a single session. Saves to a temporary file and returns the path.
-
export-sessions-pcap - Export a PCAP file containing packets from multiple sessions matching a time range and optional Lucene query. Saves to a temporary file and returns the path.
Usage Examples
IP Analysis
// Get detailed context for an IP
{ "tool_name": "lookup-ip-context", "parameters": { "ip": "71.6.135.131" } }
// Quick check
{ "tool_name": "quick-check-ip", "parameters": { "ip": "8.8.8.8" } }
// Bulk check
{ "tool_name": "multi-ip-check", "parameters": { "ips": ["8.8.8.8", "1.1.1.1"] } }
GNQL Queries
// Search for malicious IPs seen today
{ "tool_name": "gnql-query", "parameters": { "query": "classification:malicious last_seen:1d", "size": 10 } }
// Lightweight metadata search
{ "tool_name": "gnql-metadata-query", "parameters": { "query": "tags:Mirai", "size": 25 } }
// Get stats for a query
{ "tool_name": "gnql-stats", "parameters": { "query": "classification:malicious", "count": 10 } }
Temporal Analysis (Recall)
// Hourly activity for an IP
{ "tool_name": "gnql-timeseries", "parameters": { "query": "ip:71.6.135.131" } }
// Daily unique IP counts for malicious activity
{ "tool_name": "gnql-timeseries-stats", "parameters": { "query": "classification:malicious", "interval": "day" } }
Sessions
// Get session metadata
{ "tool_name": "get-session", "parameters": { "session_id": "7e98a36cf76f29a020876691892c5f" } }
// Download session PCAP
{ "tool_name": "get-session-pcap", "parameters": { "session_id": "7e98a36cf76f29a020876691892c5f" } }
// Export PCAPs for sessions matching a query
{ "tool_name": "export-sessions-pcap", "parameters": { "start_time": "2026-01-01T00:00:00Z", "end_time": "2026-01-07T23:59:59Z", "query": "destination.port:443", "size": 50 } }
Available Prompts
-
vendor-threat-report - Comprehensive threat report for a vendor technology. Parameters: vendor (required), technology (optional), timeframe 1-90 days (required)
-
ip-threat-analysis - Detailed IP threat analysis with classification, tags, history, and recommendations. Parameters: ip (required), include_related (optional)
-
cve-analysis - CVE analysis including exploitation status and risk assessment. Parameters: cve_id (required), timeframe 1-90 days (optional)
-
emerging-threat-report - Report on emerging threats based on trending activity. Parameters: days (optional: 1/7/30), focus_area (optional)
-
security-posture-assessment - Security posture assessment for an organization's technology stack. Parameters: organization (required), technologies (required), industry (optional)
-
threat-hunting - Threat hunting plan for specific indicators or patterns. Parameters: indicator_type (required: ip/tag/behavior/actor/cve), indicator_value (required), environment (required)
Changelog
See NEWS.md for release notes.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.