Read-only breach intel, full history 2007-today: reports THAT an org was breached, never the data.
A read-only breach-intelligence MCP server. It answers "has this organization ever been breached, what's the recent breach news, what does two decades of breach history look like, how severe is this threat text" from public disclosure feeds — and reports intelligence, not contents: the existence, timing, scale, category and exposed data-types of a breach, never the leaked records themselves.
Built for defenders and for agents that work on their behalf.
Most breach tooling sits in one of three camps, and each has a structural gap:
This server takes a fourth position:
breach_history, breach_timeline and
breach_stats treat 2007→today as the product, not a cache: every breach
of 2013, an organization's full incident chronology, repeat-victim
flagging, per-year and per-actor aggregates..onion access, and every feed-authored
string is sanitized where the record is built, before any field is
assembled from it: emails, hashes, IPs, crypto addresses and
credential-shaped tokens are redacted, and the invisible channels used to
hide instructions from a human reader (Unicode Tags, zero-widths, bidi
overrides, variation selectors, terminal control codes) are stripped. That
matters because leak-site titles are written by ransomware crews and read
by agents: the same field is both intelligence and an injection surface.
Redacting only the two fields a human looks at is not enough, because ids,
actor names and statistic bucket keys are built from the same strings.feed_sources reports each feed's newest
item, a staleness flag and the last fetch error — a dead upstream is a
served fact, not a silent hole. (The ransomwatch project itself froze in
June 2025; this server says so instead of pretending.)pip install, stdio or
streamable-HTTP..onion marketplace access, no transactions./api/v3/breaches — the verified breach directory back
to 2007: domain, breach date, pwn count, exposed data categories.ransomlook.io) — live ransomware leak-site tracker.joshhighet/ransomwatch) — frozen archive of ~16k
leak-site posts, Jan 2020 → Jun 2025, retained as history.| tool | what it returns |
|---|---|
breach_news(since_days, sector, source, limit, offset) | recent disclosures — entity, date, scale, exposed data types, severity |
check_exposure(query, since_days, limit, offset) | does a domain/company appear anywhere in breach data — yes/no + metadata |
breach_history(query, year_from, year_to, sector, data_type, min_accounts, order, limit, offset) | search the full archive back to 2007 |
breach_timeline(entity, limit, offset) | one organization's incident-by-incident chronology + repeat-victim assessment |
breach_stats(group_by, sector, limit) | aggregates per year / source / data type / threat level / ransomware actor |
assess_threat(text) | classify a piece of security text — level, categories, action (no network) |
feed_sources() | feeds, per-source freshness, staleness flags, last fetch errors |
Every list tool reports count, limit, offset and returned, and
breach_stats reports buckets_total, so a truncated answer is visible as
truncated and the tail is reachable by paging rather than lost.
pip install data-breach-detector
data-breach-detector # stdio (for MCP clients)
data-breach-detector --http # streamable-HTTP on 127.0.0.1:8790/mcp
Or point an MCP client at the config:
{ "mcpServers": { "data_breach_detector": {
"command": "data-breach-detector"
} } }
Hosted remote: https://breach.seiche.info/mcp
MIT. The breach data belongs to its sources (HaveIBeenPwned, RansomLook, ransomwatch, SEC EDGAR); this tool only aggregates their public disclosure metadata, with attribution.
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
uvx data-breach-detectorMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-beepboop2025-data-breach-detector": {
"command": "uvx",
"args": [
"data-breach-detector"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referencedata-breach-detectorpypidata-breach-detector works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.