VirusTotal MCP服务器
使用模型上下文协议(MCP)服务器进行全面的安全分析 病毒API总量该服务器采用FastMCP和Python构建,为Claude等AI助手提供强大的恶意软件检测和威胁情报功能。
概述
此MCP服务器集成了VirusTotal广泛的安全数据库,允许AI助手对URL、文件、IP地址和域进行全面的安全分析。服务器自动获取关系数据,以便在单个请求中提供完整的安全上下文。
特性
- 综合安全分析:通过自动关系获取完成威胁分析
- URL分析:包含联系域、下载文件和威胁行为者的安全报告
- 文件分析:详细的文件哈希分析,包括行为、丢弃的文件和网络连接
- IP分析:地理位置、信誉数据和历史信息
- 领域分析:DNS记录、WHOIS数据、SSL证书和子域
- 详细关系查询:分页访问特定关系类型以进行深入调查
- 了解费率限制:尊重病毒API总限制
- 多种运输支持:针对不同集成需求的SSE和STDIO传输
快速开始
先决条件
安装
选项1:Docker(推荐)
- 克隆和设置:
git clone https://github.com/barvhaim/virustotal-mcp-server.git
cd virustotal-mcp-server- 配置API密钥:
echo "VIRUSTOTAL_API_KEY=your_api_key_here" > .env- 使用Docker Compose运行:
docker-compose up -d- 或者直接使用Docker运行:
docker build -t virustotal-mcp .
docker run -d --name virustotal-mcp -p 8000:8000 --env-file .env virustotal-mcp方案2:地方发展
- 克隆和设置:
git clone https://github.com/barvhaim/virustotal-mcp-server.git
cd virustotal-mcp-server
uv sync- 配置API密钥:
echo "VIRUSTOTAL_API_KEY=your_api_key_here" > .env- 运行服务器:
# SSE transport (web-friendly)
uv run main.py
# STDIO transport (for Claude Desktop)
MCP_TRANSPORT=stdio uv run main.py可用工具
报告工具(带自动关系获取)
1.URL报告工具
- 名字:
get_url_report - 描述:获取全面的URL分析,包括安全扫描结果和密钥关系
- 参数:
- url (必填):要分析的URL
- 自动获取的关系:通信文件、联系的域/IP、下载的文件、重定向、威胁行为者
2.文件报告工具
- 名字:
get_file_report - 描述:使用哈希(MD5/SHA-1/SHA-256)进行全面的文件分析
- 参数:
- hash (必填):要分析的文件哈希
- 自动获取的关系:行为、丢弃的文件、联系的域/IP、嵌入的URL、威胁行为者
3.IP报告工具
- 名字:
get_ip_report - 描述:获得全面的IP地址分析,包括地理位置和信誉
- 参数:
- ip (必填):要分析的IP地址
- 自动获取的关系:通信文件、历史SSL证书、解决方案、威胁行为者
4.域报告工具
- 名字:
get_domain_report - 描述:获得全面的域名分析,包括DNS和WHOIS数据
- 参数:
- domain (必填):要分析的域名 - relationships (可选):要包括的具体关系
- 自动获取的关系:子域、历史SSL证书、解决方案、威胁行为者
关系工具(用于详细分析)
1.URL关系工具
- 名字:
get_url_relationship - 描述:查询带分页的URL的特定关系类型
- 参数:
- url (必填):要分析的URL - relationship (必填):关系类型(分析、通信文件、联系人域等) - limit (可选,1-40,默认值:10):结果数 - cursor (可选):分页光标
2.文件关系工具
- 名字:
get_file_relationship - 描述:查询具有分页的文件的特定关系类型
- 参数:
- hash (必填):文件哈希 - relationship (必填):关系类型(行为、丢弃文件、联系域等) - limit (可选,1-40,默认值:10):结果数 - cursor (可选):分页光标
3.IP关系工具
- 名字:
get_ip_relationship - 描述:查询具有分页的IP的特定关系类型
- 参数:
- ip (必填):IP地址 - relationship (必填):关系类型(通信文件、决议等) - limit (可选,1-40,默认值:10):结果数 - cursor (可选):分页光标
4.领域关系工具
- 名字:
get_domain_relationship - 描述:查询具有分页的域的特定关系类型
- 参数:
- domain (必填):域名 - relationship (必填):关系类型(子域、历史ssl证书等) - limit (可选,1-40,默认值:10):结果数 - cursor (可选):分页光标
Claude桌面集成
要将此服务器连接到Claude Desktop,请将以下内容添加到您的 claude_desktop_config.json:
配置文件位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/claude/claude_desktop_config.json - 视窗:
%APPDATA%\\Claude\\claude_desktop_config.json
{
"mcpServers": {
"virustotal": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/virustotal-mcp-server",
"run",
"main.py"
],
"env": {
"VIRUSTOTAL_API_KEY": "your_api_key_here",
"MCP_TRANSPORT": "stdio"
}
}
}
}资源
- FastMCP文档:
- MCP规范: 模型上下文协议.io
- 病毒API总量: 开发者.virustotal.com
- uv包管理器: 星光sh/uv
- 克劳德桌面: 克劳德·艾
版本历史记录
- v1.0.0:首次发布,全面集成VirusTotal
- 8安全分析工具 - 自动获取关系 - SSE和STDIO传输支持 - 限速意识 - 完整的错误处理
