Skip to content

Releases: VirusTotal/virustotal-mcp

v0.9.9

Choose a tag to compare

@github-actions github-actions released this 11 Oct 10:50
a450cff

0.9.9

Hosted attachment submission uses the client-neutral submit_attachment tool.
Its descriptor requires only a public HTTPS download_url for the original file;
optional file_id, file_name and mime_type fields and openai/fileParams
metadata preserve compatibility with existing host file objects. Embedders must
use bind_attachment_submissions and vt_mcp.attachments; the previous attachment
tool and binder names are removed. Hosts remain responsible for authentication,
file-write permission and bounded, safe downloads. Native attachment transfer
still depends on the client and is not claimed for unverified hosts.

Submission guidance requires the user's explicit request. Missing file, URL,
domain and IP reports remain unknown and give read-only recovery guidance.
Standard sharing disclosures, sensitive-content safeguards, quota handling and
uncertain-submission recovery remain in place. Every tool now includes its
human-readable title in annotations as well as its top-level metadata.

Credential-like filenames are denied before file access or attachment download,
including Windows drive-relative names. Attachment denials return the closed
sensitive_file error with human-review guidance. Optional receipt/analysis
arguments accept JSON null consistently with their schemas while still requiring
exactly one non-null receipt identifier.

The bundled Claude Code plugin is version 0.1.5. Its skill and the Antigravity and
portable threat-intelligence skills require explicit submission requests and
retain the existing sharing, permission and recovery safeguards.

Claude Code plugin 0.1.5

Choose a tag to compare

@bernardoquintero bernardoquintero released this 11 Oct 10:51
a450cff

The VirusTotal skill now requires an explicit user request before submitting files or URLs or requesting network reanalysis. Missing reports remain unknown and no longer lead into a suggested upload. The setup guide describes the client-neutral remote attachment tool and the local-file hook accurately.

Standard VirusTotal submissions remain shared with the security community and partners. The file hook, original-byte validation, credential-filename protections and OAuth connection are preserved.

Validation: 34 plugin tests passed, native validation passed on Linux, macOS and Windows with Node.js 22 and 24, and a clean Claude Code installation matched all eight published plugin files.

Installation and update guidance.

Grok Build and Kimi plugins 0.1.0 — manual installation preview

Choose a tag to compare

@bernardoquintero bernardoquintero released this 11 Oct 22:05
c5d145b

Manual installation preview of the VirusTotal plugins for Grok Build and Kimi Code. These packages bundle the existing hosted MCP connection and a threat-intelligence skill, with no hooks or local executable helpers.

Validation: Grok Build installation, browser OAuth, an existing report, an absent report, automatic token renewal after expiry and server-side revocation have been verified. Kimi Code installation is verified, but authenticated report testing is pending because the test account lacks Kimi Code subscription access. Kimi Work and web have not been tested. This release does not imply availability in either provider's marketplace.

  • Grok Build 1.0.50 on Linux: manifest validation, clean installation from the extracted ZIP, component inventory and removal passed. Native queries returned the existing example.com domain report and not_found for a synthetic file hash; the latter remained unknown with no attempted upload. Automatic renewal rotated credentials after natural expiry. Revoking the test connection rejected its still-valid access token and stopped the native client from connecting.
  • Kimi Code 2.1.1: installation from source and the extracted ZIP passed; the native MCP name is plugin-virustotal:virustotal.
  • Installed files match the archives below byte for byte. Nine focused package tests and the repository CI passed, including Python 3.12–3.14 and installed-wheel checks on Windows and macOS.

Download the archive for your client and verify it against SHA256SUMS. Extract it into an empty directory, then follow the client-specific setup:

The archives expose the existing eleven remote tools. Uploads and reanalysis require an explicit user request; standard submissions are shared with the VirusTotal community and security partners. Native attachment transfer is not claimed.

Source: c5d145b2e6da50346d6c0c8c06fb33f83ac791c5. Assets are the unchanged client-plugin candidates from CI run 38178588442.

Archive SHA-256
virustotal-grok-build-0.1.0.zip 69c7ef343d985ff48b6f5d33f66aaf5d461c1c76c43f021a3881c84df342a7f7
virustotal-kimi-0.1.0.zip 74b2056a11aa6c5b9fb2803458d82e66590fcd30ff613215a320bdd4760370c1

VirusTotal skill for Gemini 0.1.0

Choose a tag to compare

@bernardoquintero bernardoquintero released this 02 Oct 19:17
81465bf

Portable VirusTotal investigation instructions for Gemini Apps and the Gemini CLI extension. Download the attached SKILL.md, keep that filename, and use Gemini web → Settings → Skills → Upload → select SKILL.md → review → Create. Some upload dialogs accept only SKILL.md. If you downloaded the ZIP, extract its single SKILL.md and select that file.

The skill contains only instructions, with no credentials, scripts or server configuration. Importing it does not connect the VirusTotal MCP app; live reports need that separate connection. Skill availability and custom-app eligibility differ. See the connection and import guide. This release does not establish a completed native Gemini Apps workflow or a listing in Google's curated app directory.

Source: 81465bf8df486b1a79173cc27ac1cd28c07a0569. The direct file is identical to SKILL.md in the original ZIP; its instructions and the ZIP are unchanged. The file was validated with the Gemini CLI skill loader. Existing imports require an explicit replacement to update.

SKILL.md SHA-256: fbfb1a81d559459372672cf958777d1bfb359531ce121c52510904f65c34d108. ZIP SHA-256: 5079e041d7cfdea5126f519454b3525295cc128031bbc193f3f03b3b71a55841. Separate checksum files are attached for both downloads.

Skill release 0.1.0 is independent of the MCP Python package, which remains 0.9.8.

Claude Code plugin 0.1.4

Choose a tag to compare

@bernardoquintero bernardoquintero released this 01 Oct 19:24
08fc08c

Adds the official VirusTotal directory icon and an explicit privacy policy URL to the Claude Code plugin.

The local file hook, OAuth MCP connection and threat-intelligence skill keep their existing behavior. Requires Claude Code 2.1.283 or later and Node.js 22 or later.

Validated with the native CLI and the existing plugin tests on Linux, macOS and Windows. Anthropic directory review and publication are separate from this GitHub release.

VirusTotal for Claude Code 0.1.3

Choose a tag to compare

@bernardoquintero bernardoquintero released this 01 Oct 10:33
8b8bdcd

The VirusTotal Claude Code plugin now includes its own installation, usage and data-sharing guide for discovery and directory validation.

  • Generate installation requirements from the shared client manifest.
  • Clarify local file handling, automatic hook approval and platform support.
  • Check that a file hash is missing before offering a manual upload fallback.
  • Document private vulnerability reporting through Google Bug Hunters.

Validated with Claude Code 2.1.284 on Linux and fresh plugin OAuth: all ten common tools, one inert file upload with exact original bytes, three network submissions, matching receipts and completed analyses, and invalid-IP rejection. Hook and manifest tests cover Node.js 22 and 24 on Linux, macOS and Windows; authenticated uploads on macOS, Windows and Cowork are not certified by these tests.

Install:

claude plugin marketplace add VirusTotal/virustotal-mcp
claude plugin install virustotal@virustotal

This release updates the Claude plugin only. Directory submission and review are separate from this GitHub release.

v0.9.8

Choose a tag to compare

@github-actions github-actions released this 28 Sep 13:23
0d55626

0.9.8

File submission errors distinguish VTAI contribution limits from report-query
quota. The client recognizes the closed contribution-limit and admission-service
errors, preserves their retry delay and excludes provider error text.

Submission POSTs are never retried automatically. The local wrapper and CLI keep
their existing durable reference after a rejected attempt; a later call for the
same hash recovers the receipt instead of repeating the upload. This release does
not change that recovery policy.

The 0.9.7 release candidate stopped before package publication because its notes
filename did not match the release workflow. This release corrects that filename;
the contribution-error behavior is unchanged.

v0.9.6

Choose a tag to compare

@github-actions github-actions released this 28 Sep 07:11
5b26fa9

vt-mcp 0.9.6

Hosted adapters can enable submit_chatgpt_file for ChatGPT attachments using
the official openai/fileParams descriptor. The optional binding requires file
receipt and analysis readers. The adapter enforces download destinations, size,
deadlines and the existing write permission; local stdio has no new downloader.
The tool returns the original file's SHA256 for the existing receipt recovery.
No uncertain upload is automatically repeated.

A small packaged client contract now supplies Claude Code setup commands,
Node.js 22+ requirements and the credential-name rule to generated documentation,
the Claude plugin and compatible hosted setup pages. This covers the first
shared client segment, not every client or configuration field.

Claude Code plugin 0.1.2 extends its pre-read filename guard to .p12, .pfx,
.ppk, .jks, .keystore, .git-credentials, .pgpass and .htpasswd.
Valid file expansion still returns allow; the filename precaution does not
inspect contents or replace sensitive-content consent.

The hosted attachment tool becomes available when the backend deploys its
binding. Package and protocol tests do not establish a native ChatGPT attachment
workflow. Refresh the connection's tools if its inventory predates that deployment.
PyPI does not install the separate Claude Code plugin. Authentication, scopes,
quotas and repeated-query accounting are unchanged.

VirusTotal for Claude Code 0.1.2

Choose a tag to compare

@bernardoquintero bernardoquintero released this 28 Sep 07:07
5b26fa9

The upload hook now blocks additional credential filenames before reading their contents: .p12, .pfx, .ppk, .jks, .keystore, .git-credentials, .pgpass and .htpasswd.

Claude Code installation starts with these two commands:

claude plugin marketplace add VirusTotal/virustotal-mcp
claude plugin install virustotal@virustotal

Use Claude Code 2.1.283 or later and Node.js 22 or later; the compatibility matrix covers Node.js 22 and 24 on Linux, macOS and Windows. Restart the session and authenticate through /mcp when needed. Migration guidance follows installation and explains how to remove a previous manual connection and recover an uncertain submission first.

Requirements and installation commands now come from a shared client manifest, with a documentation consistency check in CI. Valid local file submissions keep their existing automatic permission behavior and quota rules.

Validation covers the expanded filename guard and an isolated marketplace installation matching the reviewed plugin files. The filename guard does not detect every secret; do not rename or reroute a blocked file to bypass it.

VirusTotal for Claude Code 0.1.1

Choose a tag to compare

@bernardoquintero bernardoquintero released this 28 Sep 02:47
ccb27a4

Claude Code setup now leads with the official VirusTotal plugin for OAuth queries and local file uploads.

This update blocks common credential filenames before reading file contents, with a clear instruction to ask the user for review. It recognizes imported connectors named VirusTotal or ai.virustotal.com, including letter-case variants. Valid local uploads retain automatic permission; inline input and VTAI quotas remain unchanged.

Install with:

claude plugin marketplace add VirusTotal/virustotal-mcp
claude plugin install virustotal@virustotal

Use Claude Code 2.1.283 or later and Node.js 22 or 24. Restart the session and authenticate through /mcp when needed. Migration instructions explain how to remove an existing manual connection after recovering any uncertain submission. Removal clears its local OAuth state and may require login again.

The filename guard is defense in depth, not a detector of all secrets. Do not rename, encode or reroute blocked files to bypass it.

Validation: 34 hook and manifest tests across Node.js 22 and 24 on Linux, Windows and macOS; a native Linux check confirms a normal upload still completes through the existing imported OAuth connection and a synthetic credential filename is denied. A clean marketplace installation matches the reviewed plugin bytes. Fresh bundled-server OAuth login and authenticated Windows/macOS uploads were not exercised in this update.

This release versions the Claude Code plugin only. The Python package remains vt-mcp 0.9.5.