npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

osint-mcp-server

v0.2.0

Published

OSINT intelligence MCP server — Shodan, VirusTotal, SecurityTrails, Censys, DNS, WHOIS, crt.sh, Wayback, BGP

Readme


问题

开源情报(OSINT)收集是每次渗透测试、漏洞赏金和威胁评估的第一步。所需数据分散在十几个平台上 — 每个平台有各自的 API、各自的认证方式、各自的速率限制、各自的输出格式。如今,你需要在一个标签页打开 Shodan,另一个标签页打开 VirusTotal,在终端运行 dig,从 WHOIS 复制粘贴,再切换到 crt.sh 查证书,然后花 30 分钟手动关联所有信息。

传统 OSINT 工作流:
  解析 DNS 记录                  →  dig / nslookup 命令行
  查询 WHOIS 注册信息            →  whois 命令行或网页工具
  枚举子域名                     →  crt.sh + SecurityTrails + VirusTotal(3 个不同界面)
  扫描开放端口/服务              →  Shodan 网页界面
  检查域名信誉                   →  VirusTotal 网页界面
  映射 IP 基础设施               →  Censys + BGP 查询
  查找归档页面                   →  Wayback Machine 网页界面
  检查邮件安全                   →  手动 MX/SPF/DMARC 查询
  关联所有信息                   →  复制粘贴到电子表格
  ─────────────────────────────────
  总计:每个目标 45 分钟以上,大部分时间在切换上下文

osint-mcp-server 通过 Model Context Protocol 为您的 AI 智能体提供跨 12 个数据源的 37 个工具。智能体并行查询所有数据源、关联数据、识别风险,并在单次对话中呈现统一的情报全景。

使用 osint-mcp-server:
  你:"对 target.com 做一次全面侦察"

  智能体:→ DNS:4 条 A 记录、3 条 MX(Google Workspace)、2 条 NS
          → WHOIS:2019 年注册,2025 年到期,GoDaddy
          → crt.sh:从 CT 日志发现 47 个唯一子域名
          → HackerTarget:23 个带 IP 的主机
          → 邮件安全:SPF 软失败(~all)、DMARC p=none、无 DKIM
          → Shodan:3 个 IP、12 个开放端口、Apache 2.4.49(CVE-2021-41773)
          → VirusTotal:信誉良好,0 个检测
          → "target.com 有 47 个子域名,邮件安全薄弱
             (SPF 软失败、DMARC 仅监控),一个 IP 运行着
             存在已知路径遍历 CVE 的 Apache 2.4.49。
             优先级:修补 Apache、将 SPF 升级为 -all、
             将 DMARC 设为 p=reject。"

有何不同

现有 OSINT 工具每次只从单一来源提供原始数据。osint-mcp-server 让您的 AI 智能体能够跨所有数据源同时推理分析


快速开始

方式一:npx(免安装)

npx osint-mcp-server

21 个公共 OSINT 工具即刻可用,无需 API 密钥。

方式二:克隆仓库

git clone https://github.com/badchars/osint-mcp-server.git
cd osint-mcp-server
bun install

环境变量(可选)

# 付费 OSINT 数据源 — 全部可选
export SHODAN_API_KEY=your-key           # 启用 4 个 Shodan 工具
export VT_API_KEY=your-key               # 启用 4 个 VirusTotal 工具
export ST_API_KEY=your-key               # 启用 3 个 SecurityTrails 工具
export CENSYS_API_ID=your-id             # 启用 3 个 Censys 工具
export CENSYS_API_SECRET=your-secret     # 需与 CENSYS_API_ID 配合使用

所有付费 API 密钥均为可选。不配置任何密钥,您仍可使用 21 个工具,覆盖 DNS、WHOIS、crt.sh、GeoIP、BGP、Wayback Machine、HackerTarget 和 Microsoft 365 租户发现。

连接到 AI 智能体

# 使用 npx
claude mcp add osint-mcp-server -- npx osint-mcp-server

# 使用本地克隆
claude mcp add osint-mcp-server -- bun run /path/to/osint-mcp-server/src/index.ts

添加至 ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "osint": {
      "command": "npx",
      "args": ["-y", "osint-mcp-server"],
      "env": {
        "SHODAN_API_KEY": "optional",
        "VT_API_KEY": "optional",
        "ST_API_KEY": "optional",
        "CENSYS_API_ID": "optional",
        "CENSYS_API_SECRET": "optional"
      }
    }
  }
}

JSON 配置格式相同。将命令指向 npx osint-mcp-server 或您的本地安装路径。

开始查询

你:"能查到 example.com 的哪些信息?"

就这么简单。智能体会自动处理 DNS、WHOIS、子域名、邮件安全等查询。


AI 能做什么

域名侦察

你:"对 target.com 做全面侦察"

智能体:→ osint_domain_recon {domain: "target.com"}
        → DNS:A 记录指向 3 个 IP(AWS us-east-1)
        → WHOIS:2018 年通过 Namecheap 注册,2026 年到期
        → crt.sh:发现 62 个子域名
        → HackerTarget:31 个已解析 IP 的主机
        → 邮件安全:SPF 硬失败、DMARC p=reject、DKIM 已配置(selector1)
        → "target.com 的邮件安全配置良好。
           发现 62 个子域名——值得关注的有:staging.target.com、
           admin-portal.target.com、api-v2.target.com。
           基础设施部署在 AWS(us-east-1)。"

攻击面映射

你:"映射 203.0.113.50 的攻击面"

智能体:→ shodan_host {ip: "203.0.113.50"}
        → geoip_lookup {ip: "203.0.113.50"}
        → bgp_ip {ip: "203.0.113.50"}
        → whois_ip {ip: "203.0.113.50"}
        → dns_reverse {ip: "203.0.113.50"}
        → "203.0.113.50(Hetzner,德国,AS24940)
           开放端口:22/SSH、80/HTTP、443/HTTPS、8080/HTTP-Proxy
           Apache 2.4.51、OpenSSH 8.9、8080 上的 nginx 反向代理
           反向 DNS:web1.target.com
           Shodan 标记了 3 个已知 CVE"

子域名枚举(多源聚合)

你:"用所有可用数据源查找 target.com 的全部子域名"

智能体:→ crtsh_search {domain: "target.com"}              → 62 个子域名
        → st_subdomains {domain: "target.com"}              → 84 个子域名
        → vt_subdomains {domain: "target.com"}              → 41 个子域名
        → hackertarget_hostsearch {domain: "target.com"}    → 31 个主机
        → dns_wildcard_check {domain: "target.com"}         → 无泛解析
        → "跨 4 个数据源去重后共发现 127 个唯一子域名。
           值得关注的发现:staging.target.com、dev-api.target.com、
           jenkins.target.com(CI/CD 暴露风险)、
           old-admin.target.com(可能为遗留系统)"

邮件安全审计

你:"分析 target.com 的邮件安全态势"

智能体:→ dns_email_security {domain: "target.com"}
        → dns_spf_chain {domain: "target.com"}
        → m365_tenant {domain: "target.com"}
        → "邮件安全:高风险
           SPF:~all(软失败——可被伪造)
           DMARC:p=none(仅监控——未执行策略)
           DKIM:selector1 已配置(2048 位,良好)
           SPF 链:7 个 include、2 个服务(Google Workspace、SendGrid)
           M365:非 Microsoft 租户
           建议:
           1. 将 SPF 从 ~all 升级为 -all
           2. 将 DMARC 从 p=none 改为 p=quarantine,再改为 p=reject
           3. 为 DMARC 添加 rua= 以接收聚合报告"

历史情报

你:"target.com 三年前运行的是什么?"

智能体:→ wayback_urls {domain: "target.com", limit: 500}
        → st_dns_history {domain: "target.com", type: "a"}
        → wayback_snapshots {url: "https://target.com/robots.txt"}
        → "DNS 历史:target.com 于 2023 年从 198.51.100.1(DigitalOcean)
           迁移至 203.0.113.50(AWS)。
           Wayback 发现 342 个唯一 URL,包括:
           - /admin/(2024 年移除,此前可访问)
           - /api/v1/docs(Swagger UI,仍有缓存)
           - /wp-content/(曾是 WordPress,已迁移)
           旧版 robots.txt 禁止了 /internal/ 和 /debug/"

工具参考(37 个工具)

| 工具 | 描述 | |------|------| | dns_lookup | 解析 A、AAAA、MX、TXT、NS、SOA、CNAME、SRV 记录 | | dns_reverse | IP 地址的反向 DNS(PTR)查询 | | dns_email_security | SPF + DMARC + DKIM 分析,含风险评分和修复建议 | | dns_spf_chain | 递归 SPF include 链解析,含服务识别 | | dns_srv_discover | SRV + CNAME 服务发现(Autodiscover、LDAP、SIP、Kerberos 等) | | dns_wildcard_check | 通过随机子域名探测检测泛解析 DNS |

| 工具 | 描述 | |------|------| | whois_domain | RDAP 域名查询 — 注册商、日期、域名服务器、联系人 | | whois_ip | RDAP IP 查询 — 网络名称、CIDR、国家、实体 |

| 工具 | 描述 | |------|------| | crtsh_search | 通过 crt.sh 搜索 CT 日志 — 子域名发现 + 证书详情 |

| 工具 | 描述 | |------|------| | shodan_host | IP 详情:开放端口、服务、Banner、漏洞、操作系统、ASN | | shodan_search | Shodan 查询语言搜索(如 apache port:443 country:US) | | shodan_dns_resolve | 通过 Shodan 批量主机名转 IP 解析 | | shodan_exploits | 搜索公开漏洞利用数据库(PoC、Metasploit 模块) |

| 工具 | 描述 | |------|------| | vt_domain | 域名信誉、检测统计、分类、DNS 记录 | | vt_ip | IP 信誉、检测统计、ASN、网络 | | vt_subdomains | 通过 VirusTotal 枚举子域名 | | vt_url | URL 扫描 + 恶意软件/钓鱼分析 |

| 工具 | 描述 | |------|------| | st_subdomains | 子域名枚举(返回完整域名) | | st_dns_history | 历史 DNS 记录,含首次/末次发现日期 | | st_whois | 增强版 WHOIS,含注册人/管理/技术联系人 |

| 工具 | 描述 | |------|------| | censys_hosts | 主机搜索 — IP、服务、端口、位置、ASN | | censys_host_details | 单主机完整详情及所有服务 | | censys_certificates | 按域名、指纹、颁发者搜索证书 |

| 工具 | 描述 | |------|------| | geoip_lookup | IP 地理定位:国家、城市、ISP、ASN、代理/托管/VPN 检测 | | geoip_batch | 批量 IP 地理定位(单次最多 100 个 IP) |

| 工具 | 描述 | |------|------| | bgp_asn | ASN 详情 + 所有已宣告的 IPv4/IPv6 前缀 | | bgp_ip | IP 前缀/ASN 路由查询,含 RIR 分配信息 | | bgp_prefix | 前缀详情 + 宣告该前缀的 ASN |

| 工具 | 描述 | |------|------| | wayback_urls | 归档 URL 发现 — 查找旧端点、隐藏路径、已删除内容 | | wayback_snapshots | 快照历史,含时间戳和直接归档链接 |

| 工具 | 描述 | |------|------| | hackertarget_hostsearch | 主机/子域名发现,含已解析 IP | | hackertarget_reverseip | 反向 IP 查询 — 查找同一 IP 上的所有域名 | | hackertarget_aslookup | ASN 信息查询 |

| 工具 | 描述 | |------|------| | m365_tenant | 发现 M365 租户 ID、区域和 OpenID 配置 | | m365_userrealm | 检测认证类型(托管/联合)、联合品牌、认证端点 |

| 工具 | 描述 | |------|------| | osint_list_sources | 列出所有 OSINT 数据源、API 密钥状态和工具数量 | | osint_domain_recon | 快速侦察,整合所有免费数据源(DNS + WHOIS + crt.sh + HackerTarget + 邮件安全) |


数据源(12 个)

| 数据源 | 认证 | 速率限制 | 提供的数据 | |--------|------|----------|-----------| | DNS | 无 | 无 | A、AAAA、MX、TXT、NS、SOA、CNAME、SRV、PTR 记录 | | RDAP | 无 | 1 次/秒 | 域名和 IP 的 WHOIS 数据(注册商、日期、联系人、CIDR) | | crt.sh | 无 | 0.5 次/秒 | 证书透明度日志、子域名发现 | | ip-api.com | 无 | 45 次/分 | IP 地理定位、ISP、ASN、代理/VPN/托管检测 | | BGPView | 无 | 0.5 次/秒 | ASN 详情、已宣告前缀、IP 路由信息 | | HackerTarget | 无 | 2 次/秒 | 主机搜索、反向 IP、ASN 查询(免费每日 50 次) | | Wayback Machine | 无 | 1 次/秒 | 归档 URL、快照历史、历史内容 | | Microsoft 365 | 无 | 无 | 租户发现、联合身份检测、认证类型 | | Shodan | SHODAN_API_KEY | 1 次/秒 | 全网端口/服务/Banner 扫描 | | VirusTotal | VT_API_KEY | 4 次/分 | 域名/IP/URL 信誉、恶意软件检测 | | SecurityTrails | ST_API_KEY | 1 次/秒 | DNS 历史、子域名枚举、增强版 WHOIS | | Censys | CENSYS_API_ID | 1 次/秒 | 主机搜索、证书透明度、服务发现 |


架构

src/
├── index.ts                    Entry point, env config, MCP stdio
├── types/
│   └── index.ts                ToolDef, ToolContext, ToolResult
├── protocol/
│   ├── tools.ts                37 tool definitions (Zod schemas)
│   └── mcp-server.ts           MCP server + stdio transport
├── dns/
│   └── index.ts                6 functions — lookup, reverse, email, SPF chain, SRV, wildcard
├── whois/
│   └── index.ts                2 functions — domain RDAP, IP RDAP
├── crtsh/
│   └── index.ts                CT log search with dedup + caching
├── shodan/
│   └── index.ts                Host, search, DNS resolve, exploits
├── virustotal/
│   └── index.ts                Domain, IP, subdomains, URL scan
├── securitytrails/
│   └── index.ts                Subdomains, DNS history, WHOIS
├── censys/
│   └── index.ts                Host search, host details, certificates
├── geoip/
│   └── index.ts                Single + batch IP geolocation
├── bgp/
│   └── index.ts                ASN, IP prefix, prefix details
├── wayback/
│   └── index.ts                URL search + snapshot history
├── hackertarget/
│   └── index.ts                Host search, reverse IP, ASN
├── m365/
│   └── index.ts                Tenant discovery, user realm/federation
├── meta/
│   ├── sources.ts              Source availability check
│   └── recon.ts                Combined free-source domain recon
└── utils/
    ├── rate-limiter.ts          Queue-based rate limiter
    ├── cache.ts                 Generic TTL cache
    └── require-key.ts           API key validation helper

设计决策:

  • 12 个数据提供方,1 个服务器 — 每个 OSINT 数据源都是独立模块。智能体根据查询自行选择使用哪些工具。
  • 21 个免费工具 — DNS、WHOIS、crt.sh、BGP、GeoIP、Wayback、HackerTarget 和 M365 无需任何 API 密钥即可使用。付费数据源为增量补充。
  • 并行查询osint_domain_recon 通过 Promise.allSettled 调用 8 个数据源。即使某个数据源超时,其余仍能返回数据。
  • 按提供方独立限速 — 每个数据源拥有独立的 RateLimiter 实例,按其 API 限制精确校准。无共享瓶颈。
  • TTL 缓存 — crt.sh(15 分钟)、BGP(30 分钟)、Shodan(5 分钟)、VirusTotal(10 分钟)的结果会被缓存,避免多工具工作流中的重复 API 调用。
  • 优雅降级 — 缺少 API 密钥不会导致服务器崩溃。工具返回描述性错误信息:"设置 SHODAN_API_KEY 以启用 Shodan 工具。"
  • SPF 链分析 — 递归 include 解析,具备环路检测、服务识别(Google Workspace、Microsoft 365、SendGrid 等)和 RFC 7208 查询次数限制检查。
  • 仅 2 个依赖@modelcontextprotocol/sdkzod。所有 HTTP 使用原生 fetch,所有 DNS 使用 node:dns/promises

限制

  • 免费层速率限制适用:HackerTarget(50 次/天)、ip-api.com(45 次/分钟)、VirusTotal 社区版(4 次/分钟)
  • crt.sh 对大型域名查询可能较慢(已设置 30 秒超时)
  • ip-api.com 免费层要求使用 HTTP(非 HTTPS)
  • Wayback Machine CDX API 对高流量域名可能超时
  • 通过 RDAP 获取的 WHOIS 可能无法覆盖所有 TLD(部分注册商尚未支持 RDAP)
  • 已在 macOS / Linux 测试(Windows 未测试)

MCP 安全套件

| 项目 | 领域 | 工具 | |------|------|------| | hackbrowser-mcp | 基于浏览器的安全测试 | 39 个工具,Firefox,注入测试 | | cloud-audit-mcp | 云安全(AWS/Azure/GCP) | 38 个工具,60+ 项检查 | | github-security-mcp | GitHub 安全态势 | 39 个工具,45 项检查 | | cve-mcp | 漏洞情报 | 23 个工具,5 个数据源 | | osint-mcp-server | 开源情报与侦察 | 37 个工具,12 个数据源 |