X-Ways MCP

X-Ways MCP

Enables triage, installation validation, and controlled automation of X-Ways Forensics and related tools through structured MCP tools for agents.

Category
访问服务器

README

X-Ways MCP Server

An MCP server for X-Ways Forensics triage, installation validation, and controlled automation.

This repo follows the same general idea as bethington/ghidra-mcp: put a specialist desktop analysis tool behind a structured MCP surface so agents can inspect state, run repeatable workflows, and keep a useful audit trail. The first version is intentionally a safe control plane. When command-line or scripting coverage is not enough, runners should generate a small X-Tension bridge for the specific in-process gap and document the API provenance for future runs.

Current Capabilities

  • Discover X-Ways Forensics, WinHex, X-Ways Imager, and XWFIM executables.
  • Validate XWFIM Temp downloads and detect truncated ZIPs such as a bad viewer.zip.
  • Hash evidence and downloaded packages with MD5/SHA-1/SHA-256.
  • Create repeatable case workspace folders.
  • Build read-only triage inventories for mounted folders or exports.
  • Run a forensic harness that writes case manifests, report stubs, status JSON, and audit logs compatible with Donovoi/forensic-copilot.
  • Create disposable synthetic test environments for Windows, Linux, macOS, and generic evidence fixtures.
  • Build X-Ways launch commands without executing them.
  • Optionally launch X-Ways when explicitly enabled.
  • Fetch public X-Ways release information for quick version checks.
  • Cache and search the X-Ways manual locally for command-line, scripting, and headless workflow syntax.
  • Plan X-Ways operations with a headless-first, native-distributed-RVS, X-Tension-next, UI-last policy.
  • Generate local X-Tension bridge scaffolds with API notes and build hooks.
  • Plan parallel X-Ways processing from the local manual: native distributed volume snapshot refinement first, isolated worker cases only as fallback.

Safety Model

Read-only and dry-run behavior is the default.

launch_xways will not execute unless both conditions are true:

  • XWAYS_MCP_ALLOW_EXECUTE=1
  • the tool call passes confirm=true

This avoids accidentally starting analysis, imaging, or script workflows while an agent is still planning.

Automation preference is:

  1. Manual first: check the newest available X-Ways manual, official docs, or approved local docs cache before deciding command syntax, API behavior, distributed processing, X-Tension work, or UI fallback.
  2. X-Ways command-line, scripts, saved dialog selections, Cfg:, XT:, and XTParam:*.
  3. X-Ways native distributed RVS for different evidence objects in the same case when the manual supports it.
  4. A generated X-Tension bridge when the task needs in-process X-Ways access or the API covers something the headless surface cannot.
  5. UI automation only as a bounded last resort.

If a runner uses documented or undocumented X-Tensions API behavior, it must record the symbols, X-Ways version constraints, and provenance in local bridge notes before using the bridge on real evidence.

Requirements

  • Python 3.10+
  • X-Ways Forensics, WinHex, X-Ways Imager, or XWFIM installed separately
  • Windows for real X-Ways launching and executable version inspection

The server itself can run on other platforms for archive validation, hashing, and folder inventory work.

Quick Start

python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -e ".[dev]"
pytest
python -m xways_mcp --transport stdio

Cache the current X-Ways manual locally for offline model lookup:

python -m pip install -e ".[dev]"
python -c "from xways_mcp.manual import cache_xways_manual; print(cache_xways_manual(source=r'<XWAYS_ROOT>\manual.pdf'))"

To refresh from the public X-Ways manual and official scripting/setup pages:

python -c "from xways_mcp.manual import cache_xways_manual; print(cache_xways_manual(download_latest=True, fetch_official_docs=True, refresh=True))"

Run the MCP stdio smoke test:

python scripts\smoke_mcp.py --search-root "<XWFIM_ROOT>" --public-release

Run a forensic-copilot-compatible harness preflight:

python -m xways_mcp.harness xwfim-preflight `
  --case-name CASE-001 `
  --xwfim-root "<XWFIM_ROOT>" `
  --staging-root artifacts `
  --output-root reports `
  --evidence-os Windows `
  --evidence-mode portable-tooling

Build disposable synthetic fixtures for every supported evidence OS:

python -m xways_mcp.testenv build --name CASE-001 --evidence-os all --root test-envs --force
python -m xways_mcp.testenv destroy --name CASE-001 --evidence-os all --root test-envs --missing-ok

Configure your MCP client with:

{
  "mcpServers": {
    "xways-mcp": {
      "command": "python",
      "args": ["-m", "xways_mcp", "--transport", "stdio"],
      "env": {
        "XWAYS_HOME": "C:\\xwf",
        "XWAYS_MCP_SEARCH_ROOTS": "<XWAYS_ROOT>;<XWFIM_ROOT>",
        "XWAYS_MCP_ALLOW_EXECUTE": "0",
        "PYTHONIOENCODING": "utf-8"
      }
    }
  }
}

Useful Tools

  • environment
  • public_xways_release
  • manual_status
  • cache_xways_manual
  • search_xways_manual
  • headless_xways_reference
  • plan_xways_operation
  • plan_parallel_xways_jobs
  • create_xtension_scaffold
  • discover_installations
  • inspect_xwfim_cache
  • validate_archive
  • hash_file
  • create_workspace
  • triage_inventory
  • build_launch_command
  • launch_xways
  • harness_init_case
  • harness_xwfim_preflight
  • harness_folder_triage
  • testenv_create
  • testenv_build
  • testenv_run
  • testenv_destroy
  • testenv_list

See docs/TOOLS.md for details. See docs/FORENSIC_COPILOT.md for integration with Donovoi/forensic-copilot. See docs/TEST_ENVIRONMENTS.md for disposable synthetic fixture testing. See docs/MANUAL_FIRST.md for the manual-first tooling policy. See docs/HEADLESS_XWAYS.md for local manual indexing and headless command lookup. See docs/PARALLEL_PROCESSING.md for the manual-backed distributed processing policy. See docs/XTENSION_BRIDGE.md for the generated X-Tension bridge workflow.

XWFIM Validation Example

inspect_xwfim_cache(path="<XWFIM_ROOT>")

This reports each ZIP in Temp, whether it can be opened, and whether the ZIP end-of-central-directory record is missing. That is the signal for a truncated download.

Roadmap

  1. Stabilize the Python MCP control plane.
  2. Add stronger X-Ways script templates for repeatable triage.
  3. Add native distributed RVS orchestration for multi-instance same-case runs.
  4. Generate operation-specific X-Tension DLL bridges for in-process gaps.
  5. Dynamically register X-Tension-backed tools when X-Ways is open.
  6. Add reporting workflows for timeline, search hit, and tagged-file exports.

References

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选