返回市场
fdp-mcp服务器

fdp-mcp服务器

作者:qax-xlab2 星标更新:2025-06-17

项目介绍

<h1 align="center">fdp-mcp-server</h1>

中文说明:README-zh_CN.md.

QiAnXin XLab 提供了 MCP 工具,用于访问基础网络安全数据。

关于 XLab

XLab 是隶属于 QiAnXin 的一个研究团队,专注于大规模网络安全研究、威胁分析与归因以及多维安全数据平台的建设。

XLab 是中国最早利用大规模数据进行网络安全研究、安全应用和威胁情报生成的团队之一。它建立了国家首个被动DNS系统,以及多个行业领先的基础数据系统,涵盖NetFlow、Whois、数字证书、IP地址和恶意软件样本。

工具类别

fdp-mcp-server 提供多种类别的工具。用户可以根据需要选择特定的URL来加载相应的工具。

当前可用的工具集:

  1. 基础网络安全数据查询
    URL: https://fdp.qianxin.com/mcp/v1/basic/mcp/
    包括:
    • flint rrset: 查询特定域名和记录类型的资源记录集(RRsets)
    • flint rdata: DNS响应rrset记录的反向查找
    • whois history: 检索域名或IP地址的注册历史
    • certdb domain: 根据域名查询证书数据
    • ioc: 搜索XLab的IOC(妥协指标)数据库
  2. 域名相关数据查询
    URL: https://fdp.qianxin.com/mcp/v1/domain/mcp/
    包括:
    • codomain: 检索共现域名及其关联标签
    • float_fqdn: 基于被动DNS数据的域名流行度排名
    • webdb: 检索与域名相关的网页内容
    • libra: 访问来自XLab Libra平台的域名分析数据
  3. IP相关数据查询
    URL: https://fdp.qianxin.com/mcp/v1/ip/mcp/
    包括:
    • ip_geo: 查询IPv4地理位置、ASN和IP所有权
  4. 样本相关数据查询
    URL: https://fdp.qianxin.com/mcp/v1/sample/mcp/
    包括:
    • sandbox: 检索样本的汇总网络行为

执行方法

概述

  1. 该应用程序作为代理运行,将远程MCP工具调用转换为基于本地Stdio的交互。因此,工具可以本地使用,也可以通过其URL直接访问远程MCP服务器。
  2. 当前远程MCP服务器仅支持流式HTTP访问。
  3. 此工具集是试用版,适用于基本用途。在高并发情况下,后端可能会限制访问频率。对于生产或高频场景,请使用官方版本。
  4. 对于官方访问,请使用对应的工具URL,并包括两个HTTP头:fdp-accessfdp-secret
    • 要获取凭证,请联系QiAnXin XLab。
  5. 下面的例子基于“基础网络安全数据查询”工具。

试用版使用

从源代码本地运行

  1. 克隆仓库。
  2. 使用uv运行并配置Claude Desktop:
    {
        "mcpServers": {
            "fdp-mcp-server": {
                "command": "uv",
                "args": [
                    "run",
                    "--project",
                    "/PATH/TO/fdp-mcp-server",
                    "fdp-mcp-server",
                    "--url",
                    "https://fdp.qianxin.com/mcp/v1/basic/mcp/"
                ]
            }
        }
    }
    

使用Docker运行

  1. 克隆仓库。
  2. 构建Docker镜像:docker build . fdp-mcp-server:vxx.xx.xx
  3. 配置Claude Desktop:
    {
        "mcpServers": {
            "fdp-mcp-server": {
                "command": "docker",
                "args": [
                    "run",
                    "-i",
                    "--rm",
                    "fdp-mcp-server:vxx.xx.xx"
                ]
            }
        }
    }
    

通过PyPI包运行

  1. 使用uvx并配置Claude Desktop如下:
        {
        "mcpServers": {
            "fdp-mcp-server": {
                "command": "uvx",
                "args": [
                    "fdp-m-mp-server",
                    "--url",
                    "https://fdp.qianxin.com/mcp/v1/basic/mcp/"
                ]
            }
        }
    }
    

官方版使用

如果您想从智能代理应用程序中调用fdp-mcp-server工具,可以在客户端配置远程MCP服务器URL,并包含所需的HTTP头fdp-accessfdp-secret

  1. 编写代理代码时,在调用MCP工具时添加这些头。例如使用smolagents:
    from smolagents import ToolCollection
    from smolagents.agents import ToolCallingAgent
    from smolagents.models import OpenAIServerModel
    
    
    def main():
        with ToolCollection.from_mcp(
            {
                "url": "https://fdp.qianxin.com/mcp/v1/domain/mcp/",
                "transport": "streamable-http",
                "headers": {
                    "fdp-access": "xxxx",
                    "fdp-secret": "yyyy",
                },
            },
            trust_remote_code=True,
        ) as tools:
            agent = ToolCallingAgent(
                tools=[*tools.tools],
                model=OpenAIServerModel(
                    model_id="YOUR-LLM-MODEL-ID",
                    api_base="YOUR-LLM-MODEL-API-URL",
                    api_key="YOUR--LLM-MODEL-API-KEY",
                ),
            )
            agent.run("查询与www.example.com相关的域名,并根据相关数据评估其可能的业务目的。")
    
    
    if __name__ == "__main__":
        main()
    
  2. 如果使用Claude Desktop,可以使用mcp-remote库进行代理转发,并在过程中配置HTTP头:
    {
        "mcpServers": {
            "fdp_domain": {
                "command": "npx",
                "args": [
                    "-y",
                    "mcp-remote@latest",
                    "https://fdp.qianxin.com/mcp/v1/domain/mcp/",
                    "--header",
                    "fdp-access:xxxx",
                    "--header",
                    "fdp-secret:yyyy"
                ],
            }
        }
    }