模型上下文协议-Censys查询工具
一种模型上下文协议服务器,它能够通过自然语言查询 Censys 搜索 API 来进行域名、IP 和 FQDN 的侦查,实时提供有关主机、DNS、证书和服务的信息。
服务介绍
mcp-censys
mcp-censys 是一个 MCP 服务器,它利用 Censys Search API 进行实时的域名、IP 和 FQDN 侦察,现在增强了 MCP 提示模板。
[!CAUTION]
本项目仅用于演示目的,并非生产就绪。这不是官方支持的产品。
概述
mcp-censys 将自然语言提示转换为有针对性的 Censys 查询 — 实时呈现主机、DNS、证书和服务信息。它设计为与 Claude Desktop 或任何其他 Model Context Protocol (MCP) 客户端一起工作。
基于官方 Censys Python SDK 构建,这个轻量级容器通过 Claude 友好的功能提供了精确的侦察工具。
[!NEW] MCP 提示模板
此版本引入了 MCP 提示模板 - 预定义的指令集,指导 Claude 对域名数据进行分析。这些模板提供了如何组织和呈现发现结果的结构化指导,确保一致且高质量的输出。了解更多关于 MCP 提示的信息。
功能
- 对话式查询:使用自然语言访问 Censys 情报
- 域名和 IP 查找:获取 DNS 名称、ASN、服务和 TLS 上下文
- 新 FQDN 发现:从 DNS 和证书数据中找到最近看到的子域名
- MCP 兼容工具:直接从 Claude Desktop 使用
- MCP 提示模板:✨ 内置的结构化指导模板,指示 Claude 如何分析和呈现域名数据(了解更多关于 MCP 提示的信息)
- Docker 化并支持 .env:安全、可重复使用
- 轻量级 API 客户端:基于 Censys Python SDK
工具
- lookup_domain - 获取域的综合 IP、DNS 名称、服务和 ASN 信息(汇总所有结果),并带有 内置的 MCP 提示,指导 Claude 将发现结果组织成有意义的部分
- lookup_domain_detailed - 返回与域名查询匹配的 3 条实际主机记录样本,包括服务、ASN、地理位置和 TLS 数据,以及有关总可用记录数的信息和 结构化的 MCP 提示,以进行全面的基础架构分析
- lookup_ip - 用 DNS、ASN、服务信息和 TLS 元数据丰富一个 IP
- new_fqdns - 找到通过 DNS 和证书观察到的最近的 FQDN
- host_services - 列出给定域名或 IP 的开放端口和服务横幅
快速入门指南
1. 域名查找 (lookup_domain)
通过汇总特定域名的所有 IP、DNS 名称、服务横幅和 ASN 信息来返回完整信息。有助于理解域名解析到的基础设施。
示例:
User: What's behind mailchimp.com?
AI: mailchimp.com resolves to multiple IPs operated by The Rocket Science Group (AS2635). The domain exposes ports 80 and 443 with HTTP services, and reverse DNS shows aliases like smtp.mailchimp.com and us1.admin.mailchimp.com. Several servers respond with the banner 'mailchimp-nginx'.
2. 详细域名查找 (lookup_domain_detailed)
提供与域名查询匹配的实际主机记录样本(限制为 3 条),以及有关总记录数的信息。
示例:
User: Show me detailed records for mailchimp.com
AI: I found 42 host records for mailchimp.com. Here's a sample of 3:
IP: 205.201.131.98 - Located in Atlanta, GA (The Rocket Science Group)
Services: HTTP/80, HTTPS/443, SMTP/25
OS: Ubuntu 18.04
IP: 205.201.132.24 - Located in Atlanta, GA (The Rocket Science Group)
Services: HTTP/80, HTTPS/443
TLS: TLSv1.2, RSA 2048-bit
IP: 198.2.131.20 - Located in Atlanta, GA (The Rocket Science Group)
Services: SMTP/25, SMTP/587
TLS: TLSv1.2, DH 2048-bit
There are 39 additional records not displayed.
3. IP 查找 (lookup_ip)
丰富一个 IP 的 DNS、ASN、服务信息和 TLS 元数据。
示例:
User: Tell me about 184.29.22.16
AI: 184.29.22.16 is associated with Akamai (AS20940). It has two services exposed: HTTP on port 80 and HTTPS on 443. It's hosted in the United States and uses a TLS certificate issued by Let's Encrypt.
提供IP的完整上下文,包括DNS名称、ASN、TLS证书、服务和位置数据。
示例:
User: Tell me about 184.29.22.16
AI: 184.29.22.16 is associated with Akamai (AS20940). It has two services exposed: HTTP on port 80 and HTTPS on 443. It's hosted in the United States and uses a TLS certificate issued by Let's Encrypt.
4. 新FQDN发现 (new_fqdns)
从DNS记录和证书透明度日志中查找最近观察到的FQDN。
示例:
User: What new fqdns has microsoft.com had in the last 3 days?
AI: In the last 3 days, 17 FQDNs were observed for microsoft.com, including:
login.microsoft.com (seen in DNS and certs)
api.microsoft.com (seen in certs only)
graph.microsoft.com (seen in DNS only)
teams.microsoft.com (seen in DNS and certs)
5. 主机服务 (host_services)
快速识别给定IP上开放的端口及其上运行的服务。
示例:
User: What ports are open on example.com?
AI: example.com (93.184.216.34) has the following services:
HTTP on port 80 (last seen 2 hours ago)
HTTPS on port 443 (last seen 2 hours ago)
安装
# Clone the repository
git clone https://github.com/yourusername/mcp-censys.git
cd mcp-censys
# Build the Docker image
docker build -t mcp/censys .
# .env should contain:
CENSYS_API_ID=your_censys_api_id
CENSYS_API_SECRET=your_censys_api_secret
MCP配置
将以下内容添加到您的Claude Desktop配置中:
"censys": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--env-file", "/Users/yourname/.env.censys",
"mcp/censys"
]
}
截图
通过Claude Desktop使用lookup_domain、lookup_domain_detailed和lookup_ip工具操作mcp-censys:

此示例显示了对
mailchimp.com的域名查询请求,返回IP、ASN、子域名、服务和基础设施——全部来自自然语言查询。

此示例展示了对
mailchimp.com的详细域名查询请求,返回IP、ASN、子域名、BGP、TLS信息、服务和基础设施。

此示例演示了对
23.204.1.14的IP查询,返回坐标、正向和反向DNS及服务。
故障排除
没有返回结果:
- 确保目标是公开可见的
- 检查您的API密钥和速率限制
- 基于DNS的结果依赖于Censys的最新观察
性能提示:
- 单次扫描一个域名或IP以获得更快的结果
- 使用
lookup_domain或lookup_ip获取聚焦的数据
API响应问题:
- 如果遇到结果格式化错误,请确保您使用的是最新版本
- 工具自动处理分页——
lookup_domain收集所有可用结果,而lookup_domain_detailed仅显示有限样本 - 对于有很多结果的域名,由于多个API请求,查询可能需要更长时间才能完成
限制
new_fqdns不代表真正的“首次看到”的FQDN;它按最后观察的时间戳过滤- 该工具旨在用于对话式的单目标分析(不适合批量扫描)
lookup_domain_detailed仅显示3条记录以保持响应可管理性,即使有更多记录可用也是如此
许可证
MIT许可证
致谢
- Censys Python SDK (https://github.com/censys/censys-python)
- Model Context Protocol (https://modelcontextprotocol.io/)
- Claude Desktop (https://www.anthropic.com)