Volatility
A Model Context Protocol (MCP) server that integrates Volatility 3 memory forensics framework with Claude
claude mcp add --transport stdio bornpresident-volatility-mcp-server python /path/to/volatility_mcp_server.py \ --env PYTHONPATH="/path/to/volatility3"
How to use
This MCP server exposes Volatility 3 memory forensics plugins as MCP tools that can be invoked by Claude or any MCP-compatible LLM. You can ask questions about a target memory dump and run Volatility plugins like pslist, psscan, netscan, malfind, dlllist, and more through natural language prompts. The server wraps Volatility plugin execution behind MCP tool calls, returning structured results that can guide analysts through memory forensics investigations. Tools are available for listing plugins, inspecting image information, traversing process hierarchies, scanning for hidden processes, analyzing network connections, detecting malware indicators, enumerating DLLs, and locating file objects and memory maps. You can also run custom plugins or point the workflow to a directory containing memory dumps to automatically discover them. To use it, configure Claude Desktop (or another MCP client) to point to the Python script as shown in the provided configuration snippet, then interact with Claude using questions like those in the README examples.
How to install
Prerequisites:
- Python 3.10 or higher
- Volatility 3 Framework installed on the system
- Claude Desktop or another MCP-compatible client
- MCP Python SDK (mcp package)
Installation steps:
-
Clone the repository: git clone https://github.com/yourusername/volatility-mcp-server.git
-
Create a virtual environment (optional but recommended) and activate it: python -m venv venv
Windows
venv\Scripts\activate.bat
macOS/Linux
source venv/bin/activate
-
Install required Python packages: pip install mcp httpx
-
Ensure Volatility 3 is installed and accessible. Note the Volatility 3 directory path you will use in VOLATILITY_DIR in volatility_mcp_server.py.
-
Configure Claude Desktop (or MCP client) to point to the server script. Update the config file (example shown in the README) to reference:
- command: 'python'
- args: ['/path/to/volatility_mcp_server.py']
- env: { 'PYTHONPATH': '/path/to/volatility3' }
-
Restart Claude Desktop (or your MCP client) to apply the changes.
Additional notes
Tips and notes:
- Use absolute paths in Windows, and consider escaping backslashes in memory dump paths.
- Ensure the Volatility 3 installation is functional by running a few commands manually before integrating with MCP.
- If encountering MCP errors, check Claude Desktop logs and ensure the Python environment has access to the Volatility directory.
- For large memory dumps, you may need to adjust command arguments or provide memory dump discovery via list_memory_dumps to locate target files.
- When using custom plugins, leverage run_custom_plugin to pass specific arguments to Volatility plugins.
- Maintain proper memory and disk permissions, and run the client with sufficient privileges as required by Volatility 3 operations.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP