Token导航 LogoToken导航

MCP Server · 浏览器工具

Forensics Utils MCP Server

一个全面的MCP服务器,用于通过模型上下文协议进行文件、Chromium和Firefox浏览器工件的取证分析,支持VirusTotal API集成和本地分析工具。

stdio官方级别未说明来源级核验工具 17
PythonClaude浏览器自动化Cline

快速开始

作者 / 组织
jus1-c
提供方
jus1-c
运行时
Python

工具数量

17

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Forensics Utils MCP Server 属于浏览器工具类 MCP Server,公开资料标注 17 个工具,通过stdio 本地进程接入,适配 Claude、Cline,有可以直接复制的安装命令;接入前要先准备 会话凭据。

分类

浏览器工具

传输方式

stdio

认证方式

会话凭据

部署方式

公开资料未说明

安装与配置

安装命令

python -m venv venv

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 17 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

取证工具MCP服务器

用于取证分析的全面MCP服务器,使AI代理能够通过模型上下文协议分析文件、Chromium浏览器工件和Firefox浏览器工件。与VirusTotal API、Detect It Easy(DIE)、Binwalk、深层Chromium解析、Firefox工件解析和本地分析工具集成。

特性

  • VirusTotal集成:完全支持API v3,支持文件、URL、域和IP分析
  • 局部分析:哈希计算、字符串提取、EXIF元数据、DIE分析
  • Firefox人工制品:历史记录、书签、下载候选、Cookie、会话、会话存储、收藏夹、扩展、首选项、web数据、登录元数据、本地存储、IndexedDB、缓存和登录解密
  • 铬制品:历史记录、下载、会话、收藏夹、书签、保存的登录名、Cookie、Web数据、扩展、首选项、本地存储、会话存储、IndexedDB和HTTP缓存解析
  • 固件分析:用于嵌入式文件提取的Binwalk集成
  • 智能高速缓存:内存缓存限制为200MB,可实现最佳性能
  • 速率限制:VirusTotal API的自动队列管理(4 req/min)
  • 多格式支持:EXE、ELF、固件映像、磁盘映像等
  • 安全第一:通过环境变量实现API密钥保护

需求

  • Python 3.10+
  • VirusTotal API密钥(可选,用于VT功能)
  • 外部工具:DIE、ExifTool、Binwalk(可选,用于本地分析)
  • MCP兼容客户端(克劳德桌面、VSCode、Cline等)

安装

1.克隆存储库

git clone https://github.com/jus1-c/forensics-utils-mcp-server.git
cd forensics-utils-mcp-server

2.创建虚拟环境

# Linux/Mac
python -m venv venv
source venv/bin/activate

# Windows
python -m venv venv
venv\Scripts\activate

3.安装软件包

pip install -e ".[dev]"

这将安装 ccl_chromium_reader, lz4,以及 firefox_decrypt 默认情况下,Chromium和Firefox浏览器工件工具无需额外设置即可使用。

配置

环境变量

创建一个 .env 项目根目录中的文件:

# Required for VirusTotal features
VIRUSTOTAL_API_KEY=your_api_key_here

# Optional
CACHE_MAX_SIZE_MB=200

从以下位置获取您的VirusTotal API密钥:https://www.virustotal.com/gui/my-apikey

克劳德桌面版

编辑 claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 窗户: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "forensics-utils": {
      "command": "python",
      "args": ["-m", "forensics_utils_mcp_server"],
      "cwd": "/path/to/forensics-utils-mcp-server",
      "disabled": false,
      "autoApprove": []
    }
  }
}

注: 改变 cwd 到实际的项目目录路径。

VSCode(带Cline扩展)

添加到您的设置中:

{
  "mcpServers": {
    "forensics-utils": {
      "command": "python",
      "args": ["-m", "forensics_utils_mcp_server"],
      "cwd": "/path/to/forensics-utils-mcp-server",
      "disabled": false,
      "autoApprove": []
    }
  }
}

注: 改变 cwd 到实际的项目目录路径。

开源代码

添加 ~/.opencode/opencode.json:

{
  "mcp": {
    "forensics-utils": {
      "type": "local",
      "command": ["python", "-m", "forensics_utils_mcp_server"],
      "cwd": "/path/to/forensics-utils-mcp-server",
      "enabled": true,
      "timeout": 60000
    }
  }
}

注: 改变 cwd 到实际的项目目录路径。

外部依赖

轻松检测(DIE)

需要 die_analyze_file 工具。

  • 下载:https://github.com/horsicq/Detect-It-Easy/releases
  • 添加 diec 前往PATH

ExifTool

需要 extract_exif 工具。

  • 窗户:https://exiftool.org/install.html
  • Linux: sudo apt-get install libimage-exiftool-perl
  • macOS: brew install exiftool

Binwalk

需要 binwalk_scan 和 binwalk_extract 工具。

pip install binwalk

可用工具

Firefox人工制品

firefox_profile_summary_tool

总结配置文件中存在的基本Firefox工件。

参数:

  • profile_path:Firefox配置文件目录的绝对路径(必需)
  • sample_limit:每个工件的最大样本标识符数(默认值:10)
firefox_parse_history_tool

解析Firefox浏览历史记录。

参数:

  • profile_path:Firefox配置文件目录的绝对路径(必需)
  • url:可选的精确URL筛选器
  • title:可选的精确页面标题过滤器
  • limit:要返回的最大记录数(默认值:100)
firefox_parse_bookmarks_tool

解析Firefox书签条目。

参数:

  • profile_path:Firefox配置文件目录的绝对路径(必需)
  • url:可选的精确书签URL过滤器
  • title:可选的精确书签标题过滤器
  • limit:要返回的最大记录数(默认值:100)
firefox_parse_downloads_tool

解析从中重建的Firefox下载候选项 places.sqlite.

参数:

  • profile_path:Firefox配置文件目录的绝对路径(必需)
  • download_url:可选的精确下载文件URL过滤器
  • source_url:可选的精确引用/源URL过滤器
  • limit:要返回的最大记录数(默认值:100)
firefox_parse_cookies_tool

从以下位置解析Firefox Cookie cookies.sqlite.

参数:

  • profile_path:Firefox配置文件目录的绝对路径(必需)
  • host:可选的精确cookie主机过滤器
  • name:可选的精确cookie名称过滤器
  • limit:要返回的最大记录数(默认值:100)
firefox_parse_sessions_tool

解析Firefox会话还原条目 sessionstore.jsonlz4 和 sessionstore-backups/*.jsonlz4.

参数:

  • profile_path:Firefox配置文件目录的绝对路径(必需)
  • file_name:可选的精确会话文件名筛选器
  • url:可选的精确URL筛选器
  • title:可选的精确页面标题过滤器
  • limit:要返回的最大记录数(默认值:100)
firefox_parse_session_storage_tool

当sessionstore包含Firefox会话存储记录时,解析这些记录。

参数:

  • profile_path:Firefox配置文件目录的绝对路径(必需)
  • host:可选的精确会话存储主机/源过滤器
  • key:可选的精确会话存储密钥过滤器
  • limit:要返回的最大记录数(默认值:100)
firefox_parse_favicons_tool

解析Firefox的图标映射和可选的图标图像预览。

参数:

  • profile_path:Firefox配置文件目录的绝对路径(必需)
  • page_url:可选的精确页面URL筛选器
  • icon_url:可选的精确favicon URL过滤器
  • limit:要返回的最大记录数(默认值:100)
  • include_image:将favicon图像预览包含为base64(默认值:false)
  • max_image_bytes:每个图标预览的最大字节数(默认值:4096)
firefox_parse_extensions_tool

解析Firefox安装的扩展元数据 extensions.json.

参数:

  • profile_path:Firefox配置文件目录的绝对路径(必需)
  • extension_id:可选的精确扩展ID过滤器
  • name:可选的精确扩展名过滤器
  • limit:要返回的最大记录数(默认值:100)
firefox_parse_preferences_tool

从以下位置解析Firefox首选项 prefs.js.

参数:

  • profile_path:Firefox配置文件目录的绝对路径(必需)
  • key_path:可选的精确偏好键过滤器
  • limit:要返回的最大记录数(默认值:100)
firefox_parse_logins_tool

解析Firefox保存的登录元数据 logins.json 无需解密密码。

参数:

  • profile_path:Firefox配置文件目录的绝对路径(必需)
  • hostname:可选的精确主机名筛选器
  • limit:要返回的最大记录数(默认值:100)
firefox_parse_web_data_tool

解析Firefox web数据,如表单历史、权限、内容首选项和搜索引擎等工件。

参数:

  • profile_path:Firefox配置文件目录的绝对路径(必需)
  • category:可选的精确类别过滤器(form_history, permissions, content_prefs, search_engines)
  • limit:要返回的最大记录数(默认值:100)
firefox_parse_local_storage_tool

解析Firefox本地存储记录 webappsstore.sqlite 和 storage/default/*/ls/data.sqlite.

