Threat Intel MCP Server
Provides tools for accessing VirusTotal's threat intelligence platform to analyze IPs, URLs, and files.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Threat Intel MCP ServerEnrich this IP address: 203.0.113.1"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Threat Intel MCP Server
This MCP server is designed so an agent can use various threat intelligence platforms like VirusTotal, Shodan, and more. It is still a work in progress. So far I have made 27 tools across VirusTotal, AbuseIPDB, Shodan, GreyNoise, urlscan.io, and DNS. GreyNoise has 2 functions: one for the community API, and one for the enterprise API if you have a trial. Only the community one is registered as a tool. There are also 4 "enrich" tools that ask every provider at once and merge the answers, for an IP, a domain, a URL, or a file.
Email security tools
Five of the tools check DNS instead of a threat feed: dns_lookup_mx, dns_lookup_spf, dns_lookup_dmarc, dns_lookup_dkim, and email_security_audit.
The audit runs all four checks at once and grades the domain out of 100 (SPF 30, DMARC 40, DKIM 20, MX 10), returning findings with a severity and a suggested fix for each one.
DKIM is the awkward one: selectors cannot be listed from DNS, so the audit probes common selector names, and when none of them answer it drops DKIM from the score entirely and scores the domain out of 80 rather than failing it unfairly.
These run over DNS-over-HTTPS, so they need no API key at all.
Running it
Copy .env.example to .env and fill in whichever keys you have: VT_API_KEY, ABUSEIPDB_API_KEY, URLSCAN_API_KEY, SHODAN_API_KEY.
None of them are mandatory, you just get fewer tools. GREYNOISE_KEY is optional too because the community API works without one.
Real environment variables take priority over .env, so an MCP client can pass the keys in its own config instead.
Locally, over stdio, which is what Claude Desktop and the IDE extensions use:
pip install -r requirements.txt
python threat_intel_server.pyWith Docker, over HTTP on port 8000:
docker build -t threat-intel-mcp .
docker run --rm --env-file .env -p 8000:8000 threat-intel-mcpAdd -i -e MCP_TRANSPORT=stdio if you want the container to speak stdio instead.
NOTES:
This project is mostly for learning purposes.
The project is a work in progress, so some functions may not work as intended.
Each platform has a class in providers.py that holds its base URL, its authentication, and its rate limit.
Keys are optional one at a time. If a key is missing, that platform's tools are simply not registered and the rest of the server still runs, so you can start with one key and add the others later. The server prints to stderr which tools it skipped.
With no keys at all you still get 8 tools, because the DNS lookups and the GreyNoise community API work without one.
Every tool is marked read-only and validates its input before spending an API call, so a malformed IP or domain is rejected locally instead of burning quota.
All the providers report failures the same way, as an MCP error carrying a code like
invalid_argument,rate_limited,forbiddenorunauthorized.Never commit your .env. It is in .gitignore and .dockerignore, so the keys stay out of the repo and out of the image.
There is a Dockerfile now, but I haven't published the image anywhere until I am satisfied with the project.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Enrich, search, assess, and manage threat intelligence through 80+ typed MCP tools.
Pulsedive MCP — threat-intelligence IOC enrichment (pulsedive.com)
Cybersecurity MCP server for URL scanning, threat intelligence, and domain reputation.
ThreatFox MCP — abuse.ch indicator-of-compromise feed (free, key required)
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that performs third-party threat intelligence enrichment for various observables (IP addresses, domains, URLs, emails) using services like VirusTotal, Shodan, and AbuseIPDB.
- AlicenseAqualityAmaintenanceAn MCP server that extracts Indicators of Compromise (IoCs) from unstructured text and checks their reputation across multiple threat intelligence services. It enables real-time analysis of IPs, domains, hashes, and URLs, providing enriched context for security workflows within LLMs.519MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that integrates ThreatBook's threat intelligence API, offering 15 specialized tools for security analysis. It enables AI models to perform IP reputation checks, domain investigations, file sandbox analysis, and vulnerability intelligence lookups.50MIT
- AlicenseDqualityDmaintenanceA comprehensive MCP server providing tools for IP, domain, email, and image-based open-source intelligence. It integrates services like Shodan, VirusTotal, and HaveIBeenPwned to facilitate advanced security research and data gathering.5648ISC
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Antobh36/threat-intel-mcp-servers'
If you have feedback or need assistance with the MCP directory API, please join our Discord server