使用说明
项目简介
该项目实现了一个MCP(Model Context Protocol)服务器,作为大语言模型(LLM)客户端的后端服务,专门用于通过FOFA API执行网络资产搜索和信息检索。它将FOFA的搜索能力封装为LLM可调用的工具(Tool),并将搜索结果格式化为LLM可理解的上下文(Prompt)。
主要功能点
- FOFA资产搜索: 根据域名、IP、端口、网页内容等多种条件,调用FOFA API查询网络资产信息。
- 工具封装: 将FOFA搜索功能封装为MCP工具,供LLM客户端直接调用执行。
- 提示词生成: 根据搜索结果和查询条件,生成结构化的文本(Prompt),作为上下文提供给LLM进行分析或生成报告。
安装步骤
- 确保已安装Python 3.12及以上版本。
- (推荐)安装'uv'包管理器,用于快速安装依赖:运行命令 'pip install uv'。
- 克隆代码仓库到本地:运行命令 'git clone https://github.com/hnking-star/fofa_MCP.git'。
- 进入项目目录:运行命令 'cd fofa_MCP'。
- (使用'uv'安装依赖)运行命令 'uv sync'。
- 在'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