Greynoise

io.github.nickjlucker由 GitHub 账号 nickjlucker 发布v0.1.0更新于 Oct 24, 2026

MCP server for GreyNoise API - Check if IPs are internet background noise or targeted attacks

概览

AI 生成的概览

一个本地 MCP 服务器,通过查询 GreyNoise API,让助手判断 IP 地址是互联网背景扫描噪声、已知良性服务,还是可能针对性的攻击流量。

可以做什么
查询单个 IPv4 地址在 GreyNoise 中的噪声、RIOT 和分类结果,并给出对安全研判的含义解读。一次调用最多查询十个 IPv4 地址,返回合并的结果列表和图例。以资源形式读取 GreyNoise API 状态和速率限制信息。
适用场景
适合在 SOC 告警研判、事件响应、威胁狩猎或日志分析时使用,判断日志中的可疑 IP 是背景扫描器、已知良性服务,还是可能专门针对你的流量。
运行要求
通过 npx 或全局 npm 安装作为本地进程运行,需要 Node.js。每天约 10 次查询无需 API 密钥;设置 GREYNOISE_API_KEY 环境变量后,免费层可提升到每天 50 次。需要能访问 GreyNoise API 的网络。
安装前请注意
可选的 GREYNOISE_API_KEY 属于机密,不应提交到代码库或被记录。查询内容会发送给 GreyNoise,且速率限制与 GreyNoise Visualizer 共享。该服务器声明为只读,除当前请求外不存储数据。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Greynoise,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

mcp-greynoise

[npm version] [License: MIT]

MCP server for the GreyNoise API — check if IP addresses are internet background noise or potentially targeted attacks.

Quick Start

bash
npx mcp-greynoise

That's it. Works out of the box with 10 lookups/day (no API key needed).

What is GreyNoise?

GreyNoise collects and analyzes internet-wide scan traffic. It tells you:

  • Noise: Is this IP mass-scanning the internet? (botnets, researchers, crawlers)
  • RIOT: Is this IP a known benign service? (Google, Cloudflare, Microsoft, etc.)
  • Classification: Malicious, benign, or unknown

Why this matters for security

When you see suspicious traffic in your logs:

GreyNoise ResultInterpretation
NOISE + MaliciousBackground attack traffic (scanners, botnets) — likely untargeted
NOISE + BenignSecurity researchers, search crawlers — usually safe
RIOTKnown good service (CDN, DNS, cloud) — almost certainly benign
NOT NOISE⚠️ This IP is NOT mass-scanning — traffic may be targeted at you

The "NOT NOISE" case is often the most important — it suggests someone is specifically interested in your systems.

Demo

Example output from check_ip:

IP: 51.91.185.74Classification: MALICIOUSNoise: YES - This IP has been observed scanning the internetRIOT: NO - Not a known benign service IPLast Seen: 2024-01-15Details: https://viz.greynoise.io/ip/51.91.185.74
--- Interpretation ---🚨 This IP is actively scanning the internet and classified as MALICIOUS.    Likely a scanner, botnet, or threat actor.

Installation

npm (recommended)

bash
npm install -g mcp-greynoise

npx (no install)

bash
npx mcp-greynoise

From source

bash
git clone https://github.com/nickjlucker/mcp-greynoise.gitcd mcp-greynoisenpm installnpm run buildnode build/index.js

Configuration

Claude Desktop

Add to your claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

json
{  "mcpServers": {    "greynoise": {      "command": "npx",      "args": ["mcp-greynoise"],      "env": {        "GREYNOISE_API_KEY": "your-api-key-here"      }    }  }}

Environment Variables

VariableRequiredDescription
GREYNOISE_API_KEYNoAPI key for higher rate limits (50/day vs 10/day)

Get a free API key at viz.greynoise.io/signup.

⚠️ Never commit API keys. See .env.example for the recommended setup.

Tools

check_ip

Check a single IP address against GreyNoise.

Input:

  • ip (string): IPv4 address to check

check_ips

Check multiple IP addresses in one call (max 10).

Input:

  • ips (string[]): Array of IPv4 addresses

Example output:

=== Results ===8.8.8.8: RIOT (benign service) [Google]51.91.185.74: NOISE - MALICIOUS192.168.1.1: NOT NOISE (potentially targeted)
--- Legend ---RIOT: Known benign service (CDN, DNS, etc.)NOISE: IP is mass-scanning the internetNOT NOISE: IP is NOT mass-scanning (traffic may be targeted)

Resources

greynoise://status

Returns API status and rate limit information.

Rate Limits

TierDaily Lookups
Unauthenticated10
Free account50
Paid plansHigher

Rate limits are shared between API calls and the GreyNoise Visualizer.

Security

This server:

  • Only reads from the GreyNoise API (no scanning, no exploitation)
  • Does not store any data beyond the current request
  • Does not transmit your API key anywhere except to GreyNoise
  • Performs reputation/telemetry enrichment only

Your API key is passed via environment variable and never logged.

Use Cases

  • SOC Triage: Quickly determine if alert IPs are background noise or targeted
  • Incident Response: Identify if attacker IPs are mass-scanners or focused threats
  • Threat Hunting: Find IPs in your logs that aren't mass-scanners (potentially targeted)
  • Log Analysis: Reduce false positives by filtering out known scanners

Development

bash
# Install dependenciesnpm install
# Run in development modenpm run dev
# Build for productionnpm run build
# Run built versionnpm start

License

MIT

Links

来源:README.md,提交 6aa46ac

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分