# Quiet Failures

> Open weekly security base rates (CC BY 4.0), plus live DMARC, takeover and WHOIS checks.

- name: com.quietfailures/quiet-failures
- version: 1.4.8
- connection class: R0 (autonomous)
- trust: 79/100 flags: no-repository
- quality: 85/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.quietfailures%2Fquiet-failures
- tools: https://api.protogrid.dev/v1/servers/com.quietfailures%2Fquiet-failures/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "quiet-failures": {
      "type": "http",
      "url": "https://mcp.quietfailures.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 98
- freshness: 85
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-94% ~updated-65d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 85/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 6 of 6 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: find_base_rate (destructiveHint, idempotentHint); list_base_rates (destructiveHint, idempotentHint); get_base_rate (destructiveHint, idempotentHint); …
- pass `tools.token_cost`: about 802 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 6, about 802 tokens to load them all
- tool set hash: 97c0874900e68bc3435a33f473a113f9
- badge: [![protogrid quality](https://protogrid.dev/badge/com.quietfailures/quiet-failures.svg)](https://protogrid.dev/servers/com.quietfailures/quiet-failures)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://mcp.quietfailures.com/mcp (streamable-http, auth none, reachable true, uptime30d 0.9380531)

## Packages

_none_

## Tools (6)

- `check_email_auth`: Live SPF, DKIM and DMARC audit of up to 50 domains the user owns or asks about. Returns a per-domain breakdown plus a portfolio grade. Compare against the base rates: most of the web fails these controls. Rate-limited per client.
- `check_subdomain_takeover`: Live scan of one domain: enumerate its subdomains (CT logs + DNS), then test each for dangling references on 13 cloud providers. Slow on large domains (up to a few minutes). Rate-limited per client.
- `check_whois`: Live WHOIS lookup for up to 100 domains: expiry date, registrar, nameservers. Use to catch registrations about to lapse. Rate-limited per client.
- `find_base_rate`: Search the Quiet Failures base rates by keyword (e.g. "dmarc", "certificate expiry uk", "subdomain takeover"). Returns matching metrics and their most citable segments.
- `get_base_rate`: Full detail for one Quiet Failures base rate segment: the figure with confidence interval, how it is measured, why it matters, the limits of the measurement, the recent time series, and the canonical source URL to cite. Segment defaults to "global"; country slugs (gb, fr, us…) and company cuts (gb-companies, gb-small…) are also published.
- `list_base_rates`: Catalog of all published Quiet Failures base rates: metric id, the global question, the current global figure, sample size, severity, and every published segment slug (valid `segment` values for get_base_rate). Use get_base_rate for full detail on one.
