VirusTotal MCP Server

VirusTotal MCP Server
精选

一个用于查询 VirusTotal API 的 MCP 服务器。该服务器提供扫描 URL、分析文件哈希和检索 IP 地址报告的工具。

Category.security-and-iam
访问服务器

Tools

get_url_report

Get a comprehensive URL analysis report including security scan results and key relationships (communicating files, contacted domains/IPs, downloaded files, redirects, threat actors). Returns both the basic security analysis and automatically fetched relationship data.

get_url_relationship

Query a specific relationship type for a URL with pagination support. Choose from 17 relationship types including analyses, communicating files, contacted domains/IPs, downloaded files, graphs, referrers, redirects, and threat actors. Useful for detailed investigation of specific relationship types.

get_file_report

Get a comprehensive file analysis report using its hash (MD5/SHA-1/SHA-256). Includes detection results, file properties, and key relationships (behaviors, dropped files, network connections, embedded content, threat actors). Returns both the basic analysis and automatically fetched relationship data.

get_file_relationship

Query a specific relationship type for a file with pagination support. Choose from 41 relationship types including behaviors, network connections, dropped files, embedded content, execution chains, and threat actors. Useful for detailed investigation of specific relationship types.

get_ip_report

Get a comprehensive IP address analysis report including geolocation, reputation data, and key relationships (communicating files, historical certificates/WHOIS, resolutions). Returns both the basic analysis and automatically fetched relationship data.

get_ip_relationship

Query a specific relationship type for an IP address with pagination support. Choose from 12 relationship types including communicating files, historical SSL certificates, WHOIS records, resolutions, and threat actors. Useful for detailed investigation of specific relationship types.

get_domain_report

Get a comprehensive domain analysis report including DNS records, WHOIS data, and key relationships (SSL certificates, subdomains, historical data). Optionally specify which relationships to include in the report. Returns both the basic analysis and relationship data.

README

VirusTotal MCP 服务器

smithery badge

一个用于查询 VirusTotal API 的模型上下文协议 (MCP) 服务器。此服务器提供全面的安全分析工具,并具有自动关系数据获取功能。它可以与 MCP 兼容的应用程序(如 Claude Desktop)无缝集成。

<a href="https://glama.ai/mcp/servers/rcbu34kp5c"><img width="380" height="200" src="https://glama.ai/mcp/servers/rcbu34kp5c/badge" /></a>

快速开始(推荐)

通过 Smithery 安装

要通过 Smithery 自动为 Claude Desktop 安装 VirusTotal Server:

npx -y @smithery/cli install @burtthecoder/mcp-virustotal --client claude

手动安装

  1. 通过 npm 全局安装服务器:
npm install -g @burtthecoder/mcp-virustotal
  1. 添加到您的 Claude Desktop 配置文件:
{
  "mcpServers": {
    "virustotal": {
      "command": "mcp-virustotal",
      "env": {
        "VIRUSTOTAL_API_KEY": "your-virustotal-api-key"
      }
    }
  }
}

配置文件位置:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  1. 重启 Claude Desktop

替代设置(从源代码)

如果您更喜欢从源代码运行或需要修改代码:

  1. 克隆并构建:
git clone <repository_url>
cd mcp-virustotal
npm install
npm run build
  1. 添加到您的 Claude Desktop 配置:
{
  "mcpServers": {
    "virustotal": {
      "command": "node",
      "args": ["--experimental-modules", "/absolute/path/to/mcp-virustotal/build/index.js"],
      "env": {
        "VIRUSTOTAL_API_KEY": "your-virustotal-api-key"
      }
    }
  }
}

功能

  • 全面的分析报告:每个分析工具都会自动获取相关的关系数据以及基本报告,从而在单个请求中提供完整的安全概览
  • URL 分析:安全报告,自动获取联系的域、下载的文件和威胁参与者
  • 文件分析:文件哈希的详细分析,包括行为、释放的文件和网络连接
  • IP 分析:安全报告,包含历史数据、解析和相关威胁
  • 域名分析:DNS 信息、WHOIS 数据、SSL 证书和子域名
  • 详细的关系分析:用于查询特定类型关系(支持分页)的专用工具
  • 丰富的格式:清晰的分析结果和关系数据分类和呈现

工具

报告工具(具有自动关系获取功能)

1. URL 报告工具

  • 名称:get_url_report
  • 描述:获取全面的 URL 分析报告,包括安全扫描结果和关键关系(通信文件、联系的域/IP、下载的文件、重定向、威胁参与者)
  • 参数:
    • url (必需): 要分析的 URL

2. 文件报告工具

  • 名称:get_file_report
  • 描述:使用其哈希(MD5/SHA-1/SHA-256)获取全面的文件分析报告。包括检测结果、文件属性和关键关系(行为、释放的文件、网络连接、嵌入内容、威胁参与者)
  • 参数:
    • hash (必需): 文件的 MD5、SHA-1 或 SHA-256 哈希值

3. IP 报告工具

  • 名称:get_ip_report
  • 描述:获取全面的 IP 地址分析报告,包括地理位置、信誉数据和关键关系(通信文件、历史证书/WHOIS、解析)
  • 参数:
    • ip (必需): 要分析的 IP 地址

4. 域名报告工具

  • 名称:get_domain_report
  • 描述:获取全面的域名分析报告,包括 DNS 记录、WHOIS 数据和关键关系(SSL 证书、子域名、历史数据)
  • 参数:
    • domain (必需): 要分析的域名
    • relationships (可选): 要包含在报告中的特定关系数组

关系工具(用于详细分析)

1. URL 关系工具

  • 名称:get_url_relationship
  • 描述:查询 URL 的特定关系类型,支持分页。从 17 种关系类型中选择,包括分析、通信文件、联系的域/IP、下载的文件、图表、引用者、重定向和威胁参与者
  • 参数:
    • url (必需): 要获取关系的 URL
    • relationship (必需): 要查询的关系类型
      • 可用关系:analyses, comments, communicating_files, contacted_domains, contacted_ips, downloaded_files, graphs, last_serving_ip_address, network_location, referrer_files, referrer_urls, redirecting_urls, redirects_to, related_comments, related_references, related_threat_actors, submissions
    • limit (可选, 默认: 10): 要检索的相关对象的最大数量 (1-40)
    • cursor (可选): 用于分页的延续光标

2. 文件关系工具

  • 名称:get_file_relationship
  • 描述:查询文件的特定关系类型,支持分页。从 41 种关系类型中选择,包括行为、网络连接、释放的文件、嵌入内容、执行链和威胁参与者
  • 参数:
    • hash (必需): 文件的 MD5、SHA-1 或 SHA-256 哈希值
    • relationship (必需): 要查询的关系类型
      • 可用关系:analyses, behaviours, bundled_files, carbonblack_children, carbonblack_parents, ciphered_bundled_files, ciphered_parents, clues, collections, comments, compressed_parents, contacted_domains, contacted_ips, contacted_urls, dropped_files, email_attachments, email_parents, embedded_domains, embedded_ips, embedded_urls, execution_parents, graphs, itw_domains, itw_ips, itw_urls, memory_pattern_domains, memory_pattern_ips, memory_pattern_urls, overlay_children, overlay_parents, pcap_children, pcap_parents, pe_resource_children, pe_resource_parents, related_references, related_threat_actors, similar_files, submissions, screenshots, urls_for_embedded_js, votes
    • limit (可选, 默认: 10): 要检索的相关对象的最大数量 (1-40)
    • cursor (可选): 用于分页的延续光标

3. IP 关系工具

  • 名称:get_ip_relationship
  • 描述:查询 IP 地址的特定关系类型,支持分页。从 12 种关系类型中选择,包括通信文件、历史 SSL 证书、WHOIS 记录、解析和威胁参与者
  • 参数:
    • ip (必需): 要分析的 IP 地址
    • relationship (必需): 要查询的关系类型
      • 可用关系:comments, communicating_files, downloaded_files, graphs, historical_ssl_certificates, historical_whois, related_comments, related_references, related_threat_actors, referrer_files, resolutions, urls
    • limit (可选, 默认: 10): 要检索的相关对象的最大数量 (1-40)
    • cursor (可选): 用于分页的延续光标

4. 域名关系工具

  • 名称:get_domain_relationship
  • 描述:查询域名的特定关系类型,支持分页。从 21 种关系类型中选择,包括 SSL 证书、子域名、历史数据和 DNS 记录
  • 参数:
    • domain (必需): 要分析的域名
    • relationship (必需): 要查询的关系类型
      • 可用关系:caa_records, cname_records, comments, communicating_files, downloaded_files, historical_ssl_certificates, historical_whois, immediate_parent, mx_records, ns_records, parent, referrer_files, related_comments, related_references, related_threat_actors, resolutions, soa_records, siblings, subdomains, urls, user_votes
    • limit (可选, 默认: 10): 要检索的相关对象的最大数量 (1-40)
    • cursor (可选): 用于分页的延续光标

要求

故障排除

API 密钥问题

如果您看到“Wrong API key”错误:

  1. 检查 /tmp/mcp-virustotal-server.log(在 macOS 上)中的日志文件以获取 API 密钥状态
  2. 验证您的 API 密钥:
    • 应该是有效的 VirusTotal API 密钥(通常为 64 个字符)
    • 密钥周围没有多余的空格或引号
    • 必须来自您的 VirusTotal 帐户中的 API 密钥部分
  3. 在进行任何配置更改后:
    • 保存配置文件
    • 重启 Claude Desktop
    • 检查日志以获取新的 API 密钥状态

模块加载问题

如果您看到 ES 模块加载警告:

  1. 对于全局安装:使用快速入门中显示的简单配置
  2. 对于源代码安装:确保在 args 中包含 --experimental-modules

开发

要在具有热重载的开发模式下运行:

npm run dev

错误处理

该服务器包括全面的错误处理,用于:

  • 无效的 API 密钥
  • 速率限制
  • 网络错误
  • 无效的输入参数
  • 无效的哈希格式
  • 无效的 IP 格式
  • 无效的 URL 格式
  • 无效的关系类型
  • 分页错误

版本历史

  • v1.0.0:具有核心功能的初始版本
  • v1.1.0:添加了 URL、文件和 IP 地址的关系分析工具
  • v1.2.0:添加了改进的错误处理和日志记录
  • v1.3.0:添加了对关系查询的分页支持
  • v1.4.0:在报告工具中添加了自动关系获取和域名分析支持

贡献

  1. Fork 存储库
  2. 创建一个功能分支 (git checkout -b feature/amazing-feature)
  3. 提交您的更改 (git commit -m 'Add amazing feature')
  4. 将其推送到分支 (git push origin feature/amazing-feature)
  5. 打开一个 Pull Request

许可证

该项目已获得 MIT 许可证的许可 - 有关详细信息,请参阅 LICENSE 文件。

推荐服务器

mcp-shodan

mcp-shodan

用于查询 Shodan API 和 Shodan CVEDB 的 MCP 服务器。该服务器提供 IP 查询、设备搜索、DNS 查询、漏洞查询、CPE 查询等工具。

精选
JavaScript
Azure MCP Server

Azure MCP Server

通过 Claude Desktop 实现与 Azure 服务的自然语言交互,支持资源管理、订阅处理和租户选择,并提供安全身份验证。

官方
本地
TypeScript
Story Protocol SDK MCP

Story Protocol SDK MCP

This server provides MCP (Model Context Protocol) tools for interacting with Story's Python SDK. Features Get license terms Mint and register IP Asset with PIL Terms Mint license tokens Send $IP to a wallet Upload image to ipfs via Pinata [External] Upload ip and nft metadata via Pinata [External]

官方
Python
MCP EVM Signer

MCP EVM Signer

一个服务器,可以在本地安全地管理以太坊私钥,并使 Claude for Desktop 能够通过 Infura 与 EVM 兼容的区块链进行交互。

本地
TypeScript
Cryptocurrency Daemon MCP Server

Cryptocurrency Daemon MCP Server

通过人工智能助手实现与加密货币守护进程RPC接口的安全交互,支持基于比特币的加密货币的交易管理、钱包操作和守护进程监控。

本地
TypeScript
mcp-maigret

mcp-maigret

Maigret 的 MCP 服务器,Maigret 是一款强大的开源情报 (OSINT) 工具,可从各种公共来源收集用户帐户信息。此服务器提供用于在社交网络上搜索用户名和分析 URL 的工具。

本地
JavaScript
mcp-wsl-exec

mcp-wsl-exec

一个安全的 MCP 服务器,用于 Windows Linux 子系统环境,通过广泛的验证和保护机制,促进安全的命令执行,并防御诸如 Shell 注入和危险命令等漏洞。

本地
JavaScript
Trivy Security Scanner MCP Server

Trivy Security Scanner MCP Server

通过标准化接口提供 Trivy 安全扫描功能,允许用户扫描项目的漏洞,并通过更新依赖项自动修复这些漏洞。

本地
Python
mcp-shell-server

mcp-shell-server

一个实现了模型上下文协议(MCP)的安全 shell 命令执行服务器。该服务器允许远程执行白名单中的 shell 命令,并支持标准输入(stdin)。

本地
Python
Portkey MCP Server

Portkey MCP Server

将 Claude 连接到 Portkey 的 API,以管理 AI 配置、工作区、分析和用户访问,从而全面控制 API 使用和设置。

TypeScript