← Back to search

@greynoise/greynoise-mcp-server

GitHub Actions Scanned 10d ago

MCP Server for the GreyNoise Enterprise API

C
65.3 / 100

Versions

0.5.4latest
Jul 22, 2026
0.5.3
Jul 17, 2026
0.5.2
Jul 16, 2026
0.4.1
May 29, 2026
0.4.0
Mar 23, 2026
+ show 10 moreshow less
0.3.4
Mar 22, 2026
0.3.3
Mar 22, 2026
0.3.2
Mar 22, 2026
0.3.1
Mar 22, 2026
0.3.0
Mar 22, 2026
0.2.5
Oct 7, 2025
0.2.3
Sep 18, 2025
0.2.2
Sep 11, 2025
0.2.1
Sep 4, 2025
0.2.0
Jun 11, 2025
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 48

analyze-tags-activity
annotations: none low

Filter GreyNoise tags then aggregate their v3/tags/{id}/activity into a summary (total active IPs by classification, most active tags, per-tag detail). query substring-matches name/description/slug/label; category and intention are exact (case-insensitive) matches. days must be 1, 10, or 30 (default 30).

days enum query string category string intention string
search-tags
annotations: none low

Search GreyNoise tags (client-side over the cached v3/tags list). query substring-matches name/description/slug/label; category and intention are exact (case-insensitive) matches; cve substring-matches associated CVEs. All params optional; omitting all returns every tag.

cve string query string category string intention string
get-tag-activity
annotations: none low

Retrieve time-series unique-IP counts and intention activity for a tag (by id/slug) or by CVE, from v3/tags/{id}/activity. Provide exactly one of id_or_slug or cve. days must be 1, 10, or 30 (default 30); granularity is 1h for 1 day, else 24h.

cve string days enum id_or_slug string
callback-ip-lookup
annotations: none low

Look up a single callback/C2 IP: attack stage, scanner associations, RIOT status, geo/network enrichment, and downloaded malware files.

ip string days number page number page_size number
list-callback-ips
annotations: none low

Paginated list of callback/C2 IPs filtered by attack stage, first/last seen date ranges, file attributes, and scanner associations. Dates are YYYY-MM-DD.

days number page number page_size number
export-callback-ips
annotations: none low

Export callback/C2 IPs matching the filters as a plain list. Same filters as List Callback IPs. Dates are YYYY-MM-DD.

days number
callback-overview
annotations: none low

Aggregate statistics for callback/C2 IPs matching the filters: counts by attack stage, file analysis status, RIOT trust levels, scanner associations, and top threat names. Bounded to a recent window (days: 1-7, default 1) — wider ranges overload the aggregation.

days number
bsi-lookup
annotations: none low

Look up Business Service Intelligence provider matches for a single IPv4 address. Returns providers whose CIDRs contain the IP, in ascending precedence order (lower = higher priority). IPv6 is rejected. Requires a BSI license.

ip ipv4 ips array
bsi-bulk-lookup
annotations: none low

Look up BSI provider matches for up to 1,000 IPv4 addresses. Results preserve request order; any IPv6 address fails the whole request with HTTP 400. Requires a BSI license.

ips array
bsi-trust-stats
annotations: none low

Counts of BSI IPs and CIDRs grouped by trust level. Requires BSI entitlements.

bsi-company-stats
annotations: none low

Counts of BSI IPs and CIDRs grouped by company name. Requires BSI entitlements.

bsi-category-stats
annotations: none low

Counts of BSI IPs and CIDRs grouped by category. Requires BSI entitlements.

gnql-timeseries-stats
annotations: none low

Get the number of unique IPs matching a GNQL query per hour/day over a time range (Recall Stats). Returns aggregated counts of unique IPs per time bucket, useful for trend analysis and understanding how scanning/attack activity changes over time. interval must be 'hour' or 'day'. Time bounds use ISO 8601 format.

query string end_time string interval enum start_time string
get-trending-vulnerabilities
annotations: none low

List currently trending and anomalous GreyNoise vulnerability tags. Takes no parameters. Makes two calls (sort=trending, sort=anomalies) and returns the combined set with a 'source' field per tag plus a total count.

gnql-stats
annotations: none low

get-tag-details
annotations: none low

Get the full record for a single GreyNoise tag, looked up by exact tag id or slug (slug matched case-insensitively) over the cached v3/tags list.

id_or_slug string
quick-check-ip
annotations: none low

Get a fast, lightweight classification and business-service check for a single IP address.

ip union
export-sessions-pcap
annotations: verified low

Export a PCAP file containing packets from multiple GreyNoise sensor sessions matching query criteria. Saves the binary PCAP to a temporary directory and returns the file path. The file can be opened with Wireshark, tshark, or tcpdump. Use Lucene query syntax to filter sessions (e.g., "destination.port:443", "source.ip:1.2.3.4").

size number query string scope string sort_by string end_time string sort_desc boolean start_time string
readOnlyHint false
lookup-ip-context
annotations: none low

Get detailed GreyNoise context for a single IP: classification, tags, Internet Scanner Intelligence (scan/HTTP/TLS/SSH/TCP raw data), Business Service Intelligence, geo, and network metadata.

ip union
multi-ip-check
annotations: none low

Check up to 10,000 IP addresses at once. Returns classification, business-service status, and trust level for each, plus a summary breakdown.

create-blocklist
annotations: verified low

Create a dynamic blocklist from a GNQL query. The blocklist auto-populates with IPs matching the query. Requires a plan entitled to blocklists.

limit number query string offset number enabled boolean ip_limit number
readOnlyHint false idempotentHint false destructiveHint false
list-blocklists
annotations: verified low

List the blocklists in a workspace.

limit number query string offset number enabled boolean ip_limit number
readOnlyHint false idempotentHint true destructiveHint false
get-blocklist
annotations: verified low

Retrieve a single blocklist's configuration by ID.

query string enabled boolean ip_limit number
readOnlyHint false idempotentHint true destructiveHint false
update-blocklist
annotations: verified low

Update a blocklist's query, name, IP limit, or enabled state.

size number query string enabled boolean ip_limit number
readOnlyHint false idempotentHint true destructiveHint false
delete-blocklist
annotations: verified low

Permanently delete a blocklist. This cannot be undone.

size number
readOnlyHint false idempotentHint true destructiveHint true
get-blocklist-ips
annotations: none low

Retrieve the current list of IPs in a blocklist.

size number
get-session
annotations: none low

Get full metadata and connection details for a single GreyNoise sensor session by its ID. Returns source/destination IPs and ports, timestamps, byte/packet counts, classification, and any additional enrichment fields.

scope string session_id string
gnql-query
annotations: none low

Search GreyNoise data using GNQL (GreyNoise Query Language). Returns full IP context results including raw scan data. GNQL is a domain-specific query language that uses Lucene deep under the hood. Facets: - "ip" - The IP address of the scanning device - "classification" - Whether the device has been categorized as unknown, benign, or malicious - "first_seen" / "last_seen" - Date the device was first/most recently observed - "actor" - The benign actor the device has been associated with (Shodan, Censys, etc) - "tags" - Tags assigned to the device over the past 90 days - "cve" - CVEs associated with the device - "vpn" / "vpn_service" / "bot" / "tor" - Boolean/string indicators - "metadata.category" - Network category (business, isp, hosting, education, mobile) - "metadata.source_country" / "metadata.source_country_code" - Source location - "metadata.organization" / "metadata.asn" / "metadata.rdns" - Network info - "raw_data.scan.port" / "raw_data.scan.protocol" - Scan targets - "raw_data.web.paths" / "raw_data.web.useragents" - HTTP activity - "raw_data.ja3.fingerprint" / "raw_data.hassh.fingerprint" - TLS/SSH fingerprints Examples: - "classification:malicious last_seen:1d" - Malicious IPs seen in last day - "tags:Mirai" - Devices tagged as Mirai - "raw_data.scan.port:445 metadata.os:Windows*" - Windows hosts scanning port 445 - "cve:CVE-2021-30461" - Devices associated with a CVE - "source_country:Iran destination_country:Ukraine single_destination:true" - Targeted scanning Results are paginated. Use the scroll parameter to retrieve additional pages.

size number query string scroll string
get-session-pcap
annotations: verified low

Download the raw PCAP capture for a single GreyNoise sensor session. Saves the binary PCAP file to a temporary directory and returns the file path. The file can be opened with Wireshark, tshark, or tcpdump.

scope string session_id string
readOnlyHint false
gnql-metadata-query
annotations: none low

Search GreyNoise data using GNQL, returning IP metadata without raw scan data. Lighter and faster than gnql-query. Supports the same GNQL query syntax as gnql-query. Use this when you need IP classification, tags, and metadata but not raw scan details (ports, fingerprints, HTTP paths). Results are paginated via the scroll token. Set quick=true to return only IP and classification/trust level. Set format="csv" for spreadsheet-friendly CSV output (columns: ip, classification, actor, organization, source_country, tags, ports, bsi_found, bsi_name, bsi_trust_level); default "json" renders a Markdown summary. structuredContent is always the full JSON regardless of format.

size number query string quick boolean format enum scroll string
gnql-timeseries
annotations: none low

Retrieve hourly GNQL records for a time range. Enables temporal analysis of IP activity matching any GNQL query (Recall). Returns IP records bucketed by hour, useful for investigating when specific IPs were active and what they were doing. Time bounds use ISO 8601 (e.g. 2025-01-15T00:00:00Z). size is results per hourly bucket (default: 25, max: 10000).

size number query string end_time string start_time string
search-sessions
annotations: none low

Query and filter GreyNoise sensor network sessions over a time range. Returns a paginated list with source/destination IPs and ports, timestamps, byte/packet counts, and classification. Use Lucene query syntax (e.g. destination.port:443).

page number size number fields string sort_by string page_size number
session-fields
annotations: none low

Discover the queryable session field schema: field identifiers, types, groups, and whether each is sortable. Use these field names when building session queries, counts, connections, timeseries, and unique-value requests.

size number fields string max_nodes number src_field string dest_field string min_connections number
session-counts
annotations: none low

Aggregate session counts grouped by one or more fields over a time range. Multiple fields produce nested (drill-down) buckets.

size number fields string max_nodes number src_field string dest_field string min_connections number
session-connections
annotations: none low

Build a connection graph (nodes + links) between a source field and a destination field over a time range. Useful for visualizing communication relationships.

size number field string interval enum max_nodes number src_field string dest_field string min_connections number
session-timeseries
annotations: none low

Return session volume over time, optionally grouped by a field. Without a field, returns a single timeseries; with a field, returns per-group timeseries.

size number field string interval enum
session-unique-values
annotations: verified low

Return the distinct values of a single session field over a time range (server produces a CSV). Optionally include per-value counts. Useful for extracting distinct IPs, ports, or other field values matching a query.

field string
readOnlyHint false
export-session-data
annotations: verified low

Download a single session's data for a given session ID as a PCAP or raw payload (type: pcap | rawSource | rawDestination; default pcap). Saves the binary to a temp file and returns its path. Not available when scope=demo.

session_id string
readOnlyHint false
create-alert
annotations: verified low

Create a scheduled alert that runs a GNQL query and notifies recipients (email/webhook) when it matches. Requires a plan entitled to alerts.

query string enabled boolean query_workspace_id string
readOnlyHint false idempotentHint false destructiveHint false
list-alerts
annotations: verified low

List the alerts configured in a workspace.

query string enabled boolean query_workspace_id string
readOnlyHint false idempotentHint true destructiveHint false
get-alert
annotations: verified low

Retrieve a single alert's configuration by ID.

query string enabled boolean query_workspace_id string
readOnlyHint false idempotentHint true destructiveHint false
update-alert
annotations: verified low

Update an alert's query, schedule, recipients, name, or enabled state.

query string enabled boolean query_workspace_id string
readOnlyHint false idempotentHint true destructiveHint false
delete-alert
annotations: verified low

Permanently delete an alert. This cannot be undone.

url string type string headers record
readOnlyHint false idempotentHint true destructiveHint true
enable-alert
annotations: verified low

Enable (resume) a previously disabled alert.

url string type string headers record
readOnlyHint false idempotentHint true destructiveHint false
disable-alert
annotations: verified low

Disable (pause) an alert without deleting it.