参数:

  • profile_path:Firefox配置文件目录的绝对路径(必需)
  • origin_key:可选的精确来源/存储密钥过滤器
  • key:可选的精确本地存储密钥过滤器
  • limit:要返回的最大记录数(默认值:100)
firefox_parse_indexeddb_tool

解析Firefox IndexedDB记录 storage/default/*/idb.

参数:

  • profile_path:Firefox配置文件目录的绝对路径(必需)
  • host_id:可选的精确存储/默认源目录筛选器
  • database_name:可选的精确IndexedDB数据库名称筛选器
  • object_store_name:可选的精确对象存储筛选器
  • limit:要返回的最大记录数(默认值:100)
firefox_parse_cache_tool

解析Firefox缓存记录 storage/default/*/cache.

参数:

  • profile_path:Firefox配置文件目录的绝对路径(必需)
  • url:可选的精确请求URL筛选器
  • limit:要返回的最大记录数(默认值:100)
  • include_body:当停尸房文件存在时,包括缓存的正文预览(默认值:false)
  • max_body_bytes:每个正文预览的最大字节数(默认值:16384)
firefox_decrypt_cookies_tool

将Firefox Cookie作为已解密的明文值返回。

参数:

  • profile_path:Firefox配置文件目录的绝对路径(必需)
  • host:可选的精确cookie主机过滤器
  • name:可选的精确cookie名称过滤器
  • limit:要返回的最大记录数(默认值:100)
firefox_decrypt_logins_tool

尝试通过以下方式解密Firefox保存的密码 firefox_decrypt.

参数:

  • profile_path:Firefox配置文件目录的绝对路径(必需)
  • primary_password:可选主密码。如果未配置,请留空或未设置
  • hostname:可选的精确主机名筛选器
  • limit:要返回的最大记录数(默认值:100)
  • nss_lib_path:NSS库目录的可选路径 firefox_decrypt

笔记:

  • 解密取决于活动环境中NSS的可用性
  • 如果配置文件受主密码保护,则必须明确提供

铬深伪影

铬轮廓汇总工具

总结配置文件中存在的深层铬伪影。

参数:

  • profile_path:Chromium配置文件目录的绝对路径(必需)
  • sample_limit:每个工件的最大样本标识符数(默认值:10)
chromiumparse_local_storage_tool

解析Chromium本地存储记录。

参数:

  • profile_path:Chromium配置文件目录的绝对路径(必需)
  • storage_key:可选的精确来源/存储密钥过滤器
  • script_key:可选的精确本地存储密钥过滤器
  • limit:要返回的最大记录数(默认值:100)
  • include_deletions:包括可用的恢复删除记录(默认值:false)
chromiumparse_session_storage_tool

解析Chromium会话存储记录。

参数:

  • profile_path:Chromium配置文件目录的绝对路径(必需)
  • host:可选的精确主机筛选器
  • key:可选的精确会话存储密钥过滤器
  • limit:要返回的最大记录数(默认值:100)
  • include_deletions:包括可用的恢复删除记录(默认值:false)
chromiumparse_indexeddb_tool

解析Chromium IndexedDB记录。

参数:

  • profile_path:Chromium配置文件目录的绝对路径(必需)
  • host_id:可选的精确IndexedDB主机/源文件夹筛选器
  • database_name:可选的精确数据库名称筛选器
  • object_store_name:可选的精确对象存储筛选器
  • limit:要返回的最大记录数(默认值:100)
  • include_deletions:包括已删除/非实时记录(默认值:false)
chromiumparse_cache_tool

解析Chromium HTTP缓存元数据和可选的缓存正文预览。

参数:

  • profile_path:Chromium配置文件目录的绝对路径(必需)
  • url:可选的精确URL筛选器
  • limit:要返回的最大记录数(默认值:100)
  • include_body:包括缓存的响应正文预览(默认值:false)
  • max_body_bytes:每个缓存正文预览的最大字节数(默认值:16384)
  • decompress:尽可能解压缩gzip/brotli/deflate响应(默认值:true)
chromium解析器历史工具

解析Chromium浏览历史记录。

参数:

  • profile_path:Chromium配置文件目录的绝对路径(必需)
  • url:可选的精确URL筛选器
  • title:可选的精确页面标题过滤器
  • limit:要返回的最大记录数(默认值:100)
chromium.parse_downloads_tool

解析Chromium下载记录 History 和 shared_proto_db 当存在时。

参数:

  • profile_path:Chromium配置文件目录的绝对路径(必需)
  • download_url:可选的精确下载URL过滤器
  • tab_url:可选的精确原始选项卡URL过滤器
  • limit:要返回的最大记录数(默认值:100)
chromiumparse_sessions_tool

解析Chromium会话还原导航条目 Sessions/, Current Session, Last Session, Current Tabs,以及 Last Tabs 当存在时。

参数:

  • profile_path:Chromium配置文件目录的绝对路径(必需)
  • file_name:可选的精确会话文件名筛选器
  • url:可选的精确URL筛选器
  • title:可选的精确页面标题过滤器
  • limit:要返回的最大记录数(默认值:100)
chromiumparse_favicons_tool

从中解析Chromium图标映射和位图元数据 Favicons 数据库。

参数:

  • profile_path:Chromium配置文件目录的绝对路径(必需)
  • page_url:可选的精确页面URL筛选器
  • icon_url:可选的精确favicon URL过滤器
  • limit:要返回的最大记录数(默认值:100)
  • include_image:将favicon图像预览包含为base64(默认值:false)
  • max_image_bytes:每个图标预览的最大字节数(默认值:4096)
chromiumparse_web_data_tool

解析普通Chromium Web Data 自动填充、关键字和配置文件等表格。

参数:

  • profile_path:Chromium配置文件目录的绝对路径(必需)
  • category:可选的精确类别过滤器(autofill, keywords, profiles)
  • limit:要返回的最大记录数(默认值:100)
chromium解析器扩展工具

解析Chromium安装的扩展元数据 Extensions/ 并从“首选项”中合并可用状态。

参数:

  • profile_path:Chromium配置文件目录的绝对路径(必需)
  • extension_id:可选的精确扩展ID过滤器
  • name:可选的精确扩展名过滤器
  • limit:要返回的最大记录数(默认值:100)
chromium.parse_参考工具

解析所选Chromium Preferences 和 Secure Preferences 价值观。

参数:

  • profile_path:Chromium配置文件目录的绝对路径(必需)
  • key_path:可选的点分隔首选项路径过滤器
  • limit:要返回的最大记录数(默认值:100)
chromium_parse_bookmarks_tool

解析Chromium书签URL条目 Bookmarks JSON文件。

参数:

  • profile_path:Chromium配置文件目录的绝对路径(必需)
  • url:可选的精确书签URL过滤器
  • title:可选的精确书签标题过滤器
  • limit:要返回的最大记录数(默认值:100)
chromiumparseloginstool

解析Chromium保存的登录元数据 Login Data SQLite数据库,无需解密密码。

参数:

  • profile_path:Chromium配置文件目录的绝对路径(必需)
  • origin_url:可选的精确源URL过滤器
  • username_value:可选的精确用户名过滤器
  • limit:要返回的最大记录数(默认值:100)
