?include=radar or ?include=all to advertise the tool. As with other categories, you can call it directly even when your selector hides it. particle_catalog with category: "radar" returns the input schema.
Inputs
Only use facts and URLs from the preceding data results. Do not invent URLs when a result lacks one; present that result as text instead. Keep organic mentions and paid advertising clearly distinguished.
Embedded UI and fallback
The tool descriptor links toui://particle/radar-cards-v1.html through _meta.ui.resourceUri, with openai/outputTemplate as a ChatGPT compatibility alias. The server supports resources/list and resources/read; the resource uses text/html;profile=mcp-app. It is a self-contained HTML document with no network or external asset dependencies.
The UI initializes through the MCP Apps bridge, consumes structuredContent from tool results, adapts to the host theme, and opens source links through the host. Older ChatGPT hosts can supply results through window.openai.toolOutput. It never receives authentication credentials or calls data tools itself.
On older ChatGPT hosts, the widget reports its content height through window.openai.notifyIntrinsicHeight. Its legacy redirect allowlist includes https://radar.particle.pro and https://particle.pro; other source destinations remain subject to the host’s external-link policy. Source links open without an added redirectUrl parameter. If the host refuses a link, use the source link in the Markdown response.
The renderer always returns the full selected evidence and source links in Markdown alongside structuredContent, including when a caller supplies output_format. Clients without UI support remain useful. Invoke the renderer directly to display cards: calling it through particle_call returns the text fallback without launching the UI.
Invalid cards return an actionable tool error with no structured card payload. Repeated calls simply produce the requested selection again; they do not create stored state.