The MalwareAnalyzerMCP server provides specialized functionality for Claude Desktop, allowing users to execute terminal commands specifically designed for malware analysis tasks. It offers a secure and configurable interface for analyzing suspicious files through various command-line tools.
Setting up the MalwareAnalyzerMCP server requires Node.js 18 or higher and is compatible with Node.js v22+ using ESM modules.
# Install dependencies
npm install
You can start the MCP server using one of the following methods:
# Start the server directly
node index.js
# Or use npm script
npm start
# With debugging proxy (logs all communications)
npm run debug
To connect the MalwareAnalyzerMCP server with Claude Desktop:
{
"mcpServers": {
"MalwareAnalysisMCP": {
"command": "node",
"args": [
"/path/to/MalwareAnalysisMCP/index.js"
]
}
}
}
Note: Replace /path/to/MalwareAnalysisMCP with the actual path to your project directory.
To monitor communication between Claude Desktop and the MCP server:
{
"mcpServers": {
"MalwareAnalysisMCP": {
"command": "node",
"args": [
"/path/to/MalwareAnalysisMCP/mcp-debug-proxy.js"
]
}
}
}
Executes a terminal command and returns its process ID, output, and blocked status.
Parameters:
command (string): The command to execute in the terminaltimeout_ms (number, optional): Timeout in milliseconds (default: 30000)Returns:
pid (number): Process IDoutput (string): Command outputisBlocked (boolean): Whether the command execution is blocked/timed outReads output from a running or completed process.
Parameters:
pid (number): The process ID to read output fromReturns:
output (string | null): The process output, or null if the process is not foundAnalyze a file and determine its type.
Parameters:
target (string): Target file to analyzeoptions (string, optional): Additional command-line optionsExample:
{
"target": "suspicious.exe",
"options": "-b"
}
Extract printable strings from a file.
Parameters:
target (string): Target file to analyzeminLength (number, optional): Minimum string length to displayencoding (string, optional): String encoding (s=7-bit, S=8-bit, b=16-bit big-endian, l=16-bit little-endian, etc.)options (string, optional): Additional command-line optionsExample:
{
"target": "suspicious.exe",
"minLength": 10,
"encoding": "l"
}
Display file contents in hexadecimal format.
Parameters:
target (string): Target file to analyzelength (number, optional): Number of bytes to displayoffset (number, optional): Starting offset in the fileoptions (string, optional): Additional command-line optionsExample:
{
"target": "suspicious.exe",
"length": 256,
"offset": 1024
}
Display information from object files.
Parameters:
target (string): Target file to analyzedisassemble (boolean, optional): Disassemble executable sectionsheaders (boolean, optional): Display the contents of the section headersoptions (string, optional): Additional command-line optionsExample:
{
"target": "suspicious.exe",
"disassemble": true
}
Create a hexdump with ASCII representation.
Parameters:
target (string): Target file to analyzelength (number, optional): Number of bytes to displayoffset (number, optional): Starting offset in the filecols (number, optional): Format output into specified number of columnsbits (boolean, optional): Switch to bits (binary) dumpoptions (string, optional): Additional command-line optionsExample:
{
"target": "suspicious.exe",
"cols": 16,
"bits": true
}
To add this MCP server to Claude Code, run this command in your terminal:
claude mcp add-json "MalwareAnalysisMCP" '{"command":"node","args":["/path/to/MalwareAnalysisMCP/index.js"]}'
See the official Claude Code MCP documentation for more details.
There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.
If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.
To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".
When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:
{
"mcpServers": {
"MalwareAnalysisMCP": {
"command": "node",
"args": [
"/path/to/MalwareAnalysisMCP/index.js"
]
}
}
}
To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.
Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.
The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.
You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.
To add this MCP server to Claude Desktop:
1. Find your configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/Claude/claude_desktop_config.json2. Add this to your configuration file:
{
"mcpServers": {
"MalwareAnalysisMCP": {
"command": "node",
"args": [
"/path/to/MalwareAnalysisMCP/index.js"
]
}
}
}
3. Restart Claude Desktop for the changes to take effect