Volatility MCP Server
by OMGhozlan
README.md
# โ๏ธ Volatility MCP Server
[](https://www.python.org/downloads/release/python-3110/)
[](https://github.com/volatilityfoundation/volatility3)
[](https://hub.docker.com/)
[](https://github.com/Textualize/fastmcp)
---
## ๐ 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
```bash
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:
```json
{
"mcpServers": {
"Volatility3": {
"command": "fastmcp",
"args": ["run", "path/to/volatility_mcp_server.py:mcp", "--transport", "stdio"]
}
}
}
```
#### Using `sse`
Run the server using
```pwsh
fastmcp run volatility_mcp_server.py:mcp --transport sse
```
For Claude desktop
```json
{
"mcpServers": {
"volatility3": {
"command": "npx",
"args": ["mcp-remote", "http://localhost:8000/sse"]
}
}
}
```
For Cursor
```json
{
"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:
```bash
docker build -t volatility-mcp .
```
### โถ๏ธ 2. Run the Server
```bash
docker run --rm -it \
-v $(pwd)/memdumps:/memdumps \
-v $(pwd)/output:/output \
volatility-mcp
```
---
## ๐ง Developer/Contributor Guide
### ๐งฑ Setup Virtual Environment
```bash
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```
### ๐งช Run Locally
```bash
python volatility_mcp_server.py
```
---
## โ๏ธ Customization Tips
- ๐ Want to add a new plugin? Extend `BasePlugin` and register it in `plugin_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 the `BasePlugin` 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:
- [Volatility Foundation](https://www.volatilityfoundation.org/)
- [FastMCP Documentation](https://github.com/Textualize/fastmcp)
- [Python-dotenv](https://github.com/theskumar/python-dotenv)
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessUnresponsive