README
🚀 安全响应工具箱 MCP 服务器
安全响应工具箱 MCP 服务器为安全专业人士量身打造,提供了全面的模型上下文协议(MCP)服务。它集成了丰富的事件响应和网络分析工具,支持诸如 Claude 之类的 AI 代理开展各类网络查询与分析工作,极大地助力了安全调查的高效进行。
🚀 快速开始
安全响应工具箱 MCP 服务器提供了通过模型上下文协议访问的一系列网络和安全工具。它旨在作为通用目的服务,供网络安全事件响应人员使用,使其能够执行基本查找操作,包括:
✓ ASN 查找 ✓ DNS 记录查找(A, AAAA, MX 等) ✓ WHOIS 记录检索 ✓ IP 地理位置服务
✨ 主要特性
1. ASN 查找
- 功能:查询给定 IP 的自治系统编号 (ASN) 和相关详细信息。
- 输入:有效的 IPv4 或 IPv6 地址。
- 输出:包含 ASN、组织名称、注册商和地理位置的 JSON 响应。
2. DNS 记录查找
- 功能:查找指定域名的 DNS 记录(A, AAAA, MX 等)。
- 输入:正确的域名。
- 输出:包含所有相关 DNS 记录类型的详细信息,如 A、AAAA、MX 等。
3. WHOIS 记录检索
- 功能:检索指定域名的 WHOIS 注册信息。
- 输入:正确的域名。
- 输出:包含注册商、registrant、创建日期、到期日期等详细信息的 JSON 响应。
4. IP 地理位置服务
- 功能:根据 IP 地址获取地理位置信息。
- 输入:有效的 IPv4 或 IPv6 地址。
- 输出:包含国家、城市、邮政编码、经纬度和时区等详细信息的 JSON 响应。
🔧 技术细节
错误处理
每个工具遵循一致的错误处理模式:
通用错误响应格式:
{
"状态": "错误",
"错误": "详细错误消息",
"查询": "原始查询值"
}
工具特定错误示例:
- ASN 查找:
{
"ip_addr": "<查询的IP>",
"status": "error",
"error": "无效的 IP 地址格式"
}
- DNS 查找:
{
"domain": "<查询的域名>",
"record_type": "<请求的类型>",
"status": "error",
"error": "DNS 解决失败"
}
- WHOIS 查找:
{
"domain": "<查询的域名>",
"status": "error",
"error": "WHOIS 服务器不可用"
}
- 地理位置:
{
"ip_addr": "<查询的IP>",
"status": "error",
"error": "MaxMind 数据库未找到或许可证密钥无效"
}
项目结构
该项目遵循标准的 Python 包结构:
irtoolshed_mcp_server/ # 主包目录
├── __init__.py # 包初始化
├── asnlookup.py # ASN 查找功能
├── dnslookup.py # DNS 查找功能
├── geolookup.py # 地理位置功能
├── mcp_server.py # 主 MCP 服务器实现
└── whoislookup.py # WHOIS 查找功能
tests/ # 测试目录
├── test_asnlookup.py # ASN 查找测试
├── test_dnslookup.py # DNS 查找测试
├── test_geolookup.py # 地理位置测试
└── test_whoislookup.py # WHOIS 查找测试
📦 安装指南
设置开发环境
- 克隆此仓库:
git clone <repository-url>
cd ir-toolshed-mcp-server
- 创建虚拟环境并安装依赖项:
uv venv
source .venv/bin/activate # 在 Windows 上使用: .venv\Scripts\activate
uv pip install -e ".[dev]"
运行测试
要运行测试套件:
uv run pytest
这将:
- 运行
tests/目录中的所有测试 - 显示测试覆盖率信息
- 显示任何失败的详细输出
⚠️ 重要提示
某些测试需要额外配置:
- 地理位置测试需要 MaxMind GeoLite2 数据库和许可证密钥
- WHOIS 测试可能会失败,如果 WHOIS 服务不可用
代码质量
该项目使用多种工具来维护代码质量:
- 使用 Black 格式化代码:
uv run black .
- 使用 isort 排序导入:
uv run isort .
- 使用 mypy 运行类型检查:
uv run mypy .
- 使用 ruff 运行 linting:
uv run ruff .
📚 详细文档
未来计划
已完成: ✓ ASN 查找 ✓ DNS 记录查找(A, AAAA, MX 等)
Scan to join WeChat group