protogrid

Search / io.github.beepboop2025/data-breach-detector

data-breach-detector

R0· no sign-in

Read-only breach intel, full history 2007-today: reports THAT an org was breached, never the data.

v0.3.2 · active · repository · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality88good
Trust91of 100
Uptime, 30 days100%
Latency p50435 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "data-breach-detector": {
      "type": "http",
      "url": "https://breach.seiche.info/mcp"
    }
  }
}
claude mcp add --transport http data-breach-detector https://breach.seiche.info/mcp
[mcp_servers.data-breach-detector]
url = "https://breach.seiche.info/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "data-breach-detector": {
      "type": "remote",
      "url": "https://breach.seiche.info/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "data-breach-detector": {
      "type": "http",
      "url": "https://breach.seiche.info/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=data-breach-detector&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYnJlYWNoLnNlaWNoZS5pbmZvL21jcCJ9"
}
{
  "servers": {
    "data-breach-detector": {
      "type": "http",
      "url": "https://breach.seiche.info/mcp"
    }
  }
}
{
  "mcpServers": {
    "data-breach-detector": {
      "httpUrl": "https://breach.seiche.info/mcp"
    }
  }
}
extensions:
  "data-breach-detector":
    enabled: true
    name: "data-breach-detector"
    type: streamable_http
    uri: "https://breach.seiche.info/mcp"
    timeout: 300

Quality 88 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene86 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations7 of 7 tools declare readOnlyHint or destructiveHint
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: breach_history (destructiveHint); breach_stats (destructiveHint); breach_news (destructiveHint); …
  • pass
    tools.token_costabout 2,471 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependencies100 · weight 15
  • pass
    deps.known_vulnsno known advisory in 30 resolved packages
  • pass
    deps.mcp_sdk_versionmcp 1.30.0, no known advisory
  • pass
    deps.resolvable[email protected] resolved: 30 packages

7 tools, about 2,471 tokens to load them all · tool set 36f582702b6b · checked 2026-10-20 15:26 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 91 / 100

provenance80
liveness100
freshness85
hygiene100

+repository +namespace-matches-repo +reachable +uptime-100% ~updated-65d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Dependencies

[email protected] PyPI29 dependencies, resolved · MCP SDK mcp 1.30.0 · advisories checked 2026-10-19

No known advisory affects this dependency graph.

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://breach.seiche.info/mcp streamable-httpnoneyes100%435 ms2025-11-252026-10-20
packageregistryversionruntimesecrets
data-breach-detectorpypi0.3.1–

Tools (7)

assess_threatread-onlyClassify 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.
breach_historyread-onlySearch 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'.
breach_newsread-onlyRead 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.
breach_statsread-onlyAggregate 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.
breach_timelineread-onlyBuild 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.
check_exposureread-onlyAnswer 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.
feed_sourcesread-onlyList 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.

Schemas: list_tools.

Similar MCP servers

More from io.github.beepboop2025

And 16 more from this publisher.

Official server.json
{
  "name": "io.github.beepboop2025/data-breach-detector",
  "title": "data-breach-detector",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://breach.seiche.info/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.3.2",
  "packages": [
    {
      "version": "0.3.1",
      "transport": {
        "type": "stdio"
      },
      "identifier": "data-breach-detector",
      "registryType": "pypi"
    }
  ],
  "repository": {
    "url": "https://github.com/beepboop2025/data-breach-detector",
    "source": "github"
  },
  "description": "Read-only breach intel, full history 2007-today: reports THAT an org was breached, never the data."
}