Search / io.github.hal-boring-utils/expiry-watch
Boring Utils Expiry Watch
R0· no sign-inCheck a site's TLS certificate and its domain registration expiry. Read-only, no sign-in.
v1.0.0 · active · website · descriptor JSON · versions
Search / io.github.hal-boring-utils/expiry-watch
R0· no sign-inCheck a site's TLS certificate and its domain registration expiry. Read-only, no sign-in.
v1.0.0 · active · website · descriptor JSON · versions
{
"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
protocol.modernprotocol.statelessprotocol.transportprotocol.list_ttlauth.prm, auth.as_metadata, auth.cimdauth.secret_in_urltools.descriptionstools.description_lengthtools.schemastools.annotationstools.directory_hintstools.token_costtools.api_dumptools.hidden_textstability.changesstability.rug_pullstability.new_linksdeps.known_vulns, deps.mcp_sdk_version, deps.resolvablecheck_domain_expirychangeddescriptionLooks 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).
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 changedConnects 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.
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.
+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.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://boringutils.com/api/mcp streamable-http | none | yes | 99% | 234 ms | 2025-11-25 | 2026-11-14 |
check_certificateread-only | 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). |
check_domain_expiryread-only | 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). |
Schemas: list_tools.
{
"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."
}