Threat Intel MCP Server

Threat Intel MCP Server

Threat Intel MCP Server provides a set of tools for querying multiple threat intelligence platforms like VirusTotal, Shodan, GreyNoise, and urlscan.io. It includes enrichment tools that query all providers at once for IPs, URLs, or files.

Category
Visit Server

README

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 17 tools for VirusTotal, Shodan, GreyNoise, and urlscan.io. AbuseIPDB is written but commented out, because I couldn't get my hands on an API key. 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 3 "enrich" tools that ask every provider at once and merge the answers, for an IP, a URL, or a file.

Running it

Copy .env.example to .env and fill in whichever keys you have: VT_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.py

With Docker, over HTTP on port 8000:

docker build -t threat-intel-mcp .
docker run --rm --env-file .env -p 8000:8000 threat-intel-mcp

Add -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 2 tools, because the GreyNoise community API works without one.
  • 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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured