fofa-mcp-server

MCP.Pizza Chef: intbjw

The fofa-mcp-server is an MCP server that offers a simple and efficient interface to query FOFA API data. It supports basic FOFA API queries, full field information retrieval, and account information queries. Built with an asynchronous HTTP client in Python 3.11+, it ensures high performance and seamless integration with other MCP-enabled systems.

Use This MCP server To

Query FOFA API for internet asset data Retrieve detailed field information from FOFA datasets Access FOFA account information programmatically Integrate FOFA data queries into MCP-enabled workflows Enable asynchronous FOFA data retrieval for performance Use FOFA data in AI-enhanced security analysis Automate FOFA queries within developer tools like VSCode

README

README

FOFA MCP Server

基于 MCP (Model Control Protocol)的 FOFA API 查询服务器,提供简单易用的 FOFA 数据查询接口。

功能特点

  • 支持 FOFA API 的基础查询功能
  • 提供完整的字段信息查询选项
  • 支持查询账户信息
  • 基于异步 HTTP 客户端,性能优异
  • 使用 MCP 协议,便于与其他系统集成

环境要求

  • Python >= 3.11
  • FOFA API 密钥
  • cline

安装

  1. 克隆项目到本地:
git clone https://github.com/intbjw/fofa-mcp-server.git
cd fofa-mcp-server
  1. 安装依赖:
pip install -r requirements.txt

或者使用 Poetry:

poetry install

配置

  1. 下载插件

使用 cline 进行配置,在 vscode 中下载插件

  1. 进行模型配置

我这里选择的阿里云的qwen-coder,也可以使用本地大模型。

  1. 配置fofa-mcp-server

编写配置文件

{
  "mcpServers": {
    "fofa-mcp-server": {
      "command": "python3",
      "args": [
        "/path/to/fofa-mcp-server/main.py"
      ],
      "env": {
        "FOFA_KEY": "API KEY"
      }
    }
  }
}

提示fofa-mcp-server MCP server connected 配置成功

使用演示

2025-03-14 17-49-49.mp4

API 说明

1. FOFA 查询

fofa_search_tool(query: str, fields: str = "", size: int = 50) -> dict

参数说明:

  • query: FOFA 查询语句
  • fields: 查询字段,可选值:
    • ""(默认):返回基础字段信息
    • "all":返回所有可用字段信息
  • size: 返回结果数量,默认 50 条

返回数据格式:

{
    "summary": str,  # 查询统计信息
    "data": List[Dict]  # 查询结果列表
}

2. 查询账户信息

fofa_userinfo_tool() -> dict

返回 FOFA 账户的详细信息。

字段说明

基础字段(默认)

  • IP
  • 端口
  • 协议
  • 主机名
  • 域名
  • ICP 备案号
  • 网站标题
  • 产品名
  • 版本号
  • 最后更新时间

完整字段(fields="all")

包含基础字段,以及:

  • 国家代码
  • 国家名
  • 地区
  • 城市
  • 经度
  • 纬度
  • ASN 编号
  • ASN 组织
  • 操作系统
  • 服务器
  • JARM 指纹
  • Header
  • Banner
  • 基础协议
  • URL 链接
  • 证书相关信息
  • JA3S 指纹
  • TLS 版本
  • 产品分类
  • 域名 CNAME

注意事项

  1. 请确保 FOFA API 密钥有效且具有足够的查询权限
  2. 注意遵守 FOFA 的 API 使用限制和规范
  3. 建议合理设置查询结果数量,避免消耗过多积分

TODO

  • 查询账号信息
  • 执行用户输入语句
  • 支持大模型生成查询语句
  • 模糊语句查询

许可证

贡献

欢迎提交 Issue 和 Pull Request!

fofa-mcp-server FAQ

How do I install the fofa-mcp-server?
Clone the GitHub repo, then install dependencies via pip or Poetry as documented.
What environment is required to run fofa-mcp-server?
Python 3.11 or higher and a valid FOFA API key are required.
How do I configure the fofa-mcp-server with MCP?
Use the provided JSON config to specify the command, arguments, and FOFA_KEY environment variable.
Can fofa-mcp-server handle asynchronous queries?
Yes, it uses an asynchronous HTTP client for high-performance FOFA API requests.
Is fofa-mcp-server compatible with different LLM providers?
Yes, it integrates via MCP and works with models like OpenAI, Claude, and Gemini.
How do I verify the server is connected?
The server logs a 'fofa-mcp-server MCP server connected' message upon successful connection.
Can I use local large language models with fofa-mcp-server?
Yes, the server supports integration with local models as well as cloud-based ones.
What kind of FOFA queries does the server support?
It supports basic FOFA API queries, field information queries, and account info retrieval.