protogrid

Search / io.github.hal-boring-utils/expiry-watch

Boring Utils Expiry Watch

R0· no sign-in

Check a site's TLS certificate and its domain registration expiry. Read-only, no sign-in.

v1.0.0 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality84good
Trust80of 100
Uptime, 30 days99%
Latency p50234 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "expiry-watch": {
      "type": "http",
      "url": "https://boringutils.com/api/mcp"
    }
  }
}
claude mcp add --transport http expiry-watch https://boringutils.com/api/mcp
[mcp_servers.expiry-watch]
url = "https://boringutils.com/api/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "expiry-watch": {
      "type": "remote",
      "url": "https://boringutils.com/api/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "expiry-watch": {
      "type": "http",
      "url": "https://boringutils.com/api/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=expiry-watch&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYm9yaW5ndXRpbHMuY29tL2FwaS9tY3AifQ%3D%3D"
}
{
  "servers": {
    "expiry-watch": {
      "type": "http",
      "url": "https://boringutils.com/api/mcp"
    }
  }
}
{
  "mcpServers": {
    "expiry-watch": {
      "httpUrl": "https://boringutils.com/api/mcp"
    }
  }
}
extensions:
  "expiry-watch":
    enabled: true
    name: "expiry-watch"
    type: streamable_http
    uri: "https://boringutils.com/api/mcp"
    timeout: 300

Quality 84 / 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 hygiene100 · 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.annotations2 of 2 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 365 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
  • pass
    tools.hidden_textno hidden text in tool names, descriptions, schemas or annotations
stability67 · weight 15
  • pass
    stability.changes2 tool changes in 30 days
  • fail
    stability.rug_pull1 tools kept their name but changed most of their description in 30 days; review before trusting them
  • pass
    stability.new_linksno tool change named a new site
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

2 tools, about 365 tokens to load them all · tool set 9832d6c57a3e · tools last changed 2026-10-24 · checked 2026-11-14 07:03 UTC

Tool changes

  • check_domain_expirychangeddescription
    before

    Looks up when a domain registration expires, over RDAP at the registry for its TLD. Subdomains are looked up by their registered domain (www.example.co.uk becomes example.co.uk).

    after · 68% of words in common

    Looks up a domain registration over RDAP at the registry for its TLD: when it expires, the registrar, the statuses (flagging a hold, redemption, pending delete or pending transfer) and the nameservers. Subdomains are looked up by their registered domain (www.example.co.uk becomes example.co.uk).

  • check_certificatechangeddescriptionmeaning changed
    before

    Connects to a domain on port 443 and reports its TLS certificate: whether it is trusted and matches the name, the issuer, the expiry date and days left, the lifetime, the chain and the TLS version.

    after · 49% of words in common

    Connects to a domain on port 443 and reports its TLS certificate: whether it is trusted and matches the name, the issuer, the expiry date and days left, the lifetime, the chain and the TLS version, what each of its server addresses serves (up to 4 IPv4 and 4 IPv6), and, for certificates from Let’s Encrypt, Google Trust Services, ZeroSSL or Sectigo, the renewal window the CA suggests (ACME Renewal Information).

Full history: list_changes · trend: quality JSON.

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 80 / 100

no-repository
provenance45
liveness100
freshness100
hygiene80

+website +reachable +uptime-99% +updated-24d-ago -no-repository

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

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://boringutils.com/api/mcp streamable-httpnoneyes99%234 ms2025-11-252026-11-14

Tools (2)

check_certificateread-onlyConnects to a domain on port 443 and reports its TLS certificate: whether it is trusted and matches the name, the issuer, the expiry date and days left, the lifetime, the chain and the TLS version, what each of its server addresses serves (up to 4 IPv4 and 4 IPv6), and, for certificates from Let’s Encrypt, Google Trust Services, ZeroSSL or Sectigo, the renewal window the CA suggests (ACME Renewal Information).
check_domain_expiryread-onlyLooks up a domain registration over RDAP at the registry for its TLD: when it expires, the registrar, the statuses (flagging a hold, redemption, pending delete or pending transfer) and the nameservers. Subdomains are looked up by their registered domain (www.example.co.uk becomes example.co.uk).

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.hal-boring-utils/expiry-watch",
  "title": "Boring Utils Expiry Watch",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://boringutils.com/api/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.0",
  "websiteUrl": "https://boringutils.com/expiry-watch",
  "description": "Check a site's TLS certificate and its domain registration expiry. Read-only, no sign-in."
}