Volatility-MCP-Server
The Volatility MCP Server is a memory forensics automation toolkit built on Volatility 3, supporting multiple operating systems. It offers plugin automation, cross-platform support, and modular architecture, making memory analysis faster and more accessible.
โ๏ธ Volatility MCP Server
๐ Overview
The Volatility MCP Server is a powerful memory forensics automation toolkit powered by Volatility 3. It provides a modular, extensible interface for running Volatility plugins across Windows, Linux, and macOS memory dumps.
It makes memory analysis faster and more accessible via:
โ
Plugin automation
โ
Cross-platform support (Windows, Linux, macOS)
โ
Modular plugin architecture
โ
Rich logging with beautiful formatting
โ
Easy plugin registration and management
๐ก Key Features
- ๐ Powered by Volatility 3
- ๐ง Supports Windows, Linux, and macOS plugins
- โ๏ธ Asynchronous plugin execution
- ๐ค JSON output format
- ๐ Built-in error handling and validation
- ๐จโ๐ป FastMCP server interface
- ๐ณ Docker-ready environment
๐ฆ Requirements
python 3.11+
pip install -r requirements.txt
requirements.txt:
fastmcp
rich
python-dotenv
๐ Project Structure
Volatility-MCP-Server/
โโโ volatility_mcp_server.py # Main server implementation
โโโ plugins/ # Plugin modules
โ โโโ base_plugin.py # Base plugin class
โ โโโ plugin_factory.py # Plugin registration
โ โโโ windows/ # Windows plugins
โ โโโ linux/ # Linux plugins
โ โโโ mac/ # macOS plugins
โ โโโ common/ # Common plugins
โโโ requirements.txt # Dependencies
โโโ README.md # This file
๐ฅ๏ธ Usage
๐ง Local Connection
Using stdio
Create a .cursor/mcp.json
file with:
{
"mcpServers": {
"Volatility3": {
"command": "fastmcp",
"args": ["run", "path/to/volatility_mcp_server.py:mcp", "--transport", "stdio"]
}
}
}
Using sse
Run the server using
fastmcp run volatility_mcp_server.py:mcp --transport sse
For Claude desktop
{
"mcpServers": {
"volatility3": {
"command": "npx",
"args": ["mcp-remote", "http://localhost:8000/sse"]
}
}
}
For Cursor
{
"mcpServers": {
"Volatility3": {
"url": "http://localhost:8000/sse"
}
}
}
๐ Available Plugins
Windows Plugins
- Process:
PsList
,PsTree
,PsScan
- Memory:
Malfind
,MemMap
- Network:
NetScan
- Registry:
RegistryHiveList
,RegistryPrintKey
- System:
SvcScan
,CmdLine
,DllList
,Handles
,FileScan
- Disk:
ADS
,MFTScan
,ResidentData
Linux Plugins
- Process:
PsList
,PsTree
,PsScan
,PsAux
,PsCallStack
- System:
Bash
,Boottime
,Capabilities
- Network:
IpAddr
,IpLink
,Netfilter
- Memory:
Malfind
,ModuleExtract
- File System:
Files
,InodePages
,RecoverFs
macOS Plugins
- Process:
PsList
,PsTree
,Psaux
- System:
Bash
,Dmesg
,Lsmod
- Network:
Ifconfig
,Netstat
- Security:
Check_syscall
,Check_sysctl
,Check_trap_table
Common Plugins
- Framework:
Banners
,ConfigWriter
,FrameworkInfo
,IsfInfo
,LayerWriter
- Scan:
RegExScan
,YaraScan
,Vmscan
- Timeline:
Timeliner
๐ณ Docker Usage (No idea what I wanted to do here but might be useful in the future)
โ๏ธ 1. Build the Docker Image
From the root directory:
docker build -t volatility-mcp .
โถ๏ธ 2. Run the Server
docker run --rm -it \
-v $(pwd)/memdumps:/memdumps \
-v $(pwd)/output:/output \
volatility-mcp
๐ง Developer/Contributor Guide
๐งฑ Setup Virtual Environment
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
๐งช Run Locally
python volatility_mcp_server.py
โ๏ธ Customization Tips
- ๐ Want to add a new plugin? Extend
BasePlugin
and register it inplugin_factory.py
- ๐งฉ Want to add a new OS? Create a new plugin directory and implement the plugins
- ๐ Want to add new features? The modular architecture makes it easy to extend
๐ FAQ
๐ Does this support Volatility 2.x?
๐ป No. This server supports Volatility 3 only for modern plugin support.
๐ต Can I add custom plugins?
โ Yes! Just extend theBasePlugin
class and register it in the factory.
๐ด Why use FastMCP?
It provides a clean, efficient interface for running Volatility plugins with proper error handling and async support.
๐ License
MIT ยฉ๏ธ 2025
๐ More Tools?
You may also like: