{"_id":"@burtthecoder/mcp-virustotal","_rev":"22-afacb4ec5a0065d557aceaf1ab3065c3","name":"@burtthecoder/mcp-virustotal","dist-tags":{"latest":"1.0.28"},"versions":{"1.0.0":{"name":"@burtthecoder/mcp-virustotal","version":"1.0.0","keywords":["mcp","virustotal","security"],"author":{"name":"BurtTheCoder"},"license":"MIT","_id":"@burtthecoder/mcp-virustotal@1.0.0","maintainers":[{"name":"burtmacklin","email":"orie@pm.me"}],"homepage":"https://github.com/BurtTheCoder/mcp-virustotal#readme","bugs":{"url":"https://github.com/BurtTheCoder/mcp-virustotal/issues"},"dist":{"shasum":"8d9a3d2cec03a8df1f1e4d1340f72732329b32e2","tarball":"https://registry.npmjs.org/@burtthecoder/mcp-virustotal/-/mcp-virustotal-1.0.0.tgz","fileCount":4,"integrity":"sha512-qkEUteoUIjlRgaTzP3OGn2ZKSEDhR6+VfQAkp9z99IpwKkaOSaSOTYCBpwP0ooY9ampilj3T6/+8TXqw1qqLmg==","signatures":[{"sig":"MEYCIQC1f0Jtic9gJO9Sp9yiyY2oQf/w6mdvmI7wLWeLvEe26QIhAPzRcK+mYFzzurjlNbjdcjxsIhTXysf4pd7L9Fh6Kk7G","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24162},"main":"build/index.js","type":"module","gitHead":"8c9b08ce20c6f6734ffb1f81ddc47e44625c48a2","scripts":{"dev":"tsc -w","build":"tsc","start":"node build/index.js"},"_npmUser":{"name":"burtmacklin","email":"orie@pm.me"},"repository":{"url":"git+https://github.com/BurtTheCoder/mcp-virustotal.git","type":"git"},"_npmVersion":"10.2.4","description":"MCP server for VirusTotal API integration","directories":{},"_nodeVersion":"21.4.0","dependencies":{"zod":"^3.22.2","axios":"^1.4.0","dotenv":"^16.4.5","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"1.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.24"},"_npmOperationalInternal":{"tmp":"tmp/mcp-virustotal_1.0.0_1734050113201_0.510904109392903","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@burtthecoder/mcp-virustotal","version":"1.0.1","keywords":["mcp","virustotal","security"],"author":{"name":"BurtTheCoder"},"license":"MIT","_id":"@burtthecoder/mcp-virustotal@1.0.1","maintainers":[{"name":"burtmacklin","email":"orie@pm.me"}],"homepage":"https://github.com/BurtTheCoder/mcp-virustotal#readme","bugs":{"url":"https://github.com/BurtTheCoder/mcp-virustotal/issues"},"dist":{"shasum":"ec11b2d2ebc0154799a25520ff50b371a021cd83","tarball":"https://registry.npmjs.org/@burtthecoder/mcp-virustotal/-/mcp-virustotal-1.0.1.tgz","fileCount":4,"integrity":"sha512-Q/YalPOZBG3cZAUAyMqHlrHF5ZpMX+OnpT685lwAy7dhqliQ7t/KOj/vsEDvuuMisCvXCvA1KjnmNrDhPW4VuQ==","signatures":[{"sig":"MEUCIQDFI44+1sMU1aQkifFhPJ7/K3qmxI4bmEO6AQSE8wSHRQIgK64JCDvpB3gzWQl5Zp9N81WPMuwi6Wc73hyFpvFhpIs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24182},"main":"build/index.js","type":"module","gitHead":"0d905f09e6987fe657e2741f8fdac7b07038bcfe","scripts":{"dev":"tsc -w","build":"tsc","start":"node build/index.js"},"_npmUser":{"name":"burtmacklin","email":"orie@pm.me"},"repository":{"url":"git+https://github.com/BurtTheCoder/mcp-virustotal.git","type":"git"},"_npmVersion":"10.2.4","description":"MCP server for VirusTotal API integration","directories":{},"_nodeVersion":"21.4.0","dependencies":{"zod":"^3.22.2","axios":"^1.4.0","dotenv":"^16.4.5","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"1.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.24"},"_npmOperationalInternal":{"tmp":"tmp/mcp-virustotal_1.0.1_1734050337511_0.07635793900199417","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@burtthecoder/mcp-virustotal","version":"1.0.2","keywords":["mcp","virustotal","security"],"author":{"name":"BurtTheCoder"},"license":"MIT","_id":"@burtthecoder/mcp-virustotal@1.0.2","maintainers":[{"name":"burtmacklin","email":"orie@pm.me"}],"homepage":"https://github.com/BurtTheCoder/mcp-virustotal#readme","bugs":{"url":"https://github.com/BurtTheCoder/mcp-virustotal/issues"},"bin":{"mcp-virustotal":"build/index.js"},"dist":{"shasum":"71404eb66558d43ba30b7f2882ad2b62febd0525","tarball":"https://registry.npmjs.org/@burtthecoder/mcp-virustotal/-/mcp-virustotal-1.0.2.tgz","fileCount":4,"integrity":"sha512-IYOgyynVbNOg7szvaUNmjgJVxzr7cG/DPE9sa8nUSvAfk6we16LRLYQN/2V3IO1SHYC2bcsBqporlTS8YlEbxA==","signatures":[{"sig":"MEQCIDLRtQwQSICzJgykK8OL6X2cAHmrXyCh8m60mkidca6oAiBHzRYgtNtcG0EsRqMjB1/eldcBK5E3pVLtuWihilldDA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25291},"main":"build/index.js","type":"module","gitHead":"7ca7d807de02642189380b2a5215ce22702042a8","scripts":{"dev":"tsc -w","build":"tsc","start":"node build/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"burtmacklin","email":"orie@pm.me"},"repository":{"url":"git+https://github.com/BurtTheCoder/mcp-virustotal.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for VirusTotal API integration","directories":{},"_nodeVersion":"18.20.5","dependencies":{"zod":"^3.22.2","axios":"^1.4.0","dotenv":"^16.4.5","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"1.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.24"},"_npmOperationalInternal":{"tmp":"tmp/mcp-virustotal_1.0.2_1734058147903_0.8473091817356448","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@burtthecoder/mcp-virustotal","version":"1.0.3","keywords":["mcp","virustotal","security"],"author":{"name":"BurtTheCoder"},"license":"MIT","_id":"@burtthecoder/mcp-virustotal@1.0.3","maintainers":[{"name":"burtmacklin","email":"orie@pm.me"}],"homepage":"https://github.com/BurtTheCoder/mcp-virustotal#readme","bugs":{"url":"https://github.com/BurtTheCoder/mcp-virustotal/issues"},"bin":{"mcp-virustotal":"build/index.js"},"dist":{"shasum":"904f04843edf719d8a78dfa9be3d3e11fdc91ddb","tarball":"https://registry.npmjs.org/@burtthecoder/mcp-virustotal/-/mcp-virustotal-1.0.3.tgz","fileCount":4,"integrity":"sha512-RLUGrz04qYKaK44lKYU5A/wKepMTKKSpamPNuOHyZl9YaLkcFhlqsf++GfX/X5JDo7pQi/4k3I5WQCHEYvvaeQ==","signatures":[{"sig":"MEUCIQCA/mYCdkQdk7YaZr1SJ5HKDiU5MnFUNCqgVXACNHcU/wIgCwTEuIXPEQfgcWsktHBMrJ8x71rhGgNBaOkFNWv7L/Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25291},"main":"build/index.js","type":"module","gitHead":"f1e1c795711a1e074a248a8cd80826314f012dea","scripts":{"dev":"tsc -w","build":"tsc","start":"node build/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"burtmacklin","email":"orie@pm.me"},"repository":{"url":"git+https://github.com/BurtTheCoder/mcp-virustotal.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for VirusTotal API integration","directories":{},"_nodeVersion":"18.20.5","dependencies":{"zod":"^3.22.2","axios":"^1.4.0","dotenv":"^16.4.5","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"1.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.24"},"_npmOperationalInternal":{"tmp":"tmp/mcp-virustotal_1.0.3_1734065575123_0.6864768306357134","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@burtthecoder/mcp-virustotal","version":"1.0.4","keywords":["mcp","virustotal","security"],"author":{"name":"BurtTheCoder"},"license":"MIT","_id":"@burtthecoder/mcp-virustotal@1.0.4","maintainers":[{"name":"burtmacklin","email":"orie@pm.me"}],"homepage":"https://github.com/BurtTheCoder/mcp-virustotal#readme","bugs":{"url":"https://github.com/BurtTheCoder/mcp-virustotal/issues"},"bin":{"mcp-virustotal":"build/index.js"},"dist":{"shasum":"f469f9fa12089a3e085d8743000813ff8d05e8ee","tarball":"https://registry.npmjs.org/@burtthecoder/mcp-virustotal/-/mcp-virustotal-1.0.4.tgz","fileCount":4,"integrity":"sha512-0SpVgsvHq9xa63XHpfSdy1UCUukmcppoB0Lj4yUj/hLNBK7lroNJpyoId7VmxXlt8HFbYIGIyHs+xwf3dC6d2w==","signatures":[{"sig":"MEUCIGfNCuWVUJ2So6UIHAnkMwesqe3iTuiTpKqXo85cxLCLAiEAz0wG3bMLfrsb299AuzCzebQJnlr8B7M03+SZXHroCt8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25338},"main":"build/index.js","type":"module","gitHead":"cf7b6124d8eb0db137fb8f54ba2758ec7b4af247","scripts":{"dev":"tsc -w","build":"tsc && chmod +x build/index.js","start":"node build/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"burtmacklin","email":"orie@pm.me"},"repository":{"url":"git+https://github.com/BurtTheCoder/mcp-virustotal.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for VirusTotal API integration","directories":{},"_nodeVersion":"18.20.5","dependencies":{"zod":"^3.22.2","axios":"^1.4.0","dotenv":"^16.4.5","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"1.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.24"},"_npmOperationalInternal":{"tmp":"tmp/mcp-virustotal_1.0.4_1734127404678_0.051497725136364414","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@burtthecoder/mcp-virustotal","version":"1.0.5","keywords":["mcp","virustotal","security"],"author":{"name":"BurtTheCoder"},"license":"MIT","_id":"@burtthecoder/mcp-virustotal@1.0.5","maintainers":[{"name":"burtmacklin","email":"orie@pm.me"}],"homepage":"https://github.com/BurtTheCoder/mcp-virustotal#readme","bugs":{"url":"https://github.com/BurtTheCoder/mcp-virustotal/issues"},"bin":{"mcp-virustotal":"build/index.js"},"dist":{"shasum":"594aa52f048ce78fa7d50650a67429b830a8c2a9","tarball":"https://registry.npmjs.org/@burtthecoder/mcp-virustotal/-/mcp-virustotal-1.0.5.tgz","fileCount":21,"integrity":"sha512-jKvXjgf5YRTlE7Gb0xd8Rax2qa5OEaLAauRSZyNKqrQxYv44AlMIOQiz1zy7COCuCxvOnN5tb4Y4LR9vK48qLA==","signatures":[{"sig":"MEUCIAdS3ip09xgE95nM4K/gbrbpfkPgCoaLB06EXtB0DBK6AiEAs/VFAv4kPCrZoXQPlJe67Gtg/OPAvQ6LSPwvAnObFZc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83744},"main":"build/index.js","type":"module","gitHead":"f1d29edda3c620dbd518a8f5acdd898068a0df58","scripts":{"dev":"tsc -w","build":"tsc && chmod +x build/index.js","start":"node build/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"burtmacklin","email":"orie@pm.me"},"repository":{"url":"git+https://github.com/BurtTheCoder/mcp-virustotal.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for VirusTotal API integration","directories":{},"_nodeVersion":"18.20.5","dependencies":{"zod":"^3.22.2","axios":"^1.4.0","dotenv":"^16.4.5","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"1.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.24"},"_npmOperationalInternal":{"tmp":"tmp/mcp-virustotal_1.0.5_1734639384489_0.8942435528888641","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@burtthecoder/mcp-virustotal","version":"1.0.6","keywords":["mcp","virustotal","security"],"author":{"name":"BurtTheCoder"},"license":"MIT","_id":"@burtthecoder/mcp-virustotal@1.0.6","maintainers":[{"name":"burtmacklin","email":"orie@pm.me"}],"homepage":"https://github.com/BurtTheCoder/mcp-virustotal#readme","bugs":{"url":"https://github.com/BurtTheCoder/mcp-virustotal/issues"},"bin":{"mcp-virustotal":"build/index.js"},"dist":{"shasum":"7c98cf0a998ec87fb5485857195eecb6e4736119","tarball":"https://registry.npmjs.org/@burtthecoder/mcp-virustotal/-/mcp-virustotal-1.0.6.tgz","fileCount":21,"integrity":"sha512-irhftNy/UZLRyT9R49DMz2JPaBuqBHIjcC3qNABUx6x+pi4z+bVkbkytIvl7cZwmUzx7Yq7HYnBdC+C2Mh7rKQ==","signatures":[{"sig":"MEUCIQCYUwNQLVpRDfGOJ4NxcaqCKvs098Y+NdlkR2Ca6SW1hgIgOAuSmFroJHhekuzUDJp4AOpO1lmzwneFgk5+Uxq/gRg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83884},"main":"build/index.js","type":"module","gitHead":"b961197bddf34b7b8e0122478bbc0ccdf6519169","scripts":{"dev":"tsc -w","build":"tsc && chmod +x build/index.js","start":"node build/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"burtmacklin","email":"orie@pm.me"},"repository":{"url":"git+https://github.com/BurtTheCoder/mcp-virustotal.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for VirusTotal API integration","directories":{},"_nodeVersion":"18.20.5","dependencies":{"zod":"^3.22.2","axios":"^1.4.0","dotenv":"^16.4.5","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"1.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.24"},"_npmOperationalInternal":{"tmp":"tmp/mcp-virustotal_1.0.6_1734639549624_0.8158450360996972","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@burtthecoder/mcp-virustotal","version":"1.0.7","keywords":["mcp","virustotal","security"],"author":{"name":"BurtTheCoder"},"license":"MIT","_id":"@burtthecoder/mcp-virustotal@1.0.7","maintainers":[{"name":"burtmacklin","email":"orie@pm.me"}],"homepage":"https://github.com/BurtTheCoder/mcp-virustotal#readme","bugs":{"url":"https://github.com/BurtTheCoder/mcp-virustotal/issues"},"bin":{"mcp-virustotal":"build/index.js"},"dist":{"shasum":"8853e8a75fa05b586496779706328fe276b92888","tarball":"https://registry.npmjs.org/@burtthecoder/mcp-virustotal/-/mcp-virustotal-1.0.7.tgz","fileCount":21,"integrity":"sha512-2TPs/gLjyePGBiSxmVIiEHOEoShdWDe6bYSzkaPlW0oLVKtNt7dm/elqB+2q+XGYeWemHBeUmSJqj4iS+q+n/w==","signatures":[{"sig":"MEUCIQDMPSG0hodxknAXX0gLC1UOhKhlYDEgiw7IHfd0/WjNhgIgenMFUfSj96AzYKFg7KnpRUJdSGG2g+Rp7MtO9iBiJpA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83884},"main":"build/index.js","type":"module","gitHead":"f9e99bd0cec363a90b39466db7d5692996d0527a","scripts":{"dev":"tsc -w","build":"tsc && chmod +x build/index.js","start":"node build/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"burtmacklin","email":"orie@pm.me"},"repository":{"url":"git+https://github.com/BurtTheCoder/mcp-virustotal.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for VirusTotal API integration","directories":{},"_nodeVersion":"18.20.5","dependencies":{"zod":"^3.22.2","axios":"^1.4.0","dotenv":"^16.4.5","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"1.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.24"},"_npmOperationalInternal":{"tmp":"tmp/mcp-virustotal_1.0.7_1734652368404_0.3208268255031659","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@burtthecoder/mcp-virustotal","version":"1.0.8","keywords":["mcp","virustotal","security"],"author":{"name":"BurtTheCoder"},"license":"MIT","_id":"@burtthecoder/mcp-virustotal@1.0.8","maintainers":[{"name":"burtmacklin","email":"orie@pm.me"}],"homepage":"https://github.com/BurtTheCoder/mcp-virustotal#readme","bugs":{"url":"https://github.com/BurtTheCoder/mcp-virustotal/issues"},"bin":{"mcp-virustotal":"build/index.js"},"dist":{"shasum":"fb6c68dbce6b7cc9087749fe5116033445a3b284","tarball":"https://registry.npmjs.org/@burtthecoder/mcp-virustotal/-/mcp-virustotal-1.0.8.tgz","fileCount":21,"integrity":"sha512-TJiOJeEvH9L5T+X8mO9BEToRp+OIQN8XicwHelgw3qlmqdHw7FQz17R4vHRTrB/FUW7AZ5PiAsS7yAbZKIsPiQ==","signatures":[{"sig":"MEQCICnWaBy2qvfb8G+IcjcEFRIc5d39d8Lx64Vu8OErwcGjAiAqHJGxO3TCP3/YSfaio33ULHfKNE+q3A/W0hl54r4Vhg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":85080},"main":"build/index.js","type":"module","gitHead":"1e5e87b7ab28db4c977d6c1c1a556d3d6798eb85","scripts":{"dev":"tsc -w","build":"tsc && chmod +x build/index.js","start":"node build/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"burtmacklin","email":"orie@pm.me"},"repository":{"url":"git+https://github.com/BurtTheCoder/mcp-virustotal.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for VirusTotal API integration","directories":{},"_nodeVersion":"18.20.5","dependencies":{"zod":"^3.22.2","axios":"^1.4.0","dotenv":"^16.4.5","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"1.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.24"},"_npmOperationalInternal":{"tmp":"tmp/mcp-virustotal_1.0.8_1734652543386_0.9475257152617826","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@burtthecoder/mcp-virustotal","version":"1.0.9","keywords":["mcp","virustotal","security"],"author":{"name":"BurtTheCoder"},"license":"MIT","_id":"@burtthecoder/mcp-virustotal@1.0.9","maintainers":[{"name":"burtmacklin","email":"orie@pm.me"}],"homepage":"https://github.com/BurtTheCoder/mcp-virustotal#readme","bugs":{"url":"https://github.com/BurtTheCoder/mcp-virustotal/issues"},"bin":{"mcp-virustotal":"build/index.js"},"dist":{"shasum":"dccacd8819464df58a5ed13465502098e04de754","tarball":"https://registry.npmjs.org/@burtthecoder/mcp-virustotal/-/mcp-virustotal-1.0.9.tgz","fileCount":21,"integrity":"sha512-BOBBAnSJexbEaps2GOySD9wTKytl0Yweo7ggR/wRHKJG+5EDk95EBnmIwWijJXbm3A9baZgzGC/3hZVzzZ5h4g==","signatures":[{"sig":"MEYCIQCA9oDn4D39DUdWoNlaTeKQNHe4STMkt1IcaQShh/DxiQIhAI0Sr8gVlK6ukHfISXu0NkVhMQ3nE9aBDNP4Z0hl1lnM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":85491},"main":"build/index.js","type":"module","gitHead":"adbe481cd725d906e375c31192c949c86b3700c6","scripts":{"dev":"tsc -w","build":"tsc && chmod +x build/index.js","start":"node build/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"burtmacklin","email":"orie@pm.me"},"repository":{"url":"git+https://github.com/BurtTheCoder/mcp-virustotal.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for VirusTotal API integration","directories":{},"_nodeVersion":"18.20.5","dependencies":{"zod":"^3.22.2","axios":"^1.4.0","dotenv":"^16.4.5","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"1.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.24"},"_npmOperationalInternal":{"tmp":"tmp/mcp-virustotal_1.0.9_1736998757754_0.16249772529181494","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@burtthecoder/mcp-virustotal","version":"1.0.10","keywords":["mcp","virustotal","security"],"author":{"name":"BurtTheCoder"},"license":"MIT","_id":"@burtthecoder/mcp-virustotal@1.0.10","maintainers":[{"name":"burtmacklin","email":"orie@pm.me"}],"homepage":"https://github.com/BurtTheCoder/mcp-virustotal#readme","bugs":{"url":"https://github.com/BurtTheCoder/mcp-virustotal/issues"},"bin":{"mcp-virustotal":"build/index.js"},"dist":{"shasum":"c6da58f0ec5de4d6777aae4307520ac54565ce7f","tarball":"https://registry.npmjs.org/@burtthecoder/mcp-virustotal/-/mcp-virustotal-1.0.10.tgz","fileCount":21,"integrity":"sha512-IPTt4RAfHreFOyKMOYXbjPQDmoZLuyolj9VPq4ovz+vYt8/pkfm91GMKV3sBevFNiGPoYweG2q4EXj5eqWuXsw==","signatures":[{"sig":"MEYCIQCStFR05zS7AoWS1jEOuu6qtQVht1bJaXs/Bq0bi0P5vQIhAIOwGHVWXuRXNT8SFKMtwb1tHB5LC8Yos9bE4P2uftS7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85492},"main":"build/index.js","type":"module","gitHead":"b9406fa5edfdbb3c29a1f67ea1c0c57554c07cf7","scripts":{"dev":"tsc -w","build":"tsc && chmod +x build/index.js","start":"node build/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"burtmacklin","email":"orie@pm.me"},"repository":{"url":"git+https://github.com/BurtTheCoder/mcp-virustotal.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for VirusTotal API integration","directories":{},"_nodeVersion":"18.20.7","dependencies":{"zod":"^3.22.2","axios":"^1.4.0","dotenv":"^16.4.5","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"1.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.24"},"_npmOperationalInternal":{"tmp":"tmp/mcp-virustotal_1.0.10_1740984970225_0.8480134825657504","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"@burtthecoder/mcp-virustotal","version":"1.0.16","keywords":["mcp","virustotal","security"],"author":{"name":"BurtTheCoder"},"license":"MIT","_id":"@burtthecoder/mcp-virustotal@1.0.16","maintainers":[{"name":"burtmacklin","email":"orie@pm.me"}],"homepage":"https://github.com/BurtTheCoder/mcp-virustotal#readme","bugs":{"url":"https://github.com/BurtTheCoder/mcp-virustotal/issues"},"bin":{"mcp-virustotal":"build/index.js"},"dist":{"shasum":"de8a463486fcb53affd7dff1f0e4664b05b693f6","tarball":"https://registry.npmjs.org/@burtthecoder/mcp-virustotal/-/mcp-virustotal-1.0.16.tgz","fileCount":21,"integrity":"sha512-Fng9vnCVlYzxadec2nYv9d1VLWA+2o3PwjxBGxMc7+VMf5pUiA+JAmf2MUU2/zZGk0BiHORIsMP96PbdY6VpGg==","signatures":[{"sig":"MEUCIGUaw400mSyZZbLVVfMtpezwX7qCm5NYFCSn4Nw7RS4SAiEA3AnybIPI94l+d/DWtbZHVmieLszOHbZ/krAC823w6UM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@burtthecoder%2fmcp-virustotal@1.0.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83129},"main":"build/index.js","type":"module","gitHead":"04be52027ad74929b6d24f3179f80412e71504fa","scripts":{"dev":"tsc -w","build":"tsc && chmod +x build/index.js","start":"node build/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f238c1d-d635-4c9d-acec-c139d79ca7b6"}},"repository":{"url":"git+https://github.com/BurtTheCoder/mcp-virustotal.git","type":"git"},"_npmVersion":"11.10.1","description":"MCP server for VirusTotal API integration","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.22.2","axios":"^1.4.0","dotenv":"^16.4.5","fastmcp":"~3.25.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.24"},"_npmOperationalInternal":{"tmp":"tmp/mcp-virustotal_1.0.16_1771713808847_0.4906902504294728","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"@burtthecoder/mcp-virustotal","version":"1.0.17","keywords":["mcp","virustotal","security"],"author":{"name":"BurtTheCoder"},"license":"MIT","_id":"@burtthecoder/mcp-virustotal@1.0.17","maintainers":[{"name":"burtmacklin","email":"orie@pm.me"}],"homepage":"https://github.com/BurtTheCoder/mcp-virustotal#readme","bugs":{"url":"https://github.com/BurtTheCoder/mcp-virustotal/issues"},"bin":{"mcp-virustotal":"build/index.js"},"dist":{"shasum":"2dee7a5637c951861b2d8c82d5ea87f031e80b33","tarball":"https://registry.npmjs.org/@burtthecoder/mcp-virustotal/-/mcp-virustotal-1.0.17.tgz","fileCount":21,"integrity":"sha512-nxg3q7plXYMeVkA7bvIHHzZrjlLuQUjY2GmMi88FaAZfwAlFaLIAATtBWSJgA0NcHy/0YBxW1xb3Xe+CHq0KDg==","signatures":[{"sig":"MEUCIEn1LTxVu+5ZuVUarGrKnK8FLqRNUGlamiOMd6OsKumVAiEA3Gl91s6IvXkUlmM0HyB++GS55WeGibsMFAd5l4GjSj4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83679},"main":"build/index.js","type":"module","gitHead":"04be52027ad74929b6d24f3179f80412e71504fa","mcpName":"io.github.BurtTheCoder/virustotal","scripts":{"dev":"tsc -w","build":"tsc && chmod +x build/index.js","start":"node build/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"burtmacklin","email":"orie@pm.me"},"repository":{"url":"git+https://github.com/BurtTheCoder/mcp-virustotal.git","type":"git"},"_npmVersion":"11.2.0","description":"MCP server for VirusTotal API integration","directories":{},"_nodeVersion":"23.3.0","dependencies":{"zod":"^3.22.2","axios":"^1.4.0","dotenv":"^16.4.5","fastmcp":"~3.25.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.24"},"_npmOperationalInternal":{"tmp":"tmp/mcp-virustotal_1.0.17_1772508793934_0.037260688014840504","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"@burtthecoder/mcp-virustotal","version":"1.0.18","keywords":["mcp","virustotal","security"],"author":{"name":"BurtTheCoder"},"license":"MIT","_id":"@burtthecoder/mcp-virustotal@1.0.18","maintainers":[{"name":"burtmacklin","email":"orie@pm.me"}],"homepage":"https://github.com/BurtTheCoder/mcp-virustotal#readme","bugs":{"url":"https://github.com/BurtTheCoder/mcp-virustotal/issues"},"bin":{"mcp-virustotal":"build/index.js"},"dist":{"shasum":"27639068335ab71c2691615fe3604cb5f026e0fd","tarball":"https://registry.npmjs.org/@burtthecoder/mcp-virustotal/-/mcp-virustotal-1.0.18.tgz","fileCount":21,"integrity":"sha512-suBUlT857gpZSRXugUyXFf2Vl5CDB8DHCH2SFrzIl1JXTv63mfUaj+s9a0fZMcA1pKkKD2cZF+oggd6CcQVNjA==","signatures":[{"sig":"MEUCIFdmtitNFCUP3WHrJq+rDcehYrKcVqMa3lOtHz90bt4vAiEA1YOWWnebu26jYb/9/kTY1BCNBVMQRAvbQuENZ7+OjPs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@burtthecoder%2fmcp-virustotal@1.0.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83679},"main":"build/index.js","type":"module","gitHead":"ba0ebdeeae095b8e8fdd94c14e4bedc0df6a1385","mcpName":"io.github.BurtTheCoder/virustotal","scripts":{"dev":"tsc -w","build":"tsc && chmod +x build/index.js","start":"node build/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f238c1d-d635-4c9d-acec-c139d79ca7b6"}},"repository":{"url":"git+https://github.com/BurtTheCoder/mcp-virustotal.git","type":"git"},"_npmVersion":"11.11.0","description":"MCP server for VirusTotal API integration","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.22.2","axios":"^1.4.0","dotenv":"^16.4.5","fastmcp":"~3.25.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.24"},"_npmOperationalInternal":{"tmp":"tmp/mcp-virustotal_1.0.18_1772508996833_0.9071852999399179","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"@burtthecoder/mcp-virustotal","version":"1.0.19","keywords":["mcp","virustotal","security"],"author":{"name":"BurtTheCoder"},"license":"MIT","_id":"@burtthecoder/mcp-virustotal@1.0.19","maintainers":[{"name":"burtmacklin","email":"orie@pm.me"}],"homepage":"https://github.com/BurtTheCoder/mcp-virustotal#readme","bugs":{"url":"https://github.com/BurtTheCoder/mcp-virustotal/issues"},"bin":{"mcp-virustotal":"build/index.js"},"dist":{"shasum":"ec148a1da890fe90a0e259f277ff2f62ff5a0873","tarball":"https://registry.npmjs.org/@burtthecoder/mcp-virustotal/-/mcp-virustotal-1.0.19.tgz","fileCount":21,"integrity":"sha512-U0uQChpfnKxDnGl4e7pPYBwnkkhc9fGUz2KIqUyZ4ojwW+XBiYYSv1c+n7j4tt8FYv7tZuBY2m42GIb2UyiE8w==","signatures":[{"sig":"MEYCIQDne/+HK23kRqR9J2dMq4TPpPGNE8rButZz0HyqXQs9XwIhAORVEEP5kAYqg6/L7Ycl3lS1IqnRFq4Cu0xP/zmZUOGl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@burtthecoder%2fmcp-virustotal@1.0.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83679},"main":"build/index.js","type":"module","gitHead":"4bab209841c93ab5860ac0006c4f1fa06792d4fa","mcpName":"io.github.BurtTheCoder/virustotal","scripts":{"dev":"tsc -w","build":"tsc && chmod +x build/index.js","start":"node build/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f238c1d-d635-4c9d-acec-c139d79ca7b6"}},"repository":{"url":"git+https://github.com/BurtTheCoder/mcp-virustotal.git","type":"git"},"_npmVersion":"11.11.0","description":"MCP server for VirusTotal API integration","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.22.2","axios":"^1.4.0","dotenv":"^16.4.5","fastmcp":"~3.25.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.24"},"_npmOperationalInternal":{"tmp":"tmp/mcp-virustotal_1.0.19_1772509148153_0.7486730808493611","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"@burtthecoder/mcp-virustotal","version":"1.0.20","keywords":["mcp","virustotal","security"],"author":{"name":"BurtTheCoder"},"license":"MIT","_id":"@burtthecoder/mcp-virustotal@1.0.20","maintainers":[{"name":"burtmacklin","email":"orie@pm.me"}],"homepage":"https://github.com/BurtTheCoder/mcp-virustotal#readme","bugs":{"url":"https://github.com/BurtTheCoder/mcp-virustotal/issues"},"bin":{"mcp-virustotal":"build/index.js"},"dist":{"shasum":"c680d47fe685cc9cca06e9323e73c526ce387f19","tarball":"https://registry.npmjs.org/@burtthecoder/mcp-virustotal/-/mcp-virustotal-1.0.20.tgz","fileCount":21,"integrity":"sha512-rxF+VMkAyMTy/0Hsbpmcv41SfpDYCSadh1uamyeJ8rNMqUR5EWUsTF8YJH9jqpO70vw/afC5hEsZ7vRYa1qxVw==","signatures":[{"sig":"MEUCIQC1fr92THIbS2jcBAUguExl+l/HiQFd2cnV4IjzhJ8QXgIgO02DeA3nZz9BQlaxAOaHu5M58t/yd0dS9mUEm1WbQVw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@burtthecoder%2fmcp-virustotal@1.0.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83539},"main":"build/index.js","type":"module","gitHead":"8b22ff21eb444f3b792812c0a48b6ea8b9a17779","mcpName":"io.github.BurtTheCoder/virustotal","scripts":{"dev":"tsc -w","build":"tsc && chmod +x build/index.js","start":"node build/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f238c1d-d635-4c9d-acec-c139d79ca7b6"}},"repository":{"url":"git+https://github.com/BurtTheCoder/mcp-virustotal.git","type":"git"},"_npmVersion":"11.11.0","description":"MCP server for VirusTotal API integration","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.22.2","axios":"^1.4.0","dotenv":"^16.4.5","fastmcp":"~3.25.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.24"},"_npmOperationalInternal":{"tmp":"tmp/mcp-virustotal_1.0.20_1772510411167_0.7582629037903046","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"@burtthecoder/mcp-virustotal","version":"1.0.21","keywords":["mcp","virustotal","security"],"author":{"name":"BurtTheCoder"},"license":"MIT","_id":"@burtthecoder/mcp-virustotal@1.0.21","maintainers":[{"name":"burtmacklin","email":"orie@pm.me"}],"homepage":"https://github.com/BurtTheCoder/mcp-virustotal#readme","bugs":{"url":"https://github.com/BurtTheCoder/mcp-virustotal/issues"},"bin":{"mcp-virustotal":"build/index.js"},"dist":{"shasum":"f158368db7fdd5787ef391056d6328e59eebb109","tarball":"https://registry.npmjs.org/@burtthecoder/mcp-virustotal/-/mcp-virustotal-1.0.21.tgz","fileCount":21,"integrity":"sha512-Ckp8Z0yfJEFVFi1EJqaoBbNxd7IXqQl1iXolbME47fKbdi1cRE1rwhJWvjaOFFXQ3jAdCcdzxFdWKJmdm7D5ww==","signatures":[{"sig":"MEYCIQCWwEpdn1eHzh56f2dbNIUfWeWjpx/VcoImeAAQOtu/RwIhAIZf0ZBJieHbPorM1BumcHyaWOoOfPtn6cgOOBK0x8ZL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@burtthecoder%2fmcp-virustotal@1.0.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83548},"main":"build/index.js","type":"module","gitHead":"359267b89d743ac11d46ff11bd8e26bbdc4781fd","mcpName":"io.github.BurtTheCoder/virustotal","scripts":{"dev":"tsc -w","build":"tsc && chmod +x build/index.js","start":"node build/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f238c1d-d635-4c9d-acec-c139d79ca7b6"}},"repository":{"url":"git+https://github.com/BurtTheCoder/mcp-virustotal.git","type":"git"},"_npmVersion":"11.12.1","description":"MCP server for VirusTotal API integration","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.22.2","axios":">=1.4.0 <1.14.1","dotenv":"^16.4.5","fastmcp":"~3.25.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.24"},"_npmOperationalInternal":{"tmp":"tmp/mcp-virustotal_1.0.21_1774980522190_0.27874628875878016","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"@burtthecoder/mcp-virustotal","version":"1.0.22","keywords":["mcp","virustotal","security"],"author":{"name":"BurtTheCoder"},"license":"MIT","_id":"@burtthecoder/mcp-virustotal@1.0.22","maintainers":[{"name":"burtmacklin","email":"orie@pm.me"}],"homepage":"https://github.com/BurtTheCoder/mcp-virustotal#readme","bugs":{"url":"https://github.com/BurtTheCoder/mcp-virustotal/issues"},"bin":{"mcp-virustotal":"build/index.js"},"dist":{"shasum":"feab0e5b6b2e46d693c71e86a3f2109db39022be","tarball":"https://registry.npmjs.org/@burtthecoder/mcp-virustotal/-/mcp-virustotal-1.0.22.tgz","fileCount":26,"integrity":"sha512-+w17H7s9L+iAiMv4PrF0+ygNIDMFSgbCj50fbdZjx63kiN+jdFuOBChBwHJIl+MUt9xBSnqG8BBhuBevgvSqnw==","signatures":[{"sig":"MEYCIQDjmqNAIZVzY6+IIREOmJBxHR9xHBCiQLxdBLhGnNsyugIhALOHioDSN+ZtiqROyL4ZI7kWrVBYQNkNrwOgA5taWDUl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@burtthecoder%2fmcp-virustotal@1.0.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":97798},"main":"build/index.js","type":"module","gitHead":"2d783a083d57693249d29d3bad19a7c63cf3a2db","mcpName":"io.github.BurtTheCoder/virustotal","scripts":{"dev":"tsc -w","test":"npm run build && node --test tests/*.test.mjs","build":"tsc && chmod +x build/index.js","smoke":"npm run build && node scripts/smoke-test.mjs","start":"node build/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f238c1d-d635-4c9d-acec-c139d79ca7b6"}},"repository":{"url":"git+https://github.com/BurtTheCoder/mcp-virustotal.git","type":"git"},"_npmVersion":"11.15.0","description":"MCP server for VirusTotal API integration","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^3.22.2","axios":">=1.4.0 <1.14.1","dotenv":"^16.4.5","fastmcp":"~3.25.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.24"},"_npmOperationalInternal":{"tmp":"tmp/mcp-virustotal_1.0.22_1779587646820_0.019953636075218606","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"@burtthecoder/mcp-virustotal","version":"1.0.23","keywords":["mcp","virustotal","security"],"author":{"name":"BurtTheCoder"},"license":"MIT","_id":"@burtthecoder/mcp-virustotal@1.0.23","maintainers":[{"name":"burtmacklin","email":"orie@pm.me"}],"homepage":"https://github.com/BurtTheCoder/mcp-virustotal#readme","bugs":{"url":"https://github.com/BurtTheCoder/mcp-virustotal/issues"},"bin":{"mcp-virustotal":"build/index.js"},"dist":{"shasum":"7946052d465be9c884c37b048f7e8532f94c6321","tarball":"https://registry.npmjs.org/@burtthecoder/mcp-virustotal/-/mcp-virustotal-1.0.23.tgz","fileCount":26,"integrity":"sha512-KljGMCSom8ybuZ7xAzGVMn5H4Qkdr2xSDKgeUj4sPHPLufPhvJU9lSOjZPUxLaFng0g4ebWsvjQ8Qa8LPnJULQ==","signatures":[{"sig":"MEYCIQD4TA/10Atf7hA1gLT4xJdAusE2V4L9xEYoh2Lg9rqxtgIhAP6dqgmh4xUS/oa/g/zTGjazv88l2A13OckGR74miIxT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@burtthecoder%2fmcp-virustotal@1.0.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":101267},"main":"build/index.js","type":"module","gitHead":"3bf19609d2c196960d7b993246db20bded4f44ef","mcpName":"io.github.BurtTheCoder/virustotal","scripts":{"dev":"tsc -w","test":"npm run build && node --test tests/*.test.mjs","build":"tsc && chmod +x build/index.js","smoke":"npm run build && node scripts/smoke-test.mjs","start":"node build/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f238c1d-d635-4c9d-acec-c139d79ca7b6"}},"repository":{"url":"git+https://github.com/BurtTheCoder/mcp-virustotal.git","type":"git"},"_npmVersion":"11.15.0","description":"MCP server for VirusTotal API integration","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^3.22.2","axios":">=1.4.0 <1.14.1","dotenv":"^16.4.5","fastmcp":"~3.25.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.24"},"_npmOperationalInternal":{"tmp":"tmp/mcp-virustotal_1.0.23_1779588635307_0.8015089812827625","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"@burtthecoder/mcp-virustotal","version":"1.0.24","keywords":["mcp","virustotal","security"],"author":{"name":"BurtTheCoder"},"license":"MIT","_id":"@burtthecoder/mcp-virustotal@1.0.24","maintainers":[{"name":"burtmacklin","email":"orie@pm.me"}],"homepage":"https://github.com/BurtTheCoder/mcp-virustotal#readme","bugs":{"url":"https://github.com/BurtTheCoder/mcp-virustotal/issues"},"bin":{"mcp-virustotal":"build/index.js"},"dist":{"shasum":"118957c56284ae820bf0069a5c1528aa2d26d1c6","tarball":"https://registry.npmjs.org/@burtthecoder/mcp-virustotal/-/mcp-virustotal-1.0.24.tgz","fileCount":26,"integrity":"sha512-UHEcZ4ym5F5ft9Fr0oT3dRJFK7wLHDhgGbbWYb8ZXtPApdqPm1kEoxsYH9ZpjmGsk6bowot4/pwjDcvBhSCoww==","signatures":[{"sig":"MEQCIG+XmQk8NrKsQ85+58aI3fSAwUJ09V7n7INokEYmy9AoAiBpBr5e53sFYddHco5490cGVfn6+/QrxDen4SdYoeR24w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@burtthecoder%2fmcp-virustotal@1.0.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":102404},"main":"build/index.js","type":"module","gitHead":"2ae0191988ed970c4cdb50ac17d724cceaf13143","mcpName":"io.github.BurtTheCoder/virustotal","scripts":{"dev":"tsc -w","test":"npm run build && node --test tests/*.test.mjs","build":"tsc && chmod +x build/index.js","smoke":"npm run build && node scripts/smoke-test.mjs","start":"node build/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f238c1d-d635-4c9d-acec-c139d79ca7b6"}},"repository":{"url":"git+https://github.com/BurtTheCoder/mcp-virustotal.git","type":"git"},"_npmVersion":"11.15.0","description":"MCP server for VirusTotal API integration","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^3.22.2","axios":">=1.4.0 <1.14.1","dotenv":"^16.4.5","fastmcp":"~3.25.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.24"},"_npmOperationalInternal":{"tmp":"tmp/mcp-virustotal_1.0.24_1779589694807_0.05386670828507656","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"@burtthecoder/mcp-virustotal","version":"1.0.25","keywords":["mcp","virustotal","security"],"author":{"name":"BurtTheCoder"},"license":"MIT","_id":"@burtthecoder/mcp-virustotal@1.0.25","maintainers":[{"name":"burtmacklin","email":"orie@pm.me"}],"homepage":"https://github.com/BurtTheCoder/mcp-virustotal#readme","bugs":{"url":"https://github.com/BurtTheCoder/mcp-virustotal/issues"},"bin":{"mcp-virustotal":"build/index.js"},"dist":{"shasum":"65537fe323be4a67699bbe63ceb65edf42c2e0cd","tarball":"https://registry.npmjs.org/@burtthecoder/mcp-virustotal/-/mcp-virustotal-1.0.25.tgz","fileCount":26,"integrity":"sha512-GvS19gzNXi/5NqpEkY9lKP3cNtbWwrlpw/myyAYHhqvtRLqVws2+YTf4o22thKjBeN9JmgEoi87+ww3wt4w0uw==","signatures":[{"sig":"MEQCIFVWU4Iy0QTZ38EPCTxPIXne3oNpxh8LrsHnM9YPW8hAAiAJ1yrQJBg1KpouQyVVlpUVP46Op2bh+7sgAmRPj+lOow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@burtthecoder%2fmcp-virustotal@1.0.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":104047},"main":"build/index.js","type":"module","gitHead":"364ce0d0fb505644c52ed1a83c4f3d5f10abee1f","mcpName":"io.github.BurtTheCoder/virustotal","scripts":{"dev":"tsc -w","test":"npm run build && node --test tests/*.test.mjs","build":"tsc && chmod +x build/index.js","smoke":"npm run build && node scripts/smoke-test.mjs","start":"node build/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f238c1d-d635-4c9d-acec-c139d79ca7b6"}},"repository":{"url":"git+https://github.com/BurtTheCoder/mcp-virustotal.git","type":"git"},"_npmVersion":"11.15.0","description":"MCP server for VirusTotal API integration","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^3.22.2","axios":">=1.4.0 <1.14.1","dotenv":"^16.4.5","fastmcp":"~3.25.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.24"},"_npmOperationalInternal":{"tmp":"tmp/mcp-virustotal_1.0.25_1779591612708_0.2913724614822806","host":"s3://npm-registry-packages-npm-production"}},"1.0.28":{"name":"@burtthecoder/mcp-virustotal","mcpName":"io.github.BurtTheCoder/virustotal","version":"1.0.28","description":"MCP server for VirusTotal API integration","type":"module","main":"build/index.js","bin":{"mcp-virustotal":"build/index.js"},"scripts":{"build":"tsc && chmod +x build/index.js","start":"node build/index.js","dev":"tsc -w","test":"npm run build && node --test tests/*.test.mjs","smoke":"npm run build && node scripts/smoke-test.mjs","prepublishOnly":"npm run build"},"keywords":["mcp","virustotal","security"],"author":{"name":"BurtTheCoder"},"license":"MIT","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/w0h1v/mcp-virustotal.git"},"dependencies":{"axios":"1.20.0","dotenv":"^16.4.5","fastmcp":"~3.25.4","zod":"^3.22.2"},"devDependencies":{"@types/node":"^20.11.24","typescript":"^5.3.3"},"gitHead":"75d27df75726cf84d8d3a6621854a96b06b67d83","_id":"@burtthecoder/mcp-virustotal@1.0.28","bugs":{"url":"https://github.com/w0h1v/mcp-virustotal/issues"},"homepage":"https://github.com/w0h1v/mcp-virustotal#readme","_nodeVersion":"22.23.2","_npmVersion":"12.0.2","dist":{"integrity":"sha512-EjHfECHn9PrTWQxq+jiZHkSVA5LgW/aYcSyE3Lc8tWOAnbUDjNgRAPjJDy9dqdR8UgpxgTiSnG/bwjGn0l2HlA==","shasum":"ce47b00b803c7bd492023f7ea783f15e9cf591b0","tarball":"https://registry.npmjs.org/@burtthecoder/mcp-virustotal/-/mcp-virustotal-1.0.28.tgz","fileCount":26,"unpackedSize":104031,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@burtthecoder%2fmcp-virustotal@1.0.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDFDsVdHfPXIfEFW/2OYK2wsfBBc0jLTi2/Hu8HWRf6DwIhAPZGxbwhnnMHVPfb6iep3jlXsjamXK1jzP4Ly1XpqJ0d"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a0d1a067-35c4-483c-8835-4833c37ef4c5"}},"directories":{},"maintainers":[{"name":"burtmacklin","email":"orie@pm.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-virustotal_1.0.28_1788891773389_0.2109457272079973"},"_hasShrinkwrap":false}},"time":{"created":"2024-12-13T00:35:13.056Z","modified":"2026-09-08T18:22:53.882Z","1.0.0":"2024-12-13T00:35:13.375Z","1.0.1":"2024-12-13T00:38:57.736Z","1.0.2":"2024-12-13T02:49:08.104Z","1.0.3":"2024-12-13T04:52:55.280Z","1.0.4":"2024-12-13T22:03:24.851Z","1.0.5":"2024-12-19T20:16:24.710Z","1.0.6":"2024-12-19T20:19:09.786Z","1.0.7":"2024-12-19T23:52:48.576Z","1.0.8":"2024-12-19T23:55:43.569Z","1.0.9":"2025-01-16T03:39:17.954Z","1.0.10":"2025-03-03T06:56:10.460Z","1.0.16":"2026-02-21T22:43:29.008Z","1.0.17":"2026-03-03T03:33:14.098Z","1.0.18":"2026-03-03T03:36:37.034Z","1.0.19":"2026-03-03T03:39:08.293Z","1.0.20":"2026-03-03T04:00:11.315Z","1.0.21":"2026-03-31T18:08:42.425Z","1.0.22":"2026-05-24T01:54:06.965Z","1.0.23":"2026-05-24T02:10:35.482Z","1.0.24":"2026-05-24T02:28:14.938Z","1.0.25":"2026-05-24T03:00:12.930Z","1.0.28":"2026-09-08T18:22:53.526Z"},"bugs":{"url":"https://github.com/w0h1v/mcp-virustotal/issues"},"author":{"name":"BurtTheCoder"},"license":"MIT","homepage":"https://github.com/w0h1v/mcp-virustotal#readme","keywords":["mcp","virustotal","security"],"repository":{"type":"git","url":"git+https://github.com/w0h1v/mcp-virustotal.git"},"description":"MCP server for VirusTotal API integration","maintainers":[{"name":"burtmacklin","email":"orie@pm.me"}],"readme":"# VirusTotal MCP Server\n\n[![MCP Registry](https://img.shields.io/badge/MCP-Registry-blue)](https://registry.modelcontextprotocol.io)\n[![smithery badge](https://smithery.ai/badge/@burtthecoder/mcp-virustotal)](https://smithery.ai/server/@burtthecoder/mcp-virustotal)\n\nA Model Context Protocol (MCP) server for querying the [VirusTotal API](https://www.virustotal.com/). This server provides comprehensive security analysis tools with automatic relationship data fetching. It integrates seamlessly with MCP-compatible applications like [Claude Desktop](https://claude.ai).\n\n## Quick Start (Recommended)\n\n### Claude Code\n```bash\nclaude mcp add --transport stdio --env VIRUSTOTAL_API_KEY=your-key virustotal -- npx -y @burtthecoder/mcp-virustotal\n```\n\n### Codex CLI\n```bash\ncodex mcp add virustotal --env VIRUSTOTAL_API_KEY=your-key -- npx -y @burtthecoder/mcp-virustotal\n```\n\n### Gemini CLI\n```bash\ngemini mcp add -e VIRUSTOTAL_API_KEY=your-key virustotal npx -y @burtthecoder/mcp-virustotal\n```\n\n### Installing via Smithery\n\nTo install VirusTotal Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@burtthecoder/mcp-virustotal):\n\n```bash\nnpx -y @smithery/cli install @burtthecoder/mcp-virustotal --client claude\n```\n\n### Installing Manually\n\n1. Install the server globally via npm:\n```bash\nnpm install -g @burtthecoder/mcp-virustotal\n```\n\n2. Add to your Claude Desktop configuration file:\n```json\n{\n  \"mcpServers\": {\n    \"virustotal\": {\n      \"command\": \"mcp-virustotal\",\n      \"env\": {\n        \"VIRUSTOTAL_API_KEY\": \"your-virustotal-api-key\"\n      }\n    }\n  }\n}\n```\n\nConfiguration file location:\n- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`\n- Windows: `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n3. Restart Claude Desktop\n\n### Using with VS Code\n\nTo use this MCP server in VS Code with GitHub Copilot:\n\n1. Install the server globally via npm:\n```bash\nnpm install -g @burtthecoder/mcp-virustotal\n```\n\n2. Create or update your VS Code MCP configuration file at:\n   - macOS/Linux: `~/.vscode/mcp.json`\n   - Windows: `%USERPROFILE%\\.vscode\\mcp.json`\n\n3. Add the following configuration:\n```json\n{\n  \"servers\": {\n    \"virustotal\": {\n      \"command\": \"mcp-virustotal\",\n      \"env\": {\n        \"VIRUSTOTAL_API_KEY\": \"your-virustotal-api-key\"\n      }\n    }\n  }\n}\n```\n\n4. Reload VS Code to activate the MCP server\n\nYou can then use the VirusTotal tools through GitHub Copilot in VS Code by referencing the available tools in your prompts.\n\n## Alternative Setup (From Source)\n\nIf you prefer to run from source or need to modify the code:\n\n1. Clone and build:\n```bash\ngit clone <repository_url>\ncd mcp-virustotal\nnpm install\nnpm run build\n```\n\n2. Add to your Claude Desktop configuration:\n```json\n{\n  \"mcpServers\": {\n    \"virustotal\": {\n      \"command\": \"node\",\n      \"args\": [\"/absolute/path/to/mcp-virustotal/build/index.js\"],\n      \"env\": {\n        \"VIRUSTOTAL_API_KEY\": \"your-virustotal-api-key\"\n      }\n    }\n  }\n}\n```\n\n## HTTP Streaming Transport\n\nThe 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.\n\n### Running in HTTP Streaming Mode\n\nSet the `MCP_TRANSPORT` environment variable to `httpStream`:\n\n```bash\nMCP_TRANSPORT=httpStream MCP_PORT=3000 VIRUSTOTAL_API_KEY=your-key node build/index.js\n```\n\n### Environment Variables\n\n| Variable | Default | Description |\n|---|---|---|\n| `VIRUSTOTAL_API_KEY` | *(required)* | Your VirusTotal API key |\n| `MCP_TRANSPORT` | `stdio` | Transport mode: `stdio` or `httpStream` |\n| `MCP_PORT` | `3000` | HTTP server port (only for `httpStream`) |\n| `MCP_ENDPOINT` | `/mcp` | HTTP endpoint path (only for `httpStream`) |\n\n### Docker with HTTP Streaming\n\n```bash\ndocker build -t mcp-virustotal .\ndocker run -p 3000:3000 \\\n  -e VIRUSTOTAL_API_KEY=your-key \\\n  -e MCP_TRANSPORT=httpStream \\\n  mcp-virustotal\n```\n\nThe server exposes a health check endpoint at `/health` when running in HTTP streaming mode.\n\n## Features\n\n- **Comprehensive Analysis Reports**: Each analysis tool automatically fetches relevant relationship data along with the basic report using VirusTotal's `?relationships=` query, batched to minimize API calls\n- **URL Analysis**: Cached-report-first lookups with automatic fallback to scanning, plus contacted domains, downloaded files, and threat actors\n- **File Analysis**: Detailed analysis of file hashes including behaviors, dropped files, and network connections\n- **IP Analysis**: Security reports with historical data, resolutions, and related threats\n- **Domain Analysis**: DNS information, WHOIS data, SSL certificates, and subdomains\n- **Detailed Relationship Analysis**: Dedicated tools for querying specific types of relationships with pagination support\n- **Corpus Search**: Free-form search across files, URLs, domains, IPs, and comments, including VTI-style modifier syntax (`type:peexe positives:5+`)\n- **Sandbox Behaviour Summary**: Cross-sandbox merged view of processes, files, registry, network, MITRE ATT&CK, IDS alerts, and signature matches\n- **Threat Collections**: Read APT, malware-family, campaign, and intel-report objects referenced from any report's relationships\n- **Rich Formatting**: Clear categorization and presentation of analysis results and relationship data\n\n## Tools\n\n### Report Tools (with Automatic Relationship Fetching)\n\n### 1. URL Report Tool\n- Name: `get_url_report`\n- Description: Get a comprehensive URL analysis report including security scan results and key relationships (communicating files, contacted domains/IPs, downloaded files, redirects, threat actors). Returns the cached VirusTotal report when available; only submits the URL for scanning and polls for completion on a cache miss\n- Parameters:\n  * `url` (required): The URL to analyze\n\n### 2. File Report Tool\n- Name: `get_file_report`\n- Description: Get a comprehensive file analysis report using its hash (MD5/SHA-1/SHA-256). Includes detection results, file properties, and key relationships (behaviors, dropped files, network connections, embedded content, threat actors)\n- Parameters:\n  * `hash` (required): MD5, SHA-1 or SHA-256 hash of the file\n\n### 3. IP Report Tool\n- Name: `get_ip_report`\n- Description: Get a comprehensive IP address analysis report including geolocation, reputation data, and key relationships (communicating files, historical certificates/WHOIS, resolutions)\n- Parameters:\n  * `ip` (required): IP address to analyze\n\n### 4. Domain Report Tool\n- Name: `get_domain_report`\n- Description: Get a comprehensive domain analysis report including DNS records, WHOIS data, and key relationships (SSL certificates, subdomains, historical data)\n- Parameters:\n  * `domain` (required): Domain name to analyze\n  * `relationships` (optional): Array of specific relationships to include in the report\n\n### Relationship Tools (for Detailed Analysis)\n\n### 1. URL Relationship Tool\n- Name: `get_url_relationship`\n- Description: Query a specific relationship type for a URL with pagination support. Choose from 22 relationship types including analyses, communicating files, contacted domains/IPs, downloaded files, graphs, referrers, redirects, threat actors, collections, and votes\n- Parameters:\n  * `url` (required): The URL to get relationships for\n  * `relationship` (required): Type of relationship to query\n    - Available relationships: analyses, collections, comments, communicating_files, contacted_domains, contacted_ips, downloaded_files, embedded_js_files, graphs, last_serving_ip_address, network_location, referrer_files, referrer_urls, redirecting_urls, redirects_to, related_comments, related_references, related_threat_actors, submissions, urls_related_by_tracker_id, user_votes, votes\n  * `limit` (optional, default: 10): Maximum number of related objects to retrieve (1-40)\n  * `cursor` (optional): Continuation cursor for pagination\n\n### 2. File Relationship Tool\n- Name: `get_file_relationship`\n- Description: Query a specific relationship type for a file with pagination support. Choose from 40 relationship types including behaviors, network connections, dropped files, embedded content, execution chains, and threat actors\n- Parameters:\n  * `hash` (required): MD5, SHA-1 or SHA-256 hash of the file\n  * `relationship` (required): Type of relationship to query\n    - Available relationships: analyses, behaviours, bundled_files, carbonblack_children, carbonblack_parents, ciphered_bundled_files, ciphered_parents, collections, comments, compressed_parents, contacted_domains, contacted_ips, contacted_urls, dropped_files, email_attachments, email_parents, embedded_domains, embedded_ips, embedded_urls, execution_parents, graphs, itw_domains, itw_ips, itw_urls, memory_pattern_domains, memory_pattern_ips, memory_pattern_urls, overlay_children, overlay_parents, pcap_children, pcap_parents, pe_resource_children, pe_resource_parents, related_references, related_threat_actors, similar_files, submissions, screenshots, urls_for_embedded_js, votes\n  * `limit` (optional, default: 10): Maximum number of related objects to retrieve (1-40)\n  * `cursor` (optional): Continuation cursor for pagination\n\n### 3. IP Relationship Tool\n- Name: `get_ip_relationship`\n- Description: Query a specific relationship type for an IP address with pagination support. Choose from 15 relationship types including communicating files, historical SSL certificates, WHOIS records, resolutions, threat actors, and votes\n- Parameters:\n  * `ip` (required): IP address to analyze\n  * `relationship` (required): Type of relationship to query\n    - Available relationships: collections, comments, communicating_files, downloaded_files, graphs, historical_ssl_certificates, historical_whois, related_comments, related_references, related_threat_actors, referrer_files, resolutions, urls, user_votes, votes\n  * `limit` (optional, default: 10): Maximum number of related objects to retrieve (1-40)\n  * `cursor` (optional): Continuation cursor for pagination\n\n### 4. Domain Relationship Tool\n- Name: `get_domain_relationship`\n- Description: Query a specific relationship type for a domain with pagination support. Choose from 24 relationship types including SSL certificates, subdomains, historical data, DNS records, and collections\n- Parameters:\n  * `domain` (required): Domain name to analyze\n  * `relationship` (required): Type of relationship to query\n    - Available relationships: caa_records, cname_records, collections, comments, communicating_files, downloaded_files, graphs, historical_ssl_certificates, historical_whois, immediate_parent, mx_records, ns_records, parent, referrer_files, related_comments, related_references, related_threat_actors, resolutions, soa_records, siblings, subdomains, urls, user_votes, votes\n  * `limit` (optional, default: 10): Maximum number of related objects to retrieve (1-40)\n  * `cursor` (optional): Continuation cursor for pagination\n\n### Search & Pivot Tools\n\n### 1. Corpus Search\n- Name: `search_vt`\n- Description: Search the VirusTotal corpus for files, URLs, domains, IPs, or comments matching a query. Accepts plain IOCs (hash, URL, domain, IP), free text against comments, or VTI-style search modifiers\n- Parameters:\n  * `query` (required): Search query. Examples: a SHA-256 hash, `evil.com`, `8.8.8.8`, `type:peexe size:90kb+ tag:signed positives:5+`\n  * `limit` (optional, default: 20): Maximum number of results (1-300)\n  * `cursor` (optional): Continuation cursor for pagination\n\n### 2. File Behaviour Summary\n- Name: `get_file_behaviour_summary`\n- Description: Get a consolidated sandbox behaviour summary for a file, merged across every sandbox that analyzed it. Returns processes, files, registry, network activity, DNS lookups, MITRE ATT&CK techniques, IDS alerts, and signature matches in a single view — far more useful than iterating individual behaviour reports\n- Parameters:\n  * `hash` (required): MD5, SHA-1 or SHA-256 hash of the file\n\n### 3. Collection Lookup\n- Name: `get_collection`\n- Description: Retrieve a VirusTotal collection by ID. Collections represent threat actors, malware families, campaigns, intel reports, and curated IOC sets — often referenced from the `related_threat_actors` and `collections` relationships on other tools. Optionally include relationships to fetch member IOCs in the same call\n- Parameters:\n  * `id` (required): Collection ID (e.g. `threat-actor--<uuid>`, `malware-family--<id>`)\n  * `relationships` (optional): Array of relationship names to include\n    - Available relationships: autogenerated_graphs, comments, domains, files, ip_addresses, owner, references, related_collections, related_references, threat_actors, urls\n\n## Requirements\n\n- Node.js (v20 or later)\n- A valid [VirusTotal API Key](https://www.virustotal.com/gui/my-apikey)\n\n## Troubleshooting\n\n### API Key Issues\n\nIf you see \"Wrong API key\" errors:\n\n1. Check the log file at `/tmp/mcp-virustotal-server.log` (on macOS) for API key status\n2. Verify your API key:\n   - Should be a valid VirusTotal API key (usually 64 characters)\n   - No extra spaces or quotes around the key\n   - Must be from the API Keys section in your VirusTotal account\n3. After any configuration changes:\n   - Save the config file\n   - Restart Claude Desktop\n   - Check logs for new API key status\n\n## Development\n\nTo run in development mode with hot reloading:\n```bash\nnpm run dev\n```\n\n## Testing\n\n### Unit tests\nRun the formatter test suite (no API key, no network):\n```bash\nnpm test\n```\n\n### Live smoke test\nExercise all 11 tools end-to-end against the real VirusTotal API:\n```bash\nVIRUSTOTAL_API_KEY=your-key npm run smoke\n```\n\nThe smoke test paces calls at 20 s to stay under the 4-requests-per-minute public-tier rate limit. **It is not compatible with heavily reduced free tiers (e.g. 1 lookup/day)** — for those, run a single tool by editing `scripts/smoke-test.mjs` and pick the one you want to verify.\n\n## Error Handling\n\nThe server includes comprehensive error handling for:\n- Invalid API keys\n- Rate limiting\n- Network errors\n- Invalid input parameters\n- Invalid hash formats\n- Invalid IP formats\n- Invalid URL formats\n- Invalid relationship types\n- Pagination errors\n\n## Version History\n\n- v1.0.0: Initial release with core functionality\n- v1.1.0: Added relationship analysis tools for URLs, files, and IP addresses\n- v1.2.0: Added improved error handling and logging\n- v1.3.0: Added pagination support for relationship queries\n- v1.4.0: Added automatic relationship fetching in report tools and domain analysis support\n- v1.5.0: Migrated to FastMCP framework with HTTP streaming transport support\n- v1.6.0: Added `search_vt`, `get_file_behaviour_summary`, `get_collection`, and `get_domain_relationship` tools; synced relationship lists with current VirusTotal v3 docs (drops removed `clues`, adds `collections`/`votes`/`user_votes`/`embedded_js_files`/`urls_related_by_tracker_id` where applicable); `get_url_report` now returns the cached report when available instead of re-scanning on every call; report tools use batched `?relationships=` queries for dramatically fewer API calls\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","readmeFilename":"README.md"}