Why does this MCP App render blank?
mcp_liveness_check_appsChecks 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-app) and HTML,
what the HTML loads against the CSP a host builds from _meta.ui.csp, whether it sends
ui/initialize, ui.domain for Claude and for ChatGPT, and what OpenAI's directory review
checks (explicit tool annotations, descriptions, a public https endpoint, the
domain-verification file). Verdicts per host — spec, claude, chatgpt,
chatgpt-directory — are judged from each host's published pages; no host is run.
Use it when a user says an MCP App or ChatGPT app shows a blank or invisible frame, 'Resource
not found: ui://', 'Invalid ui.domain format', or a submission error such as
annotations_required. verdict is ok, at_risk, broken, no_ui, needs_sign_in or unreachable.
The URL must be public https; checks are limited to 30 a minute per caller.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The server's Streamable HTTP endpoint, exactly as a user adds it to a host, e.g. `https://example.com/mcp` (Claude's ui.domain is a hash of this exact string). Public https only. | |
| host | No | Judge for one host only: `spec` (any MCP Apps host), `claude` (claude.ai and Claude Desktop), `chatgpt`, or `chatgpt-directory` (OpenAI's review of a submitted app). Omit to get all four. |