url string type string headers record
readOnlyHint false idempotentHint true destructiveHint false
test-alert-webhook
annotations: verified low

Send a test payload to a webhook URL to verify delivery before wiring it to an alert.

url string type string headers record
readOnlyHint false idempotentHint true destructiveHint false
get-cve-details
annotations: none low

Get GreyNoise vulnerability intelligence for one CVE: CVSS/EPSS scores, KEV status, exploitation stats, and observed benign/threat IP activity. cve_id must match 'CVE-YYYY-NNNNN' (e.g. CVE-2023-6549); case-insensitive.

cve_id string
get-tag-list
annotations: none low

Retrieve the complete list of GreyNoise tags (from v3/tags, cached 1h). Returns JSON with count and each tag's name and slug. Takes no parameters.

Permissions 3

network medium
Server uses network capabilities via: fetch(), node-fetch
shell high
Server uses shell capabilities via: spawn()
env_vars low
Server uses env_vars capabilities via: process.env

Scan Findings 111

high
Permission: shell access detected permission_analyzer · 90%
low
Tool 'analyze-tags-activity' has no annotations annotation_checker · 100%
low
Tool 'search-tags' has no annotations annotation_checker · 100%
low
Tool 'get-tag-activity' has no annotations annotation_checker · 100%
low
Tool 'callback-ip-lookup' has no annotations annotation_checker · 100%
low
Tool 'list-callback-ips' has no annotations annotation_checker · 100%
low
Tool 'export-callback-ips' has no annotations annotation_checker · 100%
low
Tool 'callback-overview' has no annotations annotation_checker · 100%
low
Tool 'bsi-lookup' has no annotations annotation_checker · 100%
low
Tool 'bsi-bulk-lookup' has no annotations annotation_checker · 100%
low
Tool 'bsi-trust-stats' has no annotations annotation_checker · 100%
low
Tool 'bsi-company-stats' has no annotations annotation_checker · 100%
low
Tool 'bsi-category-stats' has no annotations annotation_checker · 100%
low
Tool 'gnql-timeseries-stats' has no annotations annotation_checker · 100%
low
Tool 'get-trending-vulnerabilities' has no annotations annotation_checker · 100%
low
Tool 'gnql-stats' has no annotations annotation_checker · 100%
low
Tool 'get-tag-details' has no annotations annotation_checker · 100%
low
Tool 'quick-check-ip' has no annotations annotation_checker · 100%
info
Tool 'export-sessions-pcap' annotations are consistent annotation_checker · 80%
low
Tool 'lookup-ip-context' has no annotations annotation_checker · 100%
low
Tool 'multi-ip-check' has no annotations annotation_checker · 100%
info
Tool 'create-blocklist' annotations are consistent annotation_checker · 80%
info
Tool 'list-blocklists' annotations are consistent annotation_checker · 80%
info
Tool 'get-blocklist' annotations are consistent annotation_checker · 80%
info
Tool 'update-blocklist' annotations are consistent annotation_checker · 80%
info
Tool 'delete-blocklist' annotations are consistent annotation_checker · 80%
low
Tool 'get-blocklist-ips' has no annotations annotation_checker · 100%
low
Tool 'get-session' has no annotations annotation_checker · 100%
low
Tool 'gnql-query' has no annotations annotation_checker · 100%
info
Tool 'get-session-pcap' annotations are consistent annotation_checker · 80%
low
Tool 'gnql-metadata-query' has no annotations annotation_checker · 100%
low
Tool 'gnql-timeseries' has no annotations annotation_checker · 100%
low
Tool 'search-sessions' has no annotations annotation_checker · 100%
low
Tool 'session-fields' has no annotations annotation_checker · 100%
low
Tool 'session-counts' has no annotations annotation_checker · 100%
low
Tool 'session-connections' has no annotations annotation_checker · 100%
low
Tool 'session-timeseries' has no annotations annotation_checker · 100%
info
Tool 'session-unique-values' annotations are consistent annotation_checker · 80%
info
Tool 'export-session-data' annotations are consistent annotation_checker · 80%
info
Tool 'create-alert' annotations are consistent annotation_checker · 80%
info
Tool 'list-alerts' annotations are consistent annotation_checker · 80%
info
Tool 'get-alert' annotations are consistent annotation_checker · 80%
info
Tool 'update-alert' annotations are consistent annotation_checker · 80%
info
Tool 'delete-alert' annotations are consistent annotation_checker · 80%
info
Tool 'enable-alert' annotations are consistent annotation_checker · 80%
info
Tool 'disable-alert' annotations are consistent annotation_checker · 80%
info
Tool 'test-alert-webhook' annotations are consistent annotation_checker · 80%
low
Tool 'get-cve-details' has no annotations annotation_checker · 100%
low
Tool 'get-tag-list' has no annotations annotation_checker · 100%
medium
OAuth implementation without PKCE auth_checker · 75%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.12.0 (GHSA-345p-7cg4-v4c7) dependency_analyzer · 95%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.12.0 (GHSA-8r9q-7v3j-jr4g) dependency_analyzer · 95%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.12.0 (GHSA-w48q-cv73-mx4w) dependency_analyzer · 95%
medium
Vulnerable dependency: tsup@8.0.0 (GHSA-3mv9-4h5g-vhg3) dependency_analyzer · 95%
info
package.json metadata manifest_parser · 100%
info
Tool: analyze-tags-activity manifest_parser · 75%
info
Tool: search-tags manifest_parser · 75%
info
Tool: get-tag-activity manifest_parser · 75%
info
Tool: callback-ip-lookup manifest_parser · 75%
info
Tool: list-callback-ips manifest_parser · 75%
info
Tool: export-callback-ips manifest_parser · 75%
info
Tool: callback-overview manifest_parser · 75%
info
Tool: bsi-lookup manifest_parser · 75%
info
Tool: bsi-bulk-lookup manifest_parser · 75%
info
Tool: bsi-trust-stats manifest_parser · 75%
info
Tool: bsi-company-stats manifest_parser · 75%
info
Tool: bsi-category-stats manifest_parser · 75%
info
Tool: gnql-timeseries-stats manifest_parser · 75%
info
Tool: get-trending-vulnerabilities manifest_parser · 75%
info
Tool: gnql-stats manifest_parser · 75%
info
Tool: get-tag-details manifest_parser · 75%
info
Tool: quick-check-ip manifest_parser · 75%
info
Tool: export-sessions-pcap manifest_parser · 75%
info
Tool: lookup-ip-context manifest_parser · 75%
info
Tool: multi-ip-check manifest_parser · 75%
info
Tool: create-blocklist manifest_parser · 75%
info
Tool: list-blocklists manifest_parser · 75%
info
Tool: get-blocklist manifest_parser · 75%
info
Tool: update-blocklist manifest_parser · 75%
info
Tool: delete-blocklist manifest_parser · 75%
info
Tool: get-blocklist-ips manifest_parser · 75%
info
Tool: get-session manifest_parser · 75%
info
Tool: session-unique-values manifest_parser · 75%
info
Tool: gnql-query manifest_parser · 75%
info
Tool: get-session-pcap manifest_parser · 75%
info
Tool: gnql-metadata-query manifest_parser · 75%
info
Tool: gnql-timeseries manifest_parser · 75%
info
Tool: search-sessions manifest_parser · 75%
info
Tool: session-fields manifest_parser · 75%
info
Tool: session-counts manifest_parser · 75%
info
Tool: session-connections manifest_parser · 75%
info
Tool: session-timeseries manifest_parser · 75%
info
Tool: export-session-data manifest_parser · 75%
info
Tool: create-alert manifest_parser · 75%
info
Tool: list-alerts manifest_parser · 75%
info
Tool: get-alert manifest_parser · 75%
info
Tool: update-alert manifest_parser · 75%
info
Tool: delete-alert manifest_parser · 75%
info
Tool: enable-alert manifest_parser · 75%
info
Tool: disable-alert manifest_parser · 75%
info
Tool: test-alert-webhook manifest_parser · 75%
info
Tool: get-cve-details manifest_parser · 75%
info
Tool: get-tag-list manifest_parser · 75%
info
Transport: stdio manifest_parser · 90%
info
Required env vars (6) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 90%
low
Permission: env_vars access detected permission_analyzer · 90%
info
SBOM generated: 498 components sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%