mcp radio: new resource URI so the host stops serving the cached v2 card (which still messaged for each track)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014mBuCaQSgWwqhtzsmTBQuM
This commit is contained in:
teahubxyzandClaude Opus 5.5 committed 2026-10-22 19:49:11 +00:00
1 parent e339901e5c
commit 1599709315
1 file changed
+2 -2
+2 -2
View File
@@ -9,7 +9,7 @@ const MEDIA = "https://dev.gandora.lol";
const ORIGIN = "https://dev.gandora.lol";
const TRACKS = { sky: "/asmr/audio/kokoro-sky.mp3", rain: "/asmr/audio/bed-rain.mp3" };
const PROBE_URI = "ui://gandora/probe";
const RADIO_URI = "ui://gandora/radio";
const RADIO_URI = "ui://gandora/radio-v3";
const UI_MIME = "text/html;profile=mcp-app";
const UI_META = { ui: { csp: { resourceDomains: [MEDIA], connectDomains: [MEDIA] }, prefersBorder: true } };
const APP_ONLY = { ui: { visibility: ["app"] } };
@@ -143,7 +143,7 @@ async function handle(msg, env) {
case "resources/templates/list": return ok({ resourceTemplates: [] });
case "resources/read":
if (params && params.uri === PROBE_URI) return ok({ contents: [{ uri: PROBE_URI, mimeType: UI_MIME, text: PROBE_HTML, _meta: UI_META }] });
if (params && params.uri === RADIO_URI) return ok({ contents: [{ uri: RADIO_URI, mimeType: UI_MIME, text: RADIO_HTML, _meta: UI_META }] });
if (params && (params.uri === RADIO_URI || params.uri === "ui://gandora/radio")) return ok({ contents: [{ uri: RADIO_URI, mimeType: UI_MIME, text: RADIO_HTML, _meta: UI_META }] });
return err(-32002, "resource not found");
default:
if (id === undefined) return null;