Menu

Star on GitHub · 3.2k
All posts
Product

Darknet MCP Server: 66 tools, 16 sources, one protocol

Dark web intelligence scattered across 16 platforms — breaches, ransomware, stealer logs, Tor, blockchain — exposed to an AI agent through a single MCP server. What it does, how it works, and how to use it responsibly.

A sliced onion — reach the .onion layer: Tor, stealer logs, ransomware and blockchain intel through one MCP server

Most security investigations end up on the dark web eventually: leaked credentials on paste sites, a ransomware gang’s victim list, a stealer-log dump, a Bitcoin ransom address, a .onion marketplace. The data exists, but it is spread across sixteen-odd platforms, each with its own API, auth, rate limits, and output shape. One investigation means a dozen browser tabs and a lot of manual correlation.

darknet-mcp-server collapses that into one interface. It exposes 66 tools across 16 data sources over the Model Context Protocol, so an AI agent can query all of them, correlate the results across surface and dark web, and hand back a single picture instead of sixteen dashboards. It’s published on npm under the MIT license (v0.1.1, a few thousand downloads at the time of writing).

What it covers

Sixteen sources, grouped by what they answer:

Source Auth Tools Provides
Tor network none 7 .onion fetch/scrape, Ahmia search, exit-node intel
ransomware.live none 6 victim lists, group profiles, country/sector filters
RansomLook none 2 580+ ransomware groups, recent posts
Have I Been Pwned optional 7 breach database, k-anonymity password check, paste search
ThreatFox (abuse.ch) optional 4 IOC database, malware-family tracking
URLhaus (abuse.ch) optional 2 malware distribution URL tracking
MalwareBazaar (abuse.ch) optional 3 sample repository, YARA search
AlienVault OTX optional 5 threat pulses; IP/domain/hash/CVE intel
AbuseIPDB required 4 IP abuse reports, confidence scoring, CIDR checks
GreyNoise none 2 internet-noise classification, scanner detection
Pulsedive optional 3 indicator enrichment, risk scoring
Hudson Rock Cavalier required 3 stealer-log search by domain/email/IP
Vulners optional 3 vulnerability + exploit search (NVD, ExploitDB, Metasploit)
Blockchain.info + ChainAbuse none 4 Bitcoin address/tx lookup, scam reports
Hybrid Analysis required 3 malware sandbox, MITRE ATT&CK mapping
IntelligenceX required 4 dark-web content, leaked data, phonebook
CIRCL AIL + PhishTank + meta none 3 .onion metadata, phishing-URL checks, source listing

Forty-four of the 66 tools work with no API key at all. The sixteen that need one — AbuseIPDB, the Hudson Rock stealer logs, Hybrid Analysis, IntelligenceX, and the account-level HIBP searches — degrade cleanly when the key is absent: the tool returns a clear error naming the key it wants, rather than failing silently.

How it works

The server runs as a stdio process. An MCP client — CyberStrike, Claude, anything that speaks the protocol — spawns it as a child and talks to it over stdin/stdout:

{
  "mcpServers": {
    "darknet": {
      "command": "npx",
      "args": ["-y", "darknet-mcp-server"]
    }
  }
}

A few implementation details matter more than the rest:

  • Tor without a DNS leak. The tor_* tools route through a local SOCKS5 proxy using the socks5h:// scheme. The h is the point: hostname resolution happens on the Tor daemon’s side, not locally, so your resolver never sees the .onion lookup. Without it, the local resolver tries to resolve a .onion name and fails.
  • Every input is validated. Each tool has a zod schema on its arguments, so the agent can’t send a malformed query — the same argument-validation discipline we wrote about in ten ways to secure your MCP servers.
  • Per-source rate limits keep each API inside its terms rather than hammering it, and .onion pages are parsed with cheerio into structured { title, links, text } instead of dumped as raw HTML.

Sixteen tangled cables braided into one: sixteen dark-web sources behind a single MCP interface

A real investigation

The reason to put all of this behind one protocol is correlation. Here is pre-engagement recon for an authorized assessment of target-corp.com, as the agent runs it:

breachSearch("*@target-corp.com")
  → 3 breaches (Adobe 2013, LinkedIn 2021, Collection #1)

stealer_domain("target-corp.com")
  → 47 infected machines in stealer logs; 12 with VPN creds, 8 with cloud console access

ransomwareSearch("target-corp.com")
  → no matches (not a known ransomware victim)

threatfoxSearch("target-corp.com")
  → 2 IOCs: a subdomain used as a C2 callback, a phishing page on a marketing subdomain

otx_domain("target-corp.com")
  → 5 threat pulses reference the domain, 2 from APT campaigns

No single one of those queries is novel. The value is that one agent ran all five in a conversation turn, then synthesized them: significant credential exposure across three breaches, 47 machines in stealer logs with twelve holding VPN credentials, two active IOCs suggesting recent compromise — rotate credentials for everyone in the stealer logs, investigate the C2 subdomain, raise monitoring during the assessment. That’s work that would otherwise mean five tabs and a spreadsheet.

The same shape applies to incident response (hash → MalwareBazaar → Hybrid Analysis MITRE mapping → ThreatFox C2 → AbuseIPDB → GreyNoise) and to ransomware tracking (group profile → claimed victims → sector/country filters → live .onion leak-site scrape → Bitcoin wallet activity). The agent chains the sources; the analyst reads the conclusion.

Where it fits in CyberStrike

darknet-mcp-server is one of the built-in MCP servers in the CyberStrike suite, alongside the browser-testing and infrastructure servers. It ships disabled by default — you turn it on deliberately in config or under Settings → MCP Servers:

// cyberstrike.json
{ "mcp": { "darknet": { "enabled": true } } }

Once enabled, its 66 tools join the agent’s registry through a lazy tool layer — only lightweight metadata sits in context, and full definitions load on demand when the agent actually reaches for a tool. A web assessment might use the browser server to crawl, the infrastructure server to fingerprint, and this one to check whether discovered credentials show up in a breach or a stealer log — all in the same run. Splitting tools behind a protocol instead of baking them into one monolith is the same reasoning we laid out in MCP vs A2A.

Use it responsibly

This is dual-use tooling, and it’s worth being plain about that — the same point we made about offensive agents in when AI becomes the attacker. Breach databases, stealer logs, and dark-web search are lawful for defenders assessing their own exposure or running an authorized engagement, and a liability the moment they’re pointed at a target that never agreed to it.

A few ground rules:

  • Query what you’re authorized to. Searching your own domain’s breach and stealer-log exposure is defense. Harvesting a third party’s leaked credentials is not — scope it in writing before you run it.
  • Handle what comes back carefully. Stealer logs and breach dumps contain real credentials and personal data. Treat results as sensitive material: minimize what you store, and don’t paste them somewhere they’ll leak again.
  • Mind the data sources’ own terms. HIBP, AbuseIPDB, IntelligenceX and the rest each set limits on how their data may be used; the API key you hold is also an agreement you signed.

The tool reaches the data; it doesn’t decide whether you should. That part stays with a human who owns the engagement.

Getting started

Standalone, in any MCP client:

npx darknet-mcp-server

The seven Tor tools need a local Tor daemon for .onion access; everything else works without it:

# macOS
brew install tor && tor
# verify the SOCKS5 proxy is up
curl --socks5-hostname 127.0.0.1:9050 https://check.torproject.org/api/ip

API keys are all optional and passed through the environment — HIBP, abuse.ch, AbuseIPDB, Hudson Rock, Hybrid Analysis, IntelligenceX, Vulners. Set the ones you have; the rest of the tools keep working.

Published on npm as darknet-mcp-server (MIT). Part of the CyberStrike embedded MCP server suite — see also ten ways to secure your MCP servers and MCP vs A2A.

Keep reading

More from on call

View all posts
A tall stack of CVE reports beside one flagged page — 200 CVEs, five that matter: real risk scoring through one MCP server
productOct 17, 2026

CVE MCP: 41 tools, 11 sources, real risk scoring

A scan drops 200 CVEs on your desk. CVSS alone can't tell you which five matter. cve-mcp pulls severity, exploitation probability, active-exploitation status and weaponization into one MCP server, and scores what's actually urgent.

A heavy chain with one cracking link — one weak link is a breach: 45 GitHub security checks in one audit through an MCP server
productOct 17, 2026

GitHub Security MCP: 39 tools, 45 checks, full posture audit

A GitHub org's security lives in org settings, repo configs, workflow YAML, secret management, dependency health, and access control all at once. This MCP server runs 45 checks across all six and tells an agent what to fix, in priority order.

A figure on a summit overlooking a vast landscape — see the whole attack surface: full-spectrum reconnaissance through one MCP server
productOct 17, 2026

OSINT MCP Server: 37 tools, 12 sources, full-spectrum recon

Recon is the first phase of every assessment, and it's scattered across a dozen platforms — DNS, WHOIS, certificate transparency, Shodan, Censys, Wayback. This MCP server puts all 12 behind one agent, and 21 of its 37 tools need no API key.

Get the next post in your inbox

One email a month with new posts, product updates and the odd postmortem worth reading. Unsubscribe in one click.