MCP Virustotal logo

MCP Virustotal

by BurtTheCoder

Queries VirusTotal for URL, file-hash, IP, and domain reports, relationships, behavior summaries, and threat collections.

Install MCP Virustotal

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "burtthecoder-mcp-virustotal": {
      "command": "npx",
      "args": [
        "-y",
        "@burtthecoder/mcp-virustotal"
      ],
      "env": {
        "VIRUSTOTAL_API_KEY": "YOUR_VALUE_HERE",
        "MCP_TRANSPORT": "YOUR_VALUE_HERE",
        "MCP_PORT": "YOUR_VALUE_HERE",
        "MCP_ENDPOINT": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

npx -y @burtthecoder/mcp-virustotal

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 1mo ago.

Overview

The BurtTheCoder/mcp-virustotal MCP server queries the VirusTotal API for URL, file, IP address, and domain intelligence. It exposes report, relationship, corpus-search, sandbox-behavior, and threat-collection tools over MCP, using an API key and either stdio or HTTP streaming transport. Reach for it when an agent needs VirusTotal lookups or related threat context during security analysis.

Use cases

  • Check a URL against VirusTotal and inspect redirects or contacted infrastructure
  • Investigate a file hash with behavior, dropped-file, and network relationships
  • Review IP or domain reputation, DNS, WHOIS, and certificate data
  • Search VirusTotal for related malware, infrastructure, or threat objects

Key features

  • URL, file, IP, and domain reports
  • Paginated relationship queries
  • VirusTotal corpus search
  • Cross-sandbox behavior summaries
  • Threat collection retrieval
  • Stdio and HTTP streaming transports

Tools24

What MCP Virustotal lets your agent do. Expand a tool for its parameters.

Self-reported~72 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

9/9 checks healthy over the last 78d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 10d ago via OSV.dev · @burtthecoder/mcp-virustotal (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars152Stargazers on the source repository.
npm downloads3.2kPackage downloads in the last 30 days.
Last commit4d agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Tools exposed24Callable tools this server registers over MCP.
Directory activity4 viewsConfig copies, upvotes, and views on AllMCPs.

How MCP Virustotal works

What BurtTheCoder/mcp-virustotal MCP server does

The BurtTheCoder/mcp-virustotal MCP server gives MCP-compatible clients access to VirusTotal security data. It can retrieve reports for URLs, files identified by MD5, SHA-1, or SHA-256, IP addresses, and domains. Report tools return core analysis data together with selected related objects, such as contacted infrastructure, downloaded or dropped files, behaviors, certificates, subdomains, and threat actors, depending on the object type.

The server also supports more targeted investigation. Relationship tools query a chosen relationship type with pagination, while corpus search accepts free-form VirusTotal queries, including modifier syntax such as type and detection-count filters. Additional capabilities cover merged sandbox behavior summaries, threat collections, and related threat actors.

This belongs in the 🔒 Security category and is suited to workflows that need reputation checks, infrastructure pivots, malware-context lookups, or relationship data from VirusTotal.

How it works

The BurtTheCoder/mcp-virustotal MCP server calls the VirusTotal API using the VIRUSTOTAL_API_KEY environment variable. URL lookups prefer an existing VirusTotal report; when no cached report is available, the server can submit the URL for scanning and poll for completion. Other report tools use the supplied file hash, IP address, or domain name.

Relationship results support limits and continuation cursors. The documented limits range from 1 to 40 for URL relationship queries, with a default of 10. Report requests batch relevant relationship retrieval to reduce API calls. The available relationship types vary by object and include network connections, contacted domains or IPs, dropped files, behaviors, redirects, certificates, collections, and threat actors.

By default, the server uses stdio transport. It can also run as an HTTP streaming service by setting MCP_TRANSPORT=httpStream; MCP_PORT controls the port and MCP_ENDPOINT controls the MCP path. HTTP mode also exposes a /health endpoint.

Setup and configuration

Install the published npm package globally, or run it directly with npx:

  • Set VIRUSTOTAL_API_KEY to a VirusTotal API key.
  • Configure the command for an MCP client such as Claude Desktop.
  • Restart or reload the client after adding the server.

The documented Claude Desktop configuration uses mcp-virustotal as the command and passes the API key through the env object. The package can also be added through Smithery. For source-based use, clone the repository, run npm install, build with npm run build, and start build/index.js with Node.

For HTTP streaming, set MCP_TRANSPORT=httpStream, provide the API key, and optionally set MCP_PORT and MCP_ENDPOINT.

Tools and capabilities

The BurtTheCoder/mcp-virustotal MCP server exposes capabilities for:

  • URL, file, IP, and domain reports.
  • Object-specific relationship queries with pagination.
  • VirusTotal corpus searches across files, URLs, domains, IPs, and comments.
  • Cross-sandbox behavior summaries covering processes, files, registry activity, network activity, MITRE ATT&CK data, IDS alerts, and signatures.
  • Threat collection retrieval for APT, malware-family, campaign, and intelligence-report objects.

The report tools include get_url_report, get_file_report, get_ip_report, and get_domain_report. The relationship tools include URL, file, IP, and domain variants.

Limitations and notes

A VirusTotal API key is required. URL scanning may submit a URL and wait for analysis when a cached result is unavailable, so that path is not limited to passive report retrieval. Relationship availability depends on the VirusTotal object and the relationship type selected.

It does not establish compatibility with every MCP client. HTTP streaming is an alternative transport, not the default; stdio is used unless the transport environment variable is changed.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about MCP Virustotal

Install the npm package globally with `npm install -g @burtthecoder/mcp-virustotal`, or run it with `npx -y @burtthecoder/mcp-virustotal`. Configure `VIRUSTOTAL_API_KEY` in the MCP client environment.

Yes.

It can query URL, file-hash, IP address, and domain reports, relationship data, corpus search results, sandbox behavior summaries, and threat collections.

Set `MCP_TRANSPORT=httpStream`, provide `VIRUSTOTAL_API_KEY`, and optionally configure `MCP_PORT` and `MCP_ENDPOINT`. The documented example uses port 3000.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMCP Virustotal AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/burtthecoder-mcp-virustotal?style=directory)](https://allmcps.com/mcp/burtthecoder-mcp-virustotal)
HTML Embed
<a href="https://allmcps.com/mcp/burtthecoder-mcp-virustotal"><img src="https://allmcps.com/api/badge/burtthecoder-mcp-virustotal?style=directory" alt="MCP Virustotal on AllMCPs" /></a>