项目简介

mcp-recon (原名 Tellix) 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在通过自然语言与 HTTP 基础设施分析工具桥梁。它通过 MCP 协议暴露网络侦查工具,允许用户通过兼容的 AI 界面(如 Claude Desktop)对 Web 域名执行侦查操作。

主要功能点

  • 自然语言指令:通过简单的文本提示运行网络侦查。
  • MCP 服务器:与 Claude Desktop、本地 LLM 封装器或其他兼容 MCP 的工具一起使用。
  • 多种分析模式:提供快速、完整和全面的侦查级别选择。
  • 独立的 ASN 查询:直接查询 IP、ASN 或组织信息。
  • 内置 TLS、CDN 和 Header 分析
  • Docker 部署:在隔离的容器中运行,保证安全性和可移植性。
  • 基于 httpx:构建于 ProjectDiscovery 久经考验的侦查工具 httpx 之上。
  • Bug 修复:自动处理 'httpx' 的 stdin/stdout 泄漏问题。

安装步骤

  1. 克隆仓库

    git clone https://github.com/nickpending/mcp-recon.git
    cd mcp-recon
  2. 构建 Docker 镜像

    docker build -t mcp-recon .
  3. 运行 Docker 容器

    docker run -it --rm mcp-recon

服务器配置

为了让 MCP 客户端(例如 Claude Desktop)连接到 'mcp-recon' 服务器,您需要在客户端的 MCP 配置中添加以下 server 配置信息。

基础配置 (JSON):

"mcp-recon": {
  "command": "docker",
  "args": [
    "run",
    "--rm",
    "-i",
    "mcp-recon"
  ]
}

参数说明:

  • '"mcp-recon"': 服务器名称,可以自定义,用于在 MCP 客户端中标识和引用。
  • '"command": "docker"': 运行 MCP 服务器的命令,这里使用 Docker。
  • '"args"': 传递给 'docker run' 命令的参数列表。
    • '"run"': Docker 运行命令。
    • '"--rm"': 容器退出后自动删除。
    • '"-i"': 保持 STDIN 打开,即使未连接。
    • '"mcp-recon"': 要运行的 Docker 镜像名称,与构建时指定的名称一致。

带环境变量配置 (JSON,如果需要 ProjectDiscovery API 密钥):

如果需要使用 ProjectDiscovery API 密钥(例如,某些高级功能可能需要),您可以通过环境变量传递。首先,创建一个 '.env' 文件(例如 '~/.config/mcp-recon.env'),内容如下:

PDCP_API_KEY=your_projectdiscovery_api_key

然后在 MCP 客户端配置中添加 '--env-file' 参数:

"mcp-recon": {
  "command": "docker",
  "args": [
    "run",
    "--rm",
    "-i",
    "--env-file", "/Users/yourname/.config/mcp-recon.env",  //  请替换为您的 .env 文件路径
    "mcp-recon"
  ]
}

参数说明:

  • '"--env-file", "/Users/yourname/.config/mcp-recon.env"': 指定 Docker 容器加载环境变量的文件路径。请将 '/Users/yourname/.config/mcp-recon.env' 替换为您实际的 '.env' 文件路径。

基本使用方法

  1. 启动 MCP 客户端:确保您的 MCP 客户端(如 Claude Desktop)已启动并正确配置了 'mcp-recon' 服务器。
  2. 通过自然语言指令与 LLM 交互:在 MCP 客户端中,使用自然语言向 LLM 发出指令,调用 'mcp-recon' 提供的工具。

常用指令示例:

  • 快速 HTTP 侦查:

    User: 使用 quick http recon,example.com 的状态码是什么?
  • 完整 HTTP 侦查:

    User: 使用 full http recon,www.google.com 使用了哪些证书?
  • ASN 查询:

    User: 谁拥有 ASN 14421?

    LLM 会解析您的指令,并调用 'mcp-recon' 服务器执行相应的侦查任务,并将结果以自然语言形式返回给您。

请参考仓库 README 中的 "Example Queries" 和 "Troubleshooting" 部分获取更多使用细节和问题排查信息。

信息

分类

AI与计算