22 lines
1.2 KiB
Markdown
22 lines
1.2 KiB
Markdown
# gandora MCP spike
|
||
|
||
A throwaway experiment, not part of the page. Question: can a gandora player run as an MCP App inside claude.ai and
|
||
play audio, and by which path?
|
||
|
||
The chat Visualizer sandbox (Oct 22 2026) played Web Audio but refused `<audio>` from dev.gandora.lol and teahub.xyz
|
||
(MediaError code 4: CSP). An MCP App's UI resource can declare its own domains, and can call its server's tools
|
||
through the host, so this probe tests three paths:
|
||
|
||
1. **synth**: Web Audio, no network (control)
|
||
2. **remote**: `<audio>` from dev.gandora.lol, declared in the resource's `_meta.ui.csp.resourceDomains`
|
||
3. **blob**: the UI calls `get_track` through the host bridge, gets base64 mp3, plays it from a `blob:` URL
|
||
|
||
`worker.js` is a single stateless Cloudflare Worker speaking MCP over Streamable HTTP (POST `/mcp`, JSON replies).
|
||
Tools: `open_probe` (shows the UI) and `get_track` (app-only). Deployed as `gandora-mcp` at
|
||
`https://gandora-mcp.yolopreneur.lol/mcp` by teahubxyz/time › Actions › gandora-mcp (reads this file from `dev`).
|
||
|
||
Try it: add the URL as a custom connector in claude.ai, then ask Claude to open the gandora probe.
|
||
|
||
No auth, no keys: it only serves public test clips. Don't grow it in place; the real player server gets designed
|
||
from what this answers.
|