Mem Forensics Mcp Server — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mem Forensics Mcp Server (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A high-performance MCP Server for Memory Forensics that enables AI agents to analyze memory dumps through the Model Context Protocol. Built with two-tier architecture combining Rust speed with Volatility3 coverage.
This project is based on the excellent work by xtk in mem-forensics-mcp. The Rust engine (memoxide) is a modified version of the original implementation.
Tested on Windows crash dump (2GB, ~109 processes):
| Operation | Rust (Memoxide) | Volatility3 | Speedup |
|---|---|---|---|
| Analyze Image | 3s | 60s | 20x faster |
| Process List (pslist) | 1.5s | 15s | 10x faster |
| Network Scan (netscan) | 2s | 20s | 10x faster |
stable branchVolatility3 is loaded from a managed git checkout, not from the pip volatility3 package.
Create .env in the project root:
cp .env.example .envDefault .env:
VOLATILITY3_REPO_URL=https://github.com/volatilityfoundation/volatility3
VOLATILITY3_BRANCH=stable
VOLATILITY3_REPO_PATH=.cache/volatility3
VOLATILITY3_AUTO_UPDATE=true
VOLATILITY3_UPDATE_INTERVAL_SECONDS=86400From Source:
git clone https://github.com/jus1-c/mem-forensics-mcp-server.git
cd mem-forensics-mcp-server
pip install -e .Logs are written to mem-forensics-mcp.log in the project/install root, next to .env.
Edit claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"mem-forensics": {
"command": "python",
"args": ["-m", "mem_forensics_mcp_server"]
}
}
}Add to your settings:
{
"mcpServers": {
"mem-forensics": {
"command": "python",
"args": ["-m", "mem_forensics_mcp_server"],
"disabled": false,
"autoApprove": []
}
}
}Initialize memory image analysis and detect OS profile.
Parameters:
image_path: Absolute path to memory dump (required)dtb: Override DTB address (optional, hex string)kernel_base: Override kernel base address (optional, hex string)Example:
{
"image_path": "/evidence/memory.raw",
"dtb": "0x1ad000"
}Run a forensics plugin. Auto-routes to Rust (fast) or Vol3 (fallback).
Parameters:
image_path: Absolute path to memory dump (required)plugin: Plugin name - can be short ("pslist") or full ("windows.pslist.PsList")args: List of plugin arguments (optional, e.g., ["--pid", "1234"])filter: Server-side filter string (optional)Important Notes:
args parameter for all plugin arguments-r json is accepted but ignored for backward compatibilityExamples:
// List all processes
{
"image_path": "/evidence/memory.raw",
"plugin": "pslist"
}
// Dlllist for specific PID
{
"image_path": "/evidence/memory.raw",
"plugin": "dlllist",
"args": ["--pid", "3692"]
}
// Filescan with filter
{
"image_path": "/evidence/memory.raw",
"plugin": "filescan",
"filter": "svchost"
}
// Using full plugin name
{
"image_path": "/evidence/memory.raw",
"plugin": "windows.netscan.NetScan"
}List all available plugins from both engines.
Parameters:
image_path: Memory dump path (for context)Returns:
stable checkout (Windows/Linux/Mac/Other)List all active analysis sessions.
Parameters: None
Get server status and engine availability.
Parameters: None
List files found in memory using filescan plugin.
Parameters:
image_path: Absolute path to memory dump (required)args: Optional args like ["--pid", "1234"]Get detailed help and examples for any tool.
Parameters:
tool_name: Name of tool (e.g., "memory_run_plugin")Please analyze this memory dump and list all processes.
File: /evidence/windows.dmpThe server will:
Get command line for process ID 1234 from this memory dump.
File: /evidence/malware.dmp{
"image_path": "/evidence/malware.dmp",
"plugin": "cmdline",
"args": ["--pid", "1234"]
}Find all network connections in this memory dump.
File: /evidence/c2.dmpScan for injected code (malfind) in this memory dump.
File: /evidence/suspicious.dmpList all files found in memory.
File: /evidence/windows.dmpThe server includes an intelligent caching system:
(image_path, plugin, args)Benefits:
| Variable | Description | Default |
|---|---|---|
VOLATILITY3_REPO_URL | Volatility3 git repository URL | https://github.com/volatilityfoundation/volatility3 |
VOLATILITY3_BRANCH | Volatility3 branch to use | stable |
VOLATILITY3_REPO_PATH | Local checkout path, relative to project root if not absolute | .cache/volatility3 |
VOLATILITY3_AUTO_UPDATE | Auto-update checkout on startup when due | true |
VOLATILITY3_UPDATE_INTERVAL_SECONDS | Auto-update interval | 86400 |
┌─────────────────┐ ┌──────────────────┐ ┌─────────────┐
│ MCP Client │────▶│ MCP Server │────▶│ Memoxide │
│ (Claude/VSCode) │ │ (Python/FastMCP)│ │ (Rust) │
└─────────────────┘ └──────────────────┘ └─────────────┘
│ │
│ ┌──────┴──────┐
│ │ Memory Dump │
│ └─────────────┘
▼
┌─────────────┐ ┌─────────────┐
│ Cache │────▶│ Volatility3│
│ (200 entries)│ │ API Fallback│
└─────────────┘ └─────────────┘mem-forensics-mcp-server/
├── mem_forensics_mcp_server/
│ ├── __init__.py
│ ├── __main__.py # Entry point
│ ├── server.py # MCP server with tools
│ ├── config.py # Configuration
│ ├── core/
│ │ ├── session.py # Session management
│ │ ├── cache.py # Plugin result caching
│ │ ├── settings.py # .env settings loader
│ │ ├── vol3_repo.py # Managed Volatility3 git checkout
│ │ ├── vol3_api.py # Vol3 API backend
│ │ └── vol3_cli.py # Compatibility shim
│ ├── engine/
│ │ ├── memoxide_client.py # Rust engine client
│ │ └── memoxide/ # Prebuilt binaries
│ │ ├── x86_64/
│ │ └── aarch64/
│ └── utils/
│ └── helpers.py
├── pyproject.toml
├── .env.example
├── README.md
└── .gitignorepip install -e ".[dev]"cd mem_forensics_mcp_server/engine/memoxide-src
cargo build --releaseMemoxide requires platform-specific binaries. Prebuilt binaries included for:
To build for other platforms:
cd mem_forensics_mcp_server/engine/memoxide-src
cargo build --release --target <target-triple>Some memory dump formats may not be compatible with certain plugins. Error message will indicate:
Rust engine has 60s timeout. For very large dumps, Vol3 fallback will be used automatically.
This means the arguments passed do not match the plugin's Volatility3 requirements. Use memory_get_tool_help for MCP examples or call memory_list_plugins to verify the resolved plugin name.
stable checkout.env-only Volatility3 configuration and auto-update settingsMIT License - see LICENSE file for details.
For issues and feature requests, please use the GitHub issue tracker.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.