使用说明

项目简介

ADEO CTI MCP Server 是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在为网络安全分析师提供 Shodan 和 VirusTotal API 的集成访问能力。通过标准化的 MCP 协议,该服务器可以向 LLM 客户端提供强大的威胁情报分析工具和 Prompt 模板,支持自动化安全分析流程。

主要功能点

  • 集成 Shodan API: 提供全面的网络空间搜索引擎功能,包括主机信息查询、DNS 操作、漏洞分析、网络扫描和告警管理等。
  • 集成 VirusTotal API: 提供恶意软件分析和检测、URL 和 IP 信誉检查、域名威胁情报和文件哈希分析等功能。
  • 丰富的工具集: 预置了大量 Shodan 和 VirusTotal 工具,方便用户快速执行各种安全分析任务。
  • 智能 Prompt 模板: 提供预定义的 Prompt 模板,支持用户通过自然语言与服务器交互,完成复杂的安全分析工作流。
  • 标准 MCP 协议: 采用 JSON-RPC over Stdio 通信,易于集成到各种 LLM 应用中。

安装步骤

  1. 环境准备

    • 确保已安装 Node.js 和 npm。
    • 获取 Shodan API Key 和 VirusTotal API Key (可选,如果需要使用 VirusTotal 工具)。
    • 将本仓库代码克隆到本地。
  2. 设置 API Key

    • 方法一:环境变量 (推荐)
      • 设置 'SHODAN_API_KEY' 环境变量为您的 Shodan API Key。
      • 如果需要使用 VirusTotal 工具,设置 'VIRUSTOTAL_API_KEY' 环境变量为您的 VirusTotal API Key。
      export SHODAN_API_KEY=YOUR_SHODAN_API_KEY
      export VIRUSTOTAL_API_KEY=YOUR_VIRUSTOTAL_API_KEY # 可选
    • 方法二:命令行参数
      • 启动服务器时,通过命令行参数 '--shodan-api-key' 和 '--virustotal-api-key' 传递 API Key。
  3. 安装依赖

    在仓库根目录下运行:

    npm install
  4. 构建项目

    运行构建命令:

    npm run build
  5. 启动服务器

    • 使用环境变量 (如果已设置环境变量)
      npm start
    • 使用命令行参数 (如果未设置环境变量)
      npm start -- --shodan-api-key YOUR_SHODAN_API_KEY --virustotal-api-key YOUR_VIRUSTOTAL_API_KEY
      请将 'YOUR_SHODAN_API_KEY' 和 'YOUR_VIRUSTOTAL_API_KEY' 替换为您的实际 API 密钥。

服务器配置

以下 JSON 配置信息可用于 MCP 客户端连接 ADEO CTI MCP 服务器:

{
  "server name": "ADEO CTI MCP Server",
  "command": "npm",
  "args": ["start", "--", "--shodan-api-key", "<YOUR_SHODAN_API_KEY>", "--virustotal-api-key", "<YOUR_VIRUSTOTAL_API_KEY>"]
  // 请将 <YOUR_SHODAN_API_KEY> 和 <YOUR_VIRUSTOTAL_API_KEY> 替换为您的 API 密钥。
  // 如果您已设置环境变量,则可以将 args 简化为 ["start"],服务器将从环境变量中读取 API 密钥。
  // 完整参数列表请参考仓库 README 或服务器启动脚本。
}

基本使用方法

  • 服务器成功启动后,等待 "ADEO CTI MCP Server connected and ready" 消息出现。
  • 使用支持 MCP 协议的客户端 (如 LLM 应用) 通过 Stdio 协议连接到服务器。
  • 客户端可以使用 '@shodan' 前缀调用服务器提供的工具和 Prompt。
  • 工具调用示例: '@shodan host-info ip="8.8.8.8"' (查询 IP 地址 8.8.8.8 的 Shodan 信息)
  • Prompt 调用示例: '@shodan asset-discovery target=example.com depth=comprehensive' (对 example.com 进行全面的资产发现)
  • 详细工具和 Prompt 的参数及用法请参考仓库 'README.md' 文件中 "Tools" 和 "MCP Server Prompts" 章节。

信息

分类

网页与API