chromium_decrypt_logins_tool

尝试解密Chromium保存的密码。

支持两种模式:

  • Windows当前用户上下文使用 Local State +DPAPI
  • 通过以下方式提供解密的Chromium主密钥时的脱机/手动模式 master_key_b64

参数:

  • profile_path:Chromium配置文件目录的绝对路径(必需)
  • local_state_path:Chromium的可选路径 Local State 文件
  • master_key_b64:可选的base64形式的解密Chromium主密钥
  • origin_url:可选的精确源URL过滤器
  • username_value:可选的精确用户名过滤器
  • limit:要返回的最大记录数(默认值:100)

笔记:

  • v10/v11 密码blob需要Chromium主密钥
  • 较旧的仅支持DPAPI的blob在当前用户上下文中需要Windows DPAPI
  • 应用绑定 v20 当前不支持加密
chromiumparse_cookies_tool

从任一遗留版本解析Chromium Cookie Cookies 或现代 Network/Cookies SQLite数据库。

参数:

  • profile_path:Chromium配置文件目录的绝对路径(必需)
  • host_key:可选的精确cookie域筛选器
  • name:可选的精确cookie名称过滤器
  • limit:要返回的最大记录数(默认值:100)
chromium解密cookie工具

尝试解密Chromium Cookie。

支持两种模式:

  • Windows当前用户上下文使用 Local State +DPAPI
  • 通过以下方式提供解密的Chromium主密钥时的脱机/手动模式 master_key_b64

参数:

  • profile_path:Chromium配置文件目录的绝对路径(必需)
  • local_state_path:Chromium的可选路径 Local State 文件
  • master_key_b64:可选的base64形式的解密Chromium主密钥
  • host_key:可选的精确cookie域筛选器
  • name:可选的精确cookie名称过滤器
  • limit:要返回的最大记录数(默认值:100)

笔记:

  • 当不存在加密blob时,直接返回明文cookie值
  • v10/v11 cookie blob需要Chromium主密钥
  • 较旧的仅支持DPAPI的blob在当前用户上下文中需要Windows DPAPI
  • 应用绑定 v20 当前不支持加密

VirusTotal文件分析

1.vt_scan_file

将文件上传到VirusTotal进行扫描或哈希检查。

参数:

  • file_path:文件的绝对路径(必需)

例子:

{
  "file_path": "/home/user/samples/suspicious.exe"
}
2.vt_get_file_report

通过哈希值获取文件的VirusTotal分析报告。

参数:

  • file_hash:MD5、SHA1或SHA256哈希值(必需)

例子:

{
  "file_hash": "d41d8cd98f00b204e9800998ecf8427e"
}
3.vt_get_file_behavior

获取文件的沙盒行为分析。

参数:

  • file_hash:SHA256哈希(必需)

例子:

{
  "file_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
}

VirusTotal URL分析

4.vt_scan_url

将URL提交到VirusTotal进行扫描。

参数:

  • url:要扫描的URL(必需)

例子:

{
  "url": "http://example.com"
}
5.vt_get_url_report

获取URL的VirusTotal分析报告。

参数:

  • url:要分析的URL(必需)

例子:

{
  "url": "http://example.com"
}

VirusTotal域/IP智能

6.vt_get-domain_report

获取域的VirusTotal情报报告。

参数:

  • domain:域名(必填)

例子:

{
  "domain": "example.com"
}
7.vt_get_ip_report

获取IP地址的VirusTotal情报报告。

参数:

  • ip:IP地址(必填)

例子:

{
  "ip": "8.8.8.8"
}

病毒总搜索

8.vt_search_files

使用VirusTotal Intelligence搜索文件。

参数:

  • query:搜索查询字符串(必填)
  • limit:最大结果(默认值:10)

例子:

{
  "query": "tag:peexe positives:5+",
  "limit": 10
}
9.vt_get_comments

获取VirusTotal对象的社区评论。

