# โ„๏ธ Volatility MCP Server [![Python](https://img.shields.io/badge/Python-3.11-blue.svg)](https://www.python.org/downloads/release/python-3110/) [![Volatility 3](https://img.shields.io/badge/Volatility-3.x-success)](https://github.com/volatilityfoundation/volatility3) [![Docker (Not) Ready](https://img.shields.io/badge/Docker-Ready-green)](https://hub.docker.com/) [![FastMCP](https://img.shields.io/badge/FastMCP-Server-red.svg)](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)