使用说明

项目简介

该项目实现了一个MCP(Model Context Protocol)服务器,作为大语言模型(LLM)客户端的后端服务,专门用于通过FOFA API执行网络资产搜索和信息检索。它将FOFA的搜索能力封装为LLM可调用的工具(Tool),并将搜索结果格式化为LLM可理解的上下文(Prompt)。

主要功能点

  • FOFA资产搜索: 根据域名、IP、端口、网页内容等多种条件,调用FOFA API查询网络资产信息。
  • 工具封装: 将FOFA搜索功能封装为MCP工具,供LLM客户端直接调用执行。
  • 提示词生成: 根据搜索结果和查询条件,生成结构化的文本(Prompt),作为上下文提供给LLM进行分析或生成报告。

安装步骤

  1. 确保已安装Python 3.12及以上版本。
  2. (推荐)安装'uv'包管理器,用于快速安装依赖:运行命令 'pip install uv'。
  3. 克隆代码仓库到本地:运行命令 'git clone https://github.com/hnking-star/fofa_MCP.git'。
  4. 进入项目目录:运行命令 'cd fofa_MCP'。
  5. (使用'uv'安装依赖)运行命令 'uv sync'。
  6. 在'fofa.py'文件中,找到 'OPENWEATHER_API_KEY = "your_fofa_key"' 这一行,将 '"your_fofa_key"' 替换为你自己的FOFA API密钥。

服务器配置 (用于MCP客户端)

你需要将此MCP服务器的启动信息添加到你的MCP客户端(如Cursor)的配置文件中,以便客户端能够发现并连接到该服务器。以下是配置示例,具体格式请参考你的客户端文档:

"mcpServers": {
  "fofa-mcp-server": {
    // 启动服务器的命令,这里使用uv run运行fofa.py文件
    "command": "uv",
    // 传递给command的参数列表
    "args": [
      "run",
      "--active",
      // 替换为你fofa.py文件的绝对路径
      "F:\\ai\\mcp\\fofamcp\\fofa\\fofa.py"
    ]
  }
}

请注意将示例中的 '"F:\ai\mcp\fofamcp\fofa\fofa.py"' 替换为你本地实际存放 'fofa.py' 文件的完整路径。

基本使用方法

成功配置并启动该MCP服务器后,通过你的MCP客户端(如支持MCP的LLM IDE或应用),LLM将能够发现并使用名为 'fofasearch' 的MCP服务器提供的 'get_alerts' 工具。你可以通过客户端界面或通过LLM的工具调用功能来使用此工具进行FOFA搜索。例如,LLM可能会生成对 'get_alerts' 工具的调用请求,指定 'domain'、'ip' 或其他参数。服务器执行搜索后,会将结果(可能经过格式化)作为上下文提供给LLM。

信息

分类

网页与API