参数:

  • object_id:对象ID(哈希/URL ID)(必填)
  • object_type:类型:“文件”、“url”、“域”、“ip_addresses”(默认值:“文件“)

例子:

{
  "object_id": "d41d8cd98f00b204e9800998ecf8427e",
  "object_type": "files"
}

本地文件分析

10.计算费用

计算文件的多个哈希值(MD5、SHA1、SHA256、SHA512、SSDEEP)。

参数:

  • file_path:文件路径(必需)

例子:

{
  "file_path": "/home/user/samples/malware.exe"
}
11.提取字符串

从二进制文件中提取可读字符串。

参数:

  • file_path:文件路径(必需)
  • min_length:最小字符串长度(默认值:4)

例子:

{
  "file_path": "/home/user/samples/malware.exe",
  "min_length": 4
}
12.提取物

使用ExifTool从文件中提取EXIF和元数据。

参数:

  • file_path:文件路径(必需)

例子:

{
  "file_path": "/home/user/evidence/image.jpg"
}
13.日分析文件

使用Detect It Easy(DIE)分析文件-检测打包器、编译器等。

参数:

  • file_path:文件路径(必需)

例子:

{
  "file_path": "/home/user/samples/packed.exe"
}

固件分析

14.便携式扫描

扫描文件以查找嵌入式签名(固件、压缩数据等)。

参数:

  • file_path:文件路径(必需)

例子:

{
  "file_path": "/home/user/firmware/router.bin"
}
15.binwalk_extract

从固件/二进制文件中提取嵌入式文件。

参数:

  • file_path:文件路径(必需)
  • output_dir:输出目录(可选)

例子:

{
  "file_path": "/home/user/firmware/router.bin",
  "output_dir": "/home/user/extracted"
}

缓存管理

16.get_cache_stats

获取缓存统计信息。

例子:

{}
17.清晰_疼痛

清除所有缓存条目。

例子:

{}

使用示例

恶意软件分析工作流程

Analyze this suspicious executable and provide a detailed report.
File: /home/user/samples/suspicious.exe

Steps:
1. Calculate hashes
2. Check VirusTotal reputation
3. Analyze with DIE
4. Extract strings
5. Scan for embedded files with binwalk

URL调查

Investigate this suspicious URL and provide threat intelligence.
URL: http://suspicious-domain.com

Steps:
1. Get URL report from VirusTotal
2. Get domain report
3. Check IP reputation

固件分析

Analyze this firmware image and extract embedded files.
File: /home/user/firmware/router.bin

Steps:
1. Scan with binwalk
2. Extract all embedded files
3. Calculate hashes of extracted files
4. Check hashes on VirusTotal

元数据抽取

Extract all metadata from this image file.
File: /home/user/evidence/photo.jpg

Steps:
1. Extract EXIF data
2. Extract strings
3. Calculate hashes

建筑

┌─────────────────┐     ┌──────────────────┐     ┌─────────────────┐
│   MCP Client    │────▶│  MCP Server      │────▶│   VirusTotal    │
│ (Claude/VSCode) │     │  (Python/MCP)    │     │     API         │
└─────────────────┘     └──────────────────┘     └─────────────────┘
                               │                           │
                               ▼                           │
                        ┌─────────────────┐                │
                        │  Memory Cache   │                │
                        │  (200MB limit)  │                │
                        └─────────────────┘                │
                               │                           ▼
                               ▼                  ┌─────────────────┐
                        ┌──────────────┐          │  Local Tools    │
                        │ Local Tools  │          │  (DIE, ExifTool,│
                        │  (Hash,      │          │   Binwalk)      │
                        │  Strings,    │          └─────────────────┘
                        │  EXIF)       │
                        └──────────────┘
                               │
                               ▼
                        ┌──────────────┐
                        │ Target File  │
                        └──────────────┘

缓存系统

服务器实现了智能内存缓存系统:

  • 缓存密钥格式: {tool_type}:{file_path} 或 vt:{endpoint}:{identifier}
  • 大小限制:200MB,LRU驱逐
  • 范围:每个实例(重新启动时清除)
  • 好处:

- 避免重新计算哈希值 - 减少病毒API调用总数 - 更快的重复分析

项目结构

forensics-utils-mcp-server/
├── forensics_utils_mcp_server/
│   ├── __init__.py
│   ├── server.py              # MCP server entry point
│   ├── cache.py               # In-memory cache implementation
│   ├── config.py              # Configuration settings
│   ├── exceptions.py          # Custom exceptions
│   ├── queue.py               # Rate-limited request queue
│   ├── vt_client.py           # VirusTotal API client
│   └── tools/
│       ├── __init__.py
│       ├── file_tools.py      # VT file analysis
│       ├── url_tools.py       # VT URL analysis
│       ├── domain_tools.py    # VT domain/IP analysis
│       ├── search_tools.py    # VT search
│       ├── hash_tools.py      # Hash calculation
│       ├── string_tools.py    # String extraction
│       ├── exif_tools.py      # EXIF extraction
│       ├── die_tools.py       # DIE analysis
│       └── binwalk_tools.py   # Binwalk integration
├── tests/
│   └── test_server.py
├── .env.example
├── .gitignore
├── pyproject.toml
├── README.md
└── requirements.txt

发展

设置开发环境

pip install -e ".[dev]"

代码质量

black forensics_utils_mcp_server
mypy forensics_utils_mcp_server

测试

pytest tests/

安全特性

  • API密钥保护:存储在 .env从未承诺使用git
  • 路径验证:只允许绝对路径
  • 大小限制:VirusTotal的文件上传限制为32MB
  • 速率限制:VT API每分钟4次请求
  • 超时保护:请求超时配置(默认值:60秒)

故障排除

未找到VirusTotal API密钥

# Create .env file
echo "VIRUSTOTAL_API_KEY=your_key_here" > .env

未找到死亡

# Download DIE from releases
# https://github.com/horsicq/Detect-It-Easy/releases
# Extract and add diec to PATH

未找到Binwalk

pip install binwalk

未找到ExifTool

# Windows: Download from https://exiftool.org/install.html
# Linux: sudo apt-get install libimage-exiftool-perl
# macOS: brew install exiftool

速率限制

  • VirusTotal免费层:4个请求/分钟
  • VirusTotal付费层:高达10000+个请求/天

调整 forensics_utils_mcp_server/config.py:

QUEUE_RATE_LIMIT = 4  # requests per minute
QUEUE_TIMEOUT_SECONDS = 60

更新日志

v1.0.0-初始版本

  • 病毒API v3集成总量(9个工具)
  • 本地分析工具(6个工具)
  • 内存缓存系统
  • 速率限制和队列管理
  • 支持DIE、ExifTool、Binwalk

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

致谢

支持

有关问题和功能请求,请使用 .

工具与能力

工具数量

17

资源数量

0

提示词数量

0

能力标签

取证分析Python本地部署浏览器工件解析恶意软件分析VirusTotal集成本地文件分析

支持客户端

ClaudeCline

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

自动操作网页

打开页面、点击、填表,把浏览器动作交给模型执行。

抓结构化数据

把页面内容整理成表格或 JSON,省掉手工复制粘贴。

走一遍关键流程

按步骤检查页面是否正常,回归时少漏环节。

选择建议

值得选的地方

  • 工具数量 17 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude、Cline,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备会话凭据,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在浏览器工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到会话凭据的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Forensics Utils MCP Server

MCP World · 本页

17stdio有1 个2026-05-17
Fetch 9a2682de

MCP.so

1SSE有3 个2026-05-17
Browser 738d52bc

MCP World

0stdio有1 个2026-05-17
Playwright MCP Server

MCP.so

21stdio有4 个2026-05-17
Skyvern MCP

MCP World

0stdio有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Forensics Utils MCP Server 怎么安装?

公开资料给出的安装命令是 python -m venv venv,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Forensics Utils MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Forensics Utils MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Forensics Utils MCP Server 需要 API Key 吗?

公开资料标注的认证方式是会话凭据,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Forensics Utils MCP Server 支持哪些客户端?

公开资料标注支持 Claude、Cline;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP