使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 构建的服务器,专注于提供 VirusTotal 威胁情报数据。它允许LLM客户端通过标准化的MCP协议,调用VirusTotal API获取各种安全分析报告,例如IP地址、域名、文件哈希和URL的信誉信息,以及威胁分类、攻击战术和技术等。

主要功能点

  • 威胁情报查询: 提供多种工具,查询来自VirusTotal的实时威胁情报数据。

    • IP地址报告: 查询IP地址的地理位置、信誉评分、所属组织等信息。
    • 域名报告: 查询域名的注册信息、信誉评分、关联威胁等信息。
    • 文件哈希报告: 查询文件哈希值的已知威胁信息、文件类型等。
    • URL报告: 查询URL的重定向信息、信誉评分、关联威胁等。
    • 威胁分类: 获取VirusTotal常用的威胁分类列表。
    • 攻击战术与技术: 查询特定攻击战术和技术的详细信息。
    • 社区评论: 获取VirusTotal用户对特定分析对象的评论。
    • 文件行为摘要: 获取文件行为分析的简要总结。
  • MCP协议支持: 使用标准的MCP协议与客户端通信,易于集成到支持MCP协议的LLM应用中。

  • 工具化API访问: 将VirusTotal API封装成易于LLM调用的工具,降低使用门槛。

安装步骤

  1. 克隆仓库

    git clone https://github.com/priamai/mpc.git
    cd mpc
  2. 创建并激活虚拟环境

    python3.11 -m venv venv
    source venv/bin/activate  # macOS/Linux
    venv\Scripts\activate    # Windows
  3. 安装依赖

    pip install --upgrade pip
    pip install -r requirements.txt
  4. 配置API密钥

    • 在项目根目录下创建 '.env' 文件。
    • 根据需要配置 VirusTotal API 密钥。你需要拥有 VirusTotal API 密钥才能使用此服务器。
      VIRUSTOTAL_API_KEY=YOUR_VIRUSTOTAL_API_KEY
      如果你想运行 'client.py' 示例,可能还需要配置 OpenAI 或 Azure OpenAI 的 API 密钥。

服务器配置 (MCP客户端)

MCP客户端需要配置以下信息以连接到 VirusTotal MCP 服务器。这是一个JSON格式的配置示例,通常在MCP客户端的配置文件或代码中指定:

{
  "server name": "VirusTotal MCP Server",  // 服务器名称,用于标识和区分不同的MCP服务器
  "command": "python",                   // 启动服务器的命令,这里使用python解释器
  "args": ["servers/mpc-virustotal-server.py"] // 启动命令的参数,指定服务器脚本的路径
}

参数解释:

  • 'server name': 服务器的名称,可以自定义,用于在客户端识别。
  • 'command': 运行服务器端程序的命令。这里 'python' 假设你的环境中可以直接使用 'python' 命令启动Python解释器。
  • 'args': 传递给 'command' 的参数列表。 'servers/mpc-virustotal-server.py' 是服务器主程序的脚本路径。

注意: 客户端需要根据这个配置,使用 Stdio 协议与服务器建立连接。

基本使用方法

  1. 启动 MCP 服务器: 在终端中,进入项目根目录,激活虚拟环境后,运行服务器脚本:

    python servers/mpc-virustotal-server.py

    服务器成功启动后,会显示 "🚀 Starting VirusTotal MCP Server..." 的日志信息。

  2. 配置 MCP 客户端: 在你的MCP客户端应用中,根据上述 "服务器配置 (MCP客户端)" 的JSON配置信息,配置连接到 VirusTotal MCP 服务器。

  3. 使用工具: 客户端连接成功后,即可调用服务器提供的工具。例如,在LLM应用中,可以使用自然语言指令指示LLM调用 'vt_ip_report' 工具查询IP地址的威胁情报,服务器会将查询结果返回给客户端,进而提供给LLM进行后续处理。

    仓库中提供的 'client.py' 是一个使用 'langchain' 框架和 Azure OpenAI 的示例客户端,展示了如何加载 MCP 服务器提供的工具,并创建一个可以与服务器交互的 Agent。你可以参考 'client.py' 了解如何使用 MCP 客户端与该服务器进行交互。

信息

分类

网页与API