A Model Context Protocol (MCP) server for querying the VirusTotal API. This server provides comprehensive security analysis tools with automatic relationship data fetching. It integrates seamlessly with MCP-compatible applications like Claude Desktop. To install VirusTotal Server for Claude Desktop automatically via Smithery: 1. Install the server globally via npm: 2. Add to your Claude Desktop co
Add this skill
npx mdskills install BurtTheCoder/mcp-virustotalComprehensive VirusTotal API integration with well-documented tools, clear setup, and automatic relationship fetching
A Model Context Protocol (MCP) server for querying the VirusTotal API. This server provides comprehensive security analysis tools with automatic relationship data fetching. It integrates seamlessly with MCP-compatible applications like Claude Desktop.
To install VirusTotal Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @burtthecoder/mcp-virustotal --client claude
npm install -g @burtthecoder/mcp-virustotal
{
"mcpServers": {
"virustotal": {
"command": "mcp-virustotal",
"env": {
"VIRUSTOTAL_API_KEY": "your-virustotal-api-key"
}
}
}
}
Configuration file location:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonTo use this MCP server in VS Code with GitHub Copilot:
npm install -g @burtthecoder/mcp-virustotal
Create or update your VS Code MCP configuration file at:
~/.vscode/mcp.json%USERPROFILE%\.vscode\mcp.jsonAdd the following configuration:
{
"servers": {
"virustotal": {
"command": "mcp-virustotal",
"env": {
"VIRUSTOTAL_API_KEY": "your-virustotal-api-key"
}
}
}
}
You can then use the VirusTotal tools through GitHub Copilot in VS Code by referencing the available tools in your prompts.
If you prefer to run from source or need to modify the code:
git clone
cd mcp-virustotal
npm install
npm run build
{
"mcpServers": {
"virustotal": {
"command": "node",
"args": ["/absolute/path/to/mcp-virustotal/build/index.js"],
"env": {
"VIRUSTOTAL_API_KEY": "your-virustotal-api-key"
}
}
}
}
The server supports HTTP streaming transport in addition to the default stdio transport. This is useful for running the server as a standalone HTTP service that multiple clients can connect to.
Set the MCP_TRANSPORT environment variable to httpStream:
MCP_TRANSPORT=httpStream MCP_PORT=3000 VIRUSTOTAL_API_KEY=your-key node build/index.js
| Variable | Default | Description |
|---|---|---|
VIRUSTOTAL_API_KEY | (required) | Your VirusTotal API key |
MCP_TRANSPORT | stdio | Transport mode: stdio or httpStream |
MCP_PORT | 3000 | HTTP server port (only for httpStream) |
MCP_ENDPOINT | /mcp | HTTP endpoint path (only for httpStream) |
docker build -t mcp-virustotal .
docker run -p 3000:3000 \
-e VIRUSTOTAL_API_KEY=your-key \
-e MCP_TRANSPORT=httpStream \
mcp-virustotal
The server exposes a health check endpoint at /health when running in HTTP streaming mode.
get_url_reporturl (required): The URL to analyzeget_file_reporthash (required): MD5, SHA-1 or SHA-256 hash of the fileget_ip_reportip (required): IP address to analyzeget_domain_reportdomain (required): Domain name to analyzerelationships (optional): Array of specific relationships to include in the reportget_url_relationshipurl (required): The URL to get relationships forrelationship (required): Type of relationship to query
limit (optional, default: 10): Maximum number of related objects to retrieve (1-40)cursor (optional): Continuation cursor for paginationget_file_relationshiphash (required): MD5, SHA-1 or SHA-256 hash of the filerelationship (required): Type of relationship to query
limit (optional, default: 10): Maximum number of related objects to retrieve (1-40)cursor (optional): Continuation cursor for paginationget_ip_relationshipip (required): IP address to analyzerelationship (required): Type of relationship to query
limit (optional, default: 10): Maximum number of related objects to retrieve (1-40)cursor (optional): Continuation cursor for paginationget_domain_relationshipdomain (required): Domain name to analyzerelationship (required): Type of relationship to query
limit (optional, default: 10): Maximum number of related objects to retrieve (1-40)cursor (optional): Continuation cursor for paginationIf you see "Wrong API key" errors:
/tmp/mcp-virustotal-server.log (on macOS) for API key statusTo run in development mode with hot reloading:
npm run dev
The server includes comprehensive error handling for:
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)This project is licensed under the MIT License - see the LICENSE file for details.
Install via CLI
npx mdskills install BurtTheCoder/mcp-virustotalVirusTotal MCP Server is a free, open-source AI agent skill. A Model Context Protocol (MCP) server for querying the VirusTotal API. This server provides comprehensive security analysis tools with automatic relationship data fetching. It integrates seamlessly with MCP-compatible applications like Claude Desktop. To install VirusTotal Server for Claude Desktop automatically via Smithery: 1. Install the server globally via npm: 2. Add to your Claude Desktop co
Install VirusTotal MCP Server with a single command:
npx mdskills install BurtTheCoder/mcp-virustotalThis downloads the skill files into your project and your AI agent picks them up automatically.
VirusTotal MCP Server works with Claude Code, Claude Desktop, Cursor, Vscode Copilot, Windsurf, Continue Dev, Gemini Cli, Amp, Roo Code, Goose. Skills use the open SKILL.md format which is compatible with any AI coding agent that reads markdown instructions.