使用说明
🌐 带MCP的DNS监控代理
一个智能的AI驱动的DNS域监控系统,可以让您跟踪 世界上任何域名 -无论你是否拥有它。非常适合监控您自己的域名,跟踪竞争对手的注册,并在有价值的域名即将过期时收到警报。使用模型上下文协议(MCP)、OpenAI代理和漂亮的Gradio接口构建。
💡 关键见解: 您可以跟踪和监控互联网上的任何域名,而不仅仅是您拥有的域名!获取竞争情报,识别收购机会,永远不要错过有价值的域名即将到期的时间。
🎯 为什么要跟踪任何域名?
你不需要拥有一个域名来跟踪它! 此工具非常适合:
- 🏢 竞争对手情报:监控竞争对手域名何时到期,以识别潜在的收购机会
- 💎 域名投资:跟踪高级域名,并在其即将过期时收到通知
- 🔒 品牌保护:监控与您的品牌相似的域名,并在域名可用时迅速采取行动
- 📈 市场调研:密切关注行业参与者及其域名组合
- 🎯 收购策略:建立一个要获取的域的监视列表,并在它们过期之前收到警报
✨ 特性
-
🌍 追踪全球任何域名:监控互联网上的任何域名-不需要所有权!
- 追踪您自己的域名
- 监控竞争对手域名
- 关注高级域名以寻找收购机会
- 建立一个你感兴趣的域名观察列表
-
🔍 全面的领域情报:获取任何域的完整DNS信息:
- 域名注册机构
- 创建日期
- 到期日期(确切知道到期时间!)
- 名称服务器
-
💾 自动跟踪数据库:自动将域信息保存到本地SQLite数据库
- 构建您的域名观察列表
- 追踪无限域名
- 历史跟踪数据
-
⏰ 智能过期监测:收到3个月内域名到期的通知,并根据紧急程度进行优先级排序:
- 🔴 严重:<7天(立即行动!)
- 🟡 警告:<30天(准备收购)
- 🟢 通知:<90天(开始计划)
-
🤖 AI驱动的代理:GPT-4o-mini支持的自然语言界面,可以理解您的查询
- “competitor-domain.com什么时候到期?”
- “跟踪竞争对手的所有域名”
- “显示本月到期的域名”
-
📊 投资组合管理:查看和管理您的整个域监视列表(拥有或跟踪)
-
🔔 自动推送通知:从不错过机会-收到以下提醒:
- 您的域名即将过期
- 竞争对手域名可用
- 高级域名可供争夺
-
🖥️ 漂亮的UI:基于Gradio的现代聊天界面,实现无缝交互
🔍 工作原理:跟踪任何域名
此工具利用 公共WHOIS数据 在互联网上查找任何注册域名的信息。您不需要拥有或拥有对域名的特殊访问权限来跟踪它——所有信息都来自公开可用的域名注册数据库。
您可以做什么:
-
查找任何域名:输入任何域名(例如。,
competitor.com)并立即获得:- 注册时
- 当它到期时
- 注册官是谁
- 它使用什么名称服务器
-
添加到观察列表:将任何域保存到您的跟踪数据库-构建以下监视列表:
- 您自己的域名
- 竞争对手域名
- 您要获取的域名
- 品牌保护目标
-
获取到期提醒:当跟踪的域即将过期时,接收自动通知:
- 您的域名(这样您就不会丢失它们)
- 竞争对手域名(因此您可以提出收购要约)
- 高级域名(这样您就可以在可用时注册它们)
工作流程示例:
1. Look up: "Check when competitor-domain.com expires"
→ Agent finds: "Expires on March 15, 2026"
2. Track it: "Add this to my watchlist"
→ Agent saves: Domain added to tracking database
3. Get alerted: (90 days before expiration)
→ Notification: "competitor-domain.com expires in 90 days!"
4. Take action: Contact owner, prepare to register, or make an offer
备注:此工具使用公开的WHOIS数据。任何人都可以合法访问检索到的所有信息。然而,始终尊重知识产权,并以合乎道德的方式使用这一工具。
🏗️ 建筑
该项目利用 模型上下文协议(MCP) 创建模块化、可扩展的系统:
-
MCP服务器:
dns_server.py-处理DNS查找和数据库操作push_server.py-管理通知传递
-
AI 代理:
dns_agent.py-编排工具并提供自然语言交互 -
用户界面:
user_interface.py-基于Gradio的聊天界面 -
核心逻辑:
dns_lookup.py-DNS API集成和数据库管理 -
监控:
monitor_dns.py-自动监控代理
📋 先决条件
- Python 3.11或更高版本
- 紫外线 -快速Python包安装程序
- API Ninjas API密钥(用于DNS查找)-在 api-ninjas.com
- OpenAI API密钥(用于AI代理)
🚀 安装
1.安装uv
# On macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# On Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# Or via pip
pip install uv
2.克隆存储库
git clone <repository-url>
cd Domain-Monitoring-Agent-MCP
3.安装依赖项
随着 uv,安装依赖关系非常简单-它会自动创建一个虚拟环境并安装所有内容:
# Install all dependencies (this creates .venv and installs packages)
uv sync
就是这样! uv 将:
- ✅ 在以下位置创建虚拟环境
.venv/ - ✅ 从安装所有必需的依赖项
pyproject.toml - ✅ 锁定依赖版本以实现可重复性
可选:安装开发依赖项(Jupyter笔记本)
uv sync --extra dev
4.配置环境变量
创建一个 .env 项目根目录中的文件:
# .env
API_NINJA=your_api_ninjas_key_here
OPENAI_API_KEY=your_openai_api_key_here
💻 用法
交互式聊天界面(推荐)
启动Gradio网络界面,获得用户友好的聊天体验:
uv run user_interface.py
然后打开浏览器 http://localhost:7860
您可以尝试的示例查询:
- “competitor-site.com什么时候到期?”(跟踪竞争对手域名!)
- “检查premium-domain.com的到期日期,并将其添加到我的监视列表中”
- “那个很酷的创业网站的注册商是谁?”
- “显示3个月内到期的所有域名”(查找收购机会)
- “查找mybrand-typo.com并跟踪它”(品牌保护)
- “列出我正在跟踪的所有域”
- “获取潜在收购的完整信息.com”
自动监控代理
运行自主监控代理,检查过期域并发送通知:
uv run monitor_dns.py
这将:
- 扫描所有被跟踪的域名(您的+竞争对手+目标)
- 识别3个月内到期的域名
- 按紧急程度排序(严重<7天,警告<30天)
- 为每个域发送推送通知
非常适合:
- 竞争对手域名即将过期时收到警报
- 从不错过优质域名机会
- 确保您自己的域名保持更新
MCP服务器独立
您还可以直接运行MCP服务器,以便与其他MCP客户端集成:
uv run dns_server.py
Python API用法
from dns_lookup import DNS
# Track a competitor's domain
competitor_dns = DNS(domain="competitor.com")
# Get expiration date - when does it expire?
expiry = competitor_dns.get_expiry_date()
print(f"Competitor domain expires: {expiry}")
# Get all information about the domain
all_info = competitor_dns.get_all_info()
print(all_info)
# Add competitor domain to your watchlist
save_result = competitor_dns.save_dns_search()
print(f"Added to watchlist: {save_result}")
# Track a premium domain you want to acquire
premium_dns = DNS(domain="premium-domain.com")
premium_info = premium_dns.get_all_info()
premium_dns.save_dns_search()
# Check all domains expiring soon (acquisition opportunities!)
expiring = DNS.watch_dns()
print(f"Domains expiring soon: {expiring}")
# View your complete watchlist (owned + tracked domains)
all_domains = DNS.get_all_tracked_domains()
print(f"Total domains tracked: {all_domains['total_domains']}")
📁 项目结构
Domain-Monitoring-Agent-MCP/
├── dns_agent.py # AI agent orchestration
├── dns_server.py # MCP server for DNS operations
├── dns_lookup.py # Core DNS lookup and database logic
├── user_interface.py # Gradio web interface
├── monitor_dns.py # Automated monitoring agent
├── push_server.py # Push notification MCP server
├── dns_records.db # SQLite database (auto-created)
├── dns_agent.ipynb # Jupyter notebook for experimentation
├── .env # Environment variables (create this)
├── .venv/ # Virtual environment (created by uv)
├── pyproject.toml # Project metadata and dependencies
├── uv.lock # Locked dependency versions
├── .gitignore # Git ignore patterns
├── docs/ # Documentation
│ └── static/ # Screenshots and assets
└── README.md # This file
🛠️ 可用的MCP工具
DNS服务器通过MCP公开以下工具:
| 工具 | 说明 |
|---|---|
get_registrar |
获取域名注册商信息 |
get_creation_date |
获取域创建日期 |
get_expiry_date |
获取域过期日期 |
get_name_servers |
获取域名服务器 |
get_all_dns_info |
一次获取所有DNS信息 |
save_dns_search |
将域保存到跟踪数据库 |
lookup_and_save_domain |
查找和保存在一个操作中 |
watch_dns |
获取3个月内到期的域名 |
get_all_tracked_domains |
获取所有被跟踪的域名 |
🔧 使用的技术
- 紫外线 -快速Python包和项目管理器
- 模型上下文协议(MCP) -通用AI集成协议
- FastMCP -FastAPI风格的MCP服务器框架
- OpenAI代理 -AI代理编排
- 格拉迪奥 -机器学习应用程序的Web UI
- API忍者 -WHOIS/DNS数据API
- SQLite -用于域跟踪的轻量级数据库
- 派丹蒂克 -数据验证和设置管理
- Python dotenv -环境变量管理
- 请求: -API调用的HTTP库
已安装的依赖项
运行后 uv sync,安装了以下软件包:
核心依赖关系:
requests-DNS API的HTTP请求python-dotenv-环境配置pydantic-数据验证gradio-Web界面mcp-模型上下文协议fastmcp-MCP服务器框架openai-agents-AI代理编排
开发依赖关系(可选):
jupyter-笔记本电脑环境ipykernel-Jupyter内核
🎯 用例
💼 竞争情报
- 监控竞争对手域名:跟踪竞争对手的域名何时到期
- 收购机会:在有价值的竞争对手域名即将过期时收到通知
- 市场分析:了解竞争对手的领域战略和投资组合
- 品牌保护:监控类似域名和打字尝试
💰 域名投资与收购
- 高级域名搜索:跟踪高价值域名,并在过期前收到警报
- 投资组合构建:监控您要获取的域,并在正确的时间采取行动
- 接住水滴:确切知道域名何时可以注册
- ROI优化:不要错过宝贵的域名机会
🏢 商业和个人使用
- 个人域名组合:在一个地方跟踪您的所有域名注册
- 关键业务领域:确保您的重要域名永不过期
- 代理/客户管理:跟踪客户端域并接收续订提醒
- 域名经销商运营:通过自动警报管理大型投资组合
🔒 安全和品牌监控
- 品牌保护:在其他人抢走之前,监控与你的品牌相似的域名
- 安全监控:跟踪重要域并检测注册更改
- 防御性注册:知道何时保护与您的品牌相关的域名
现实世界场景
- 📌 “我竞争对手的域名将在15天后到期,这是提出报价的最佳时机”
- 📌 “我想要的高级域名将于下个月到期!”
- 📌 “有人注册了与我的品牌类似的域名-我需要跟踪它”
- 📌 “我想知道competitor.com什么时候可以续订”
❓ 常见问题解答
追踪我不拥有的域名合法吗?
对! 该工具使用任何人都可以访问的公开WHOIS数据。域名注册信息按设计是公开的(ICANN要求)。然而:
- ✅ 在道德和法律上使用此工具
- ✅ 尊重知识产权和商标权
- ✅ 请勿用于恶意目的
- ✅ 遵守当地有关域名获取的法律
我可以追踪竞争对手的域名吗?
当然! 这是主要用例之一。许多企业监控竞争对手的域名,以:
- 了解他们的数字战略
- 识别收购机会
- 保护他们的品牌
- 随时了解行业动态
域名所有者知道我在跟踪他们吗?
号码 查找WHOIS数据是一项标准的被动操作。当您查询域所有者的信息时,不会向其发送通知。
当跟踪的域过期时会发生什么?
该工具将在到期前(最多提前90天)提醒您。域过期后,通常会经过以下步骤:
- 宽限期 (0-45天):所有者可以续订
- 赎回期 (30天):业主可以以更高的成本收回
- 删除期 (5天):即将上市
- 可用:你可以注册!
我可以跟踪具有隐私保护的域名吗?
您可以跟踪它们,但由于隐私服务,一些WHOIS信息可能会被编辑。您通常仍会收到到期日期和注册商信息。
🤝 贡献
欢迎投稿!请随时提交拉取请求。
📝 许可证
这个项目是开源的,可以在MIT许可证下使用。
🙏 致谢
📧 支持
有关问题、疑问或建议,请在存储库上打开问题。
由以下材料制成❤️ 使用MCP和AI代理