返回 MCP 目录
public公开dns本地运行

irtoolshed-mcp-server

IR Toolshed MCP Server是一个为安全专业人员提供事件响应和网络分析工具的综合模型上下文协议服务器,支持ASN查询、DNS查询、WHOIS记录检索和IP地理位置等多种网络分析功能。

article

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 查找测试

📦 安装指南

设置开发环境

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

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端