Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "mcp_liveness_check", "mcp_liveness_check_auth", "mcp_liveness_drift" and 1 more
{"destructiveHint":false,"idempotentHint":false,"openWorldHint":true,"readOnlyHint":true ⟨6 unchanged words⟩
{"destructiveHint":false,"idempotentHint":false,"openWorldHint":true,"readOnlyHint":true ⟨7 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true ⟨8 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true ⟨4 unchanged words⟩
Added "mcp_liveness_check_apps" (4 tools before, 5 now)
Why does this MCP App render blank? — Checks a remote MCP server's MCP Apps UI (SEP-1865 `ui://` resources) from outside, with no credential and without calling any tool, and returns the first step that stops the view rendering, whose it is (`server`, or `host` for a known host bug with its issue URL), the fix, and the source (the spec, or the host's published page, with the date read). It opens the server as an MCP Apps host would, then reads tools/list, resources/list and resources/read: each tool's link to its view (_meta.ui.resourceUri, or ChatGPT's openai/outputTemplate alias), the view's MIME type (text/html;profile=mcp-ap…
Added "mcp_liveness_check_auth" (3 tools before, 4 now)
Where does this MCP server's sign-in break? — Walks a remote MCP server's OAuth sign-in chain from outside, with no credential and no client registration, and returns the first step that breaks, whose it is (`server`, `identity_provider`, or `client` for a known client bug, with its issue URL), the fix, and the spec section that requires it. Steps, in order: one unauthenticated request (it must answer 401 with a WWW-Authenticate challenge); RFC 9728 protected-resource metadata; RFC 8414 or OpenID Connect discovery at the locations the 2026-07-28 MCP spec lists, with the issuer and PKCE S256 checked; and how a client gets a client ID (cl…
Changed the definition of "mcp_liveness_check"
Makes one`initialize` callhandshaketowith an MCP server's endpoint — `server/discover` at protocol revision 2026-07-28, then `initialize` for a server on the older revision — with no credential, andreportsreports what a stock client gets. The server is ⟨171 unchanged words⟩
Recently observed → Live
Changed the definition of "mcp_liveness_check", "mcp_liveness_drift" and "mcp_liveness_explain_outcomes"
MakeMakes one `initialize` call to an MCP server's endpoint with no credential andreport whatreports what a stock client gets.Name theThe server is named either by its exact official-registry`name`, or by itsendpoint `url` when it is not in the registry or is listed under anothername — passname; exactly one of thetwo.two is accepted. Outcomes: `usable` (it connected and negotiated a
Live → Recently observed
Changed the definition of "mcp_liveness_check"
GivenMakeaone `initialize` call to an MCP server'sexactendpointnamewithinno credential and report what a stock client gets. Name theofficialserverMCPbyregistry,itsmakeexact
Verified owner set by well_known_file proof on agentwares-mcp-liveness.vercel.app
Unknown → Live
Listed separately from agentcheck. Checks before this date are on that record.
Showing the latest 11 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
{"idempotentHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Check an MCP server's liveness"}
Given a server's exact name in the official MCP registry,reportreports which of its tools were added, removed, or had their description, input schema or output schema change betweenthe monthayounamednamemonth and the latest monthly snapshot.Call thisUseful when a server that worked beforeand is behavingbehaves differently now, when a prompt oranan integration written against its tools has started failing, or beforetrustingrelying on atoolcacheddescription youtoolcached.description. A liveness check saysita server answers today; this says whether it is still the same serveryourthat code was written against. The answer names the ⟨68 unchanged words⟩
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Diff an MCP server's tools by month"}
ReturnReturns the six outcomes this server can report — usable, needs_credential, charged, unreachable, local_only and not_listed — what each means for an agent choosing a server from the registry, andwhat tothedousual next move for each.MakesAnostaticrequestreference:anditcostsmakesnothing;nocallnetworkitrequestonceandtoitsinterpretanswermcp_liveness_checkneverresults.changes between calls.
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Explain liveness outcomes"}
⟨5 unchanged words⟩ ,"properties":{"name":{"description":"ExactTheregistryserver's exact name in the official MCP registry, namespaced — e.g. `io.github.owner/server`. Not aURLtitle.andPassnotthisaortitle.`url`, not both.","minLength":1,"type":"string"},"skipCredentialCheck":{"description":"SkipName checks only: skip the OAuth discovery chain on a 401. Faster ⟨10 unchanged words⟩ then cannot say whether a credential is obtainable. A URL check never walks the chain.","type":"boolean"}},"requiredurl":[{"namedescription"]:"The server's Streamable HTTP endpoint, e.g. `https://example.com/mcp`, for a server that is not in the registry or is named differently there. Public https only. Pass this or `name`, not both.","maxLength":2048,"minLength":1,"type":"string"}},"type":"object"}