M

MCP网络分析工具

@rossja/irtoolshed-mcp-server
0 Stars 350 次浏览 rossja 更新于 2026-08-23

一种模型上下文协议服务器,为安全专业人士提供网络分析工具,使像克劳德这样的AI模型能够执行ASN查找、DNS分析、WHOIS检索和IP地理定位等安全调查任务。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

IR Toolshed MCP 服务器

一个全面的模型上下文协议(MCP)服务器,为安全专业人员提供事件响应和网络分析工具。该服务器允许像 Claude 这样的 AI 代理执行各种与网络相关的查找和分析,以协助安全调查。

概述

IR Toolshed MCP 服务器通过模型上下文协议提供一套网络和安全工具。它被设计成一种通用服务,供网络事件响应者使用,使他们能够执行基本的查找操作,包括:

  • 自治系统号(ASN)查找
  • DNS 查找和分析
  • WHOIS 记录检索
  • IP 地理定位
  • 以及更多即将推出的网络分析功能

每个工具都附有详细的文档作为资源,使 AI 系统易于理解如何使用这些工具及其预期输出。

当前工具

ASN 查找工具

ASN 查找工具返回有关 IP 地址的信息,包括:

  • 被查询的 IP 地址
  • 与 IP 地址关联的 AS 号
  • 拥有 AS 号的组织名称

DNS 查找工具

DNS 查找工具提供域名的 DNS 记录信息:

  • 支持多种记录类型(A, AAAA, MX, NS, TXT)
  • 返回格式化的 DNS 记录
  • 处理 IPv4 和 IPv6 查询

WHOIS 查找工具

WHOIS 查找工具检索域名注册信息:

  • 域名所有权详情
  • 注册日期
  • 名称服务器信息
  • 注册商详情

地理定位工具

IP 地理定位工具使用 MaxMind 的 GeoLite2 数据库提供位置信息:

  • 国家和城市级别的位置数据
  • 经纬度坐标
  • 网络信息
  • 时区数据

注意:地理定位工具需要 MaxMind 许可密钥。您可以:

  1. 从这里获取免费密钥: https://dev.maxmind.com/geoip/geolite2-free-geolocation-data
  2. 选择以下任一方式:
    • 设置 MAXMIND_LICENSE_KEY 环境变量
    • 在使用工具时提供该密钥作为参数
    • 在提示时输入密钥

未来版本中将添加更多工具。

先决条件

  • Python 3.8 或更高版本(推荐 3.13+)
  • uv Python 包管理器

安装

  1. 克隆此仓库:
git clone <repository-url>
cd ir-toolshed-mcp-server
  1. 创建虚拟环境:
uv venv
  1. 激活虚拟环境:

在 Windows 上:

.venv\Scripts\activate

在 macOS/Linux 上:

source .venv/bin/activate
  1. 以开发模式安装包:
uv pip install -e .

运行服务器

使用以下命令启动 MCP 服务器:

uv run mcp dev src/mcp_server.py

这将以开发模式启动服务器,使其对诸如 Claude Desktop 之类的 MCP 客户端可用。

使用工具

ASN 查找工具

当连接到如 Claude Desktop 之类的 MCP 客户端时,可以通过提供 IP 地址来使用 ASN 查找工具:

asnlookup("8.8.8.8")

示例输出:

{
    "ip_addr": "8.8.8.8",
    "as_number": "15169",
    "as_name": "GOOGLE - Google LLC"
}

DNS 查找工具

当连接到如 Claude Desktop 之类的 MCP 客户端时,可以通过提供域名来使用 DNS 查找工具:

dnslookup("example.com")

WHOIS 查询工具

当连接到如 Claude Desktop 这样的 MCP 客户端时,你可以通过提供一个域名来使用 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."
}

地理位置工具

当连接到如 Claude Desktop 这样的 MCP 客户端时,你可以通过提供一个 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": "<queried-ip>",
    "status": "error",
    "error": "Invalid IP address format"
}

DNS 查找:

{
    "domain": "<queried-domain>",
    "record_type": "<requested-type>",
    "status": "error",
    "error": "DNS resolution failed"
}

WHOIS 查找:

{
    "domain": "<queried-domain>",
    "status": "error",
    "error": "WHOIS server not available"
}

地理位置:

{
    "ip_addr": "<queried-ip>",
    "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

开发

设置开发环境

  1. 克隆此仓库:
git clone <repository-url>
cd ir-toolshed-mcp-server
  1. 创建虚拟环境并安装依赖项:
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 测试可能会失败

代码质量

该项目使用了几个工具来维护代码质量:

  • 使用 Black 格式化代码:
uv run black .
  • 使用 isort 排序导入:
uv run isort .
  • 使用 mypy 进行类型检查:
uv run mypy .
  • 使用 ruff 进行代码检查:
uv run ruff .

路线图

已完成:
✓ ASN 查询
✓ DNS 记录查询(A, AAAA, MX 等)
✓ WHOIS 记录检索
✓ IP 地理位置服务

未来计划包含的工具:

  • 域名信誉评分
  • SSL 证书分析
  • 网络端口扫描
  • 威胁情报集成
  • 被动 DNS 历史
  • 电子邮件安全分析(SPF, DKIM, DMARC)
  • BGP 路由分析
  • 网络流量可视化
  • 恶意软件哈希查找
  • URL 信誉检查

贡献

欢迎贡献新的 IR 工具或改进现有工具。请按照以下步骤操作:

  1. 叉取仓库
  2. 创建功能分支
  3. 按照 mcp_server.py 中现有的模式添加你的工具
  4. 包含适当的文档作为资源
  5. 提交带有清晰更改描述的拉取请求

许可证

Apache 2.0

安全注意事项

此服务器旨在用于合法的安全研究和事件响应。用户必须确保在使用这些工具时遵守所有适用的法律和法规。

相关 MCP 服务