data-breach-detector
PYPI · DATA-BREACH-DETECTOR · 2 COMPONENTS · SCANNED SEP 20
Read-only breach intel, full history 2007-today: reports THAT an org was breached, never the data.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 0 of 29 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 48 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability79
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2061 tokens (~294/item across 7 items; 7 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management83
- Stability observed for 25 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 7 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 8 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the data-breach-detector MCP server?
data-breach-detector runs locally as a PyPI package, launched with uvx data-breach-detector. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · data-breach-detector
claude mcp add beepboop2025-data-breach-detector -- uvx data-breach-detector
{
"mcpServers": {
"beepboop2025-data-breach-detector": {
"command": "uvx",
"args": [
"data-breach-detector"
]
}
}
} {
"servers": {
"beepboop2025-data-breach-detector": {
"command": "uvx",
"args": [
"data-breach-detector"
]
}
}
} codex mcp add beepboop2025-data-breach-detector -- uvx data-breach-detector
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"beepboop2025-data-breach-detector": {
"type": "local",
"command": [
"uvx",
"data-breach-detector"
],
"enabled": true
}
}
} openclaw mcp add beepboop2025-data-breach-detector --command uvx --arg data-breach-detector
mcp_servers:
beepboop2025-data-breach-detector:
command: "uvx"
args: ["data-breach-detector"] {
"McpServers": {
"beepboop2025-data-breach-detector": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"data-breach-detector"
]
}
}
} assistant mcp add beepboop2025-data-breach-detector -t stdio -c uvx -a data-breach-detector
{
"mcpServers": {
"beepboop2025-data-breach-detector": {
"command": "uvx",
"args": [
"data-breach-detector"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Sept 26 −3
- Stability: pass → 0.80 functional
- 18 Sept 26 0
- Stability: 0.97 → pass security
- 17 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 15 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 12 Sept 26 −3
- Stability: pass → 0.80 functional
- 11 Sept 26 0
- Stability: 0.97 → pass security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed pypi/data-breach-detector@0.3.1
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 29 packages
| Packages resolved | 29 |
|---|---|
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
assess_threat ~110
Classify a piece of security text you supply — an advisory, alert or forum post — into a threat level, matched categories, financial-target flags, a confidence score and a recommended action. Pure local analysis: it collects nothing, stores nothing and reaches no network; the text never leaves the server. Use it to triage findings surfaced by breach_news or from your own monitoring.
| Name | Type | Req | Description |
|---|---|---|---|
| text | string | yes | the security text to classify — an advisory, alert or forum post |
No output schema declared.
No examples provided.
breach_history ~355
Search the FULL historical breach archive — every incident this server knows about, back to 2007: HaveIBeenPwned's verified breach directory, the 2020-2025 ransomwatch leak-site archive (~16k victims), the RansomLook live tracker and SEC 8-K Item 1.05 filings. Filter by keyword, year range, sector, exposed data type or minimum scale; order by date or size. Returns disclosure metadata only, never breach contents. Use this for questions like 'what were the biggest breaches of 2013' or 'which airlines have ever been hit by ransomware'.
| Name | Type | Req | Description |
|---|---|---|---|
| data_type | – | – | require an exposed data type, e.g. 'passwords', 'credit card', 'health' |
| limit | integer | – | maximum incidents to return (default 10; raise it deliberately, large pages are heavy for an agent loop) |
| min_accounts | integer | – | only incidents exposing at least this many accounts |
| offset | integer | – | how many matching incidents to skip before the page starts; count can run to five figures over the ~16k-post archive, so this is how the tail is reached |
| order | string | – | 'newest' (default), 'oldest' or 'largest' (by accounts exposed) |
| query | – | – | optional keyword over entity, title, summary, actor and data types; omit to browse the whole archive |
| sector | – | – | industry keyword filter, e.g. 'bank', 'health', 'gaming' |
| year_from | – | – | earliest incident year to include, e.g. 2013 |
| year_to | – | – | latest incident year to include, e.g. 2020 |
No output schema declared.
No examples provided.
breach_news ~284
Read recent breach and ransomware DISCLOSURES from public threat-intel feeds (HaveIBeenPwned, the RansomLook live leak-site tracker and SEC 8-K Item 1.05 filings), newest first. Every row is metadata only — entity, date, scale, exposed data TYPES, threat level and source — never the leaked data, and a redaction pass strips anything credential-shaped before it is returned. Use sector to narrow to an industry keyword; for one specific organization use check_exposure; for all-time history use breach_history.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | maximum disclosures to return (default 10; raise it deliberately, large pages are heavy for an agent loop) |
| offset | integer | – | how many matching disclosures to skip before the page starts; with limit this walks a result set larger than any single page (count reports the full total) |
| sector | – | – | optional keyword filter over entity, title, summary, categories and exposed data types, e.g. 'bank', 'health', 'crypto' |
| since_days | integer | – | look-back window in days over disclosure dates (default 30) |
| source | – | – | optional source filter: 'HaveIBeenPwned', 'RansomLook', 'ransomwatch-archive' or 'SEC EDGAR 8-K 1.05' |
No output schema declared.
No examples provided.
breach_stats ~192
Aggregate the full breach archive into analyst-grade statistics: incidents and accounts exposed per year, per source, per exposed data type, per threat level, or per ransomware actor — plus the five largest incidents ever recorded. Use it to answer 'how has breach volume trended since 2015', 'which ransomware groups have the most victims' or 'how often are passwords part of a breach'. Aggregate counts only; no leaked records.
| Name | Type | Req | Description |
|---|---|---|---|
| group_by | string | – | aggregation axis: 'year' (default), 'source', 'data_type', 'threat_level' or 'actor' (ransomware group) |
| limit | integer | – | how many buckets to return, largest first (default 40); buckets_total reports how many exist, and grouping by actor over the ~16k-post archive produces far more |
| sector | – | – | optional industry keyword filter applied before aggregating |
No output schema declared.
No examples provided.
breach_timeline ~258
Build the incident-by-incident CHRONOLOGY of one organization across every source and all history, with judgment on top: first and latest incident, incidents per year, whether the organization is a repeat victim, worst threat level and total accounts ever exposed. Those summary fields cover EVERY incident on record. The timeline list carries a window of them, oldest first within the window, defaulting to the most recent limit incidents and paging backwards with offset, so an organization with a long history shows its current state first rather than only its ancient one. Repeat victimhood is a forward-looking risk signal: organizations named more than once have demonstrably not closed the gap. Metadata only; never the leaked data. For a yes/no presence check use check_exposure.
| Name | Type | Req | Description |
|---|---|---|---|
| entity | string | yes | domain, company or brand to build the chronology for, e.g. 'yahoo.com' or 'Adobe' |
| limit | integer | – | how many incidents the timeline list carries (default 12); the counts, span and judgment always cover every incident |
| offset | integer | – | pages backwards through the chronology from the recent end: 0 gives the newest window, 12 gives the window before that |
No output schema declared.
No examples provided.
check_exposure ~258
Answer whether a domain, company or brand appears in public breach or ransomware DISCLOSURES across ALL history (2007 → today): yes/no with mention count, worst threat level, total accounts exposed across matches, the exposed data TYPES, and the matching disclosure metadata — never the exposed records themselves. This is a triage signal built from disclosure feeds, not proof of compromise; confirm through authorized channels before acting. For the incident-by-incident chronology of one entity, use breach_timeline; for a recent-news sweep, use breach_news. mentions, the aggregates and the data types always cover every match; matches carries one page of them, sized by limit and walked with offset.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | maximum matching disclosures to return (default 8; the mention count and the aggregates always cover every match) |
| offset | integer | – | how many matches to skip before the page starts; with limit this reaches matches beyond the first page |
| query | string | yes | domain, company or brand to look up, e.g. 'example.com' or 'Acme' |
| since_days | integer | – | optional look-back window in days; the default covers all history |
No output schema declared.
No examples provided.
feed_sources ~107
List the public disclosure feeds this server aggregates, how many disclosures are cached per source, each source's newest item and an honest staleness flag, plus cache ages. Takes no arguments. Also states the scope plainly: public feeds only — no .onion access, no arbitrary fetching or crawling, no credential or PII output. Check this first if another tool's answer looks thin: a stale live feed is a finding, not background noise.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
What is the data-breach-detector MCP server?
data-breach-detector is an MCP server listed in the public MCP registry as io.github.beepboop2025/data-breach-detector. Read-only breach intel, full history 2007-today: reports THAT an org was breached, never the data. This page covers its PyPI package (data-breach-detector).
Is the data-breach-detector MCP server safe to use?
data-breach-detector scores 83 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the data-breach-detector MCP server expose?
data-breach-detector exposes 7 tools: breach_news, check_exposure, breach_history, breach_timeline, breach_stats, and 2 more. Their descriptions and schemas cost roughly 1,564 tokens of context every time the server is loaded.
Is the data-breach-detector MCP server still maintained?
data-breach-detector is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the data-breach-detector MCP server under?
data-breach-detector declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.