IR工具化MCP服务器
提供事件响应的综合模型上下文协议(MCP)服务器 以及安全专业人员的网络分析工具。此服务器允许AI 像Claude这样的代理执行各种与网络相关的查找和分析 协助安全调查。
概述
IR Toolshed MCP服务器提供了一套网络和安全工具 可通过模型上下文协议访问。它的设计是通用的 为网络事件响应者提供服务,使他们能够执行基本的查找 使用:
- ASN(自治系统编号)查找
- DNS查找和分析
- WHOIS记录检索
- IP地理定位
- 更多的网络分析功能即将推出
每个工具都附有详细的文档作为资源,使其 易于人工智能系统理解如何使用工具以及输出什么 期待。
当前工具
ASN查找工具
ASN查找工具返回有关IP地址的信息,包括:
- 查询的IP地址
- 与IP地址关联的AS号
- 拥有AS号码的组织的名称
DNS查找工具
DNS查找工具提供域的DNS记录信息:
- 支持多种记录类型(A、AAAA、MX、NS、TXT)
- 返回格式化的DNS记录
- 处理IPv4和IPv6查询
WHOIS查询工具
WHOIS查找工具检索域注册信息:
- 域所有权详细信息
- 注册日期
- 名称服务器信息
- 注册商详细信息
地理定位工具
IP地理定位工具使用MaxMind的GeoLite2数据库提供位置信息:
- 国家和城市级位置数据
- 经纬度坐标
- 网络信息
- 时区数据
注意:地理定位工具需要MaxMind许可证密钥。你可以:
- 从以下位置获取免费密钥:https://dev.maxmind.com/geoip/geolite2-free-geolocation-data
- 要么:
- 设置MAXMIND_LICENSE_KEY环境变量 - 使用工具时将其作为参数提供 - 出现提示时输入
未来的版本中将添加更多工具。
先决条件
- Python 3.8或更高版本(建议使用3.13以上版本)
- 紫外线 Python包管理器
安装
- 克隆此存储库:
git clone
cd ir-toolshed-mcp-server- 创建虚拟环境:
uv venv- 激活虚拟环境:
在Windows上:
.venv\Scripts\activate在macOS/Linux上:
source .venv/bin/activate- 在开发模式下安装软件包:
uv pip install -e .运行服务器
使用以下命令启动MCP服务器:
uv run mcp dev src/mcp_server.py这将以开发模式启动服务器,使其可供MCP使用 像Claude Desktop这样的客户。
使用工具
ASN查找工具
当连接到MCP客户端(如Claude Desktop)时,您可以使用ASN 通过提供IP地址查找工具:
asnlookup("8.8.8.8")输出示例:
{
"ip_addr": "8.8.8.8",
"as_number": "15169",
"as_name": "GOOGLE - Google LLC"
}DNS查找工具
当连接到MCP客户端(如Claude Desktop)时,您可以使用DNS 通过提供域来查找工具:
dnslookup("example.com")输出示例:
{
"domain": "example.com",
"record_type": "A",
"record_value": "93.184.216.34"
}WHOIS查询工具
当连接到MCP客户端(如Claude Desktop)时,您可以使用WHOIS 通过提供域来查找工具:
whoislookup("example.com")输出示例:
{
"domain": "example.com",
"ownership_details": "Google LLC",
"registration_date": "2004-04-26",
"nameserver_information": "ns1.google.com",
"registrar_details": "MarkMonitor Inc."
}地理定位工具
当连接到MCP客户端(如Claude Desktop)时,您可以使用地理位置 通过提供IP地址:
geolocation("8.8.8.8")输出示例:
{
"ip_addr": "8.8.8.8",
"country": "US",
"city": "Mountain View",
"latitude": 37.40599,
"longitude": -122.078514,
"network": "AS15169 Google LLC",
"timezone": "America/Los_Angeles"
}错误处理
每个工具都遵循一致的错误处理模式:
一般错误响应格式:
{
"status": "error",
"error": "Detailed error message",
"query": "Original query value"
}工具特定错误示例:
ASN查找:
{
"ip_addr": "",
"status": "error",
"error": "Invalid IP address format"
}DNS查找:
{
"domain": "",
"record_type": "",
"status": "error",
"error": "DNS resolution failed"
}WHOIS查询:
{
"domain": "",
"status": "error",
"error": "WHOIS server not available"
}地理位置:
{
"ip_addr": "",
"status": "error",
"error": "MaxMind database not found or license key invalid"
}项目结构
该项目遵循标准的Python包结构:
irtoolshed_mcp_server/ # Main package directory
├── __init__.py # Package initialization
├── asnlookup.py # ASN lookup functionality
├── dnslookup.py # DNS lookup functionality
├── geolookup.py # Geolocation functionality
├── mcp_server.py # Main MCP server implementation
└── whoislookup.py # WHOIS lookup functionality
tests/ # Test directory
├── test_asnlookup.py # ASN lookup tests
├── test_dnslookup.py # DNS lookup tests
├── test_geolookup.py # Geolocation tests
└── test_whoislookup.py # WHOIS lookup tests发展
设置开发环境
- 克隆此存储库:
git clone
cd ir-toolshed-mcp-server- 创建虚拟环境并安装依赖项:
uv venv
source .venv/bin/activate # On Windows use: .venv\Scripts\activate
uv pip install -e ".[dev]"运行测试
要运行测试套件,请执行以下操作:
uv run pytest这将:
- 运行中的所有测试
tests/目录 - 显示测试覆盖率信息
- 显示任何故障的详细输出
注意:某些测试需要额外的配置:
- 地理定位测试需要MaxMind GeoLite2数据库和许可证密钥
- 如果WHOIS服务不可用,WHOIS测试可能会失败
代码质量
该项目使用多种工具来维护代码质量:
- 黑色格式代码:
uv run black .- 使用isort对导入进行排序:
uv run isort .- 使用mypy运行类型检查:
uv run mypy .- 用褶边运行linting:
uv run ruff .路线图
完整的: ✓ ASN查找 ✓ DNS记录查找(A、AAAA、MX等) ✓ WHOIS记录检索 ✓ IP地理定位服务
计划纳入的未来工具:
- 域名信誉评分
- SSL证书分析
- 网络端口扫描
- 威胁情报集成
- 被动DNS历史记录
- 电子邮件安全分析(SPF、DKIM、DMARC)
- BGP路由分析
- 网络流量可视化
- 恶意软件哈希查找
- URL信誉检查
贡献
欢迎为添加新的IR工具或改进现有工具做出贡献。 请按照以下步骤操作:
- 分叉存储库
- 创建要素分支
- 按照mcp_server.py中的现有模式添加您的工具
- 包括适当的文件作为资源
- 提交一个拉取请求,明确描述您的更改
许可证
Apache 2.0
安全考虑
此服务器用于合法的安全研究和事件响应。 用户必须确保在以下情况下遵守所有适用的法律法规 使用这些工具。

