MCP server for Yoto: manage cards, tracks, icons and family devices from any MCP client.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
Works with Yoto β connect your Yoto library to Claude and ChatGPT.
What you can do once it's connected:
Once it's connected, just ask in plain English:
You paste one link into your AI app. That takes you to Yoto's own sign-in page β you sign in there, not here. We never see your password. Your Yoto tokens are stored encrypted, and the key is never written to our storage β it's wrapped using your AI app's own token, of which we keep only a hash, so a copy of our database alone decrypts nothing. Two honest caveats: the wrapping method is a fixed constant from the open-source library we use, not a secret unique to this server, so a live client token could decrypt the matching record; and because we run the server, we could in principle change its code to capture tokens in transit. The accurate claim is "nothing readable is stored, and we have no routine means to read it" β not "we are incapable of reading it". You can revoke access at any time from your Yoto account settings, which disconnects this instantly. See PRIVACY.md for the full, plain-English explanation.
π§ Rebuild in progress (Sept 2026). The command-line version works today; the paste-one-link version for claude.ai / ChatGPT lands in ~2 weeks.
π§ Rebuild in progress (September 2026). The
npxroute below works today. The paste-one-link route for claude.ai and ChatGPT goes live once the website address ships β expected September 2026.
claude.ai β Add the Yoto connector (or Settings β Connectors β Add custom connector, prefilled).
ChatGPT β Settings β Connectors β Advanced β Developer mode β Add connector β paste https://mcp-yoto.danpillay87.workers.dev/mcp.
Claude Code:
Power users β run it locally today:
15 tools, all yoto_*, each shipped with a title, description, icon, and all four MCP annotation hints (read-only / destructive / idempotent / open-world):
| Tool | Purpose | Key inputs | Read-only |
|---|---|---|---|
yoto_status | Auth state, scopes, token-store kind (CLI), API reachability | β | yes |
yoto_sign_in | CLI: launch loopback PKCE. Remote: sign in via your client's connector settings | openBrowser? | no |
yoto_sign_out | CLI: delete local token. Remote: how to disconnect + revoke at Yoto | confirm | destructive |
yoto_list_cards | My MYO cards or family library | source: myo|family, limit?, cursor? | yes |
yoto_get_card | Full card with chapters/tracks | cardId | yes |
yoto_create_card | New MYO card, optional tracks + icon | title, tracks[]?, iconRef? | no |
yoto_update_card | Rename / reorder / set icons | cardId, patch | destructive, idempotent |
yoto_delete_card | Delete a MYO card | cardId, confirm | destructive |
yoto_upload_audio | Upload + transcode β yoto:#sha | CLI audioFilePath Β· Remote audioUrl (https, size-capped, streamed) | no |
yoto_add_track | Upload and append to a card | cardId, audioFilePath|audioUrl, trackTitle?, iconRef? | no |
yoto_search_icons | Search the public 16Γ16 icon catalogue | query?, tags?, limit? | yes |
yoto_upload_icon | Upload a custom 16Γ16 icon | imagePath|imageUrl, title, autoConvert? | no |
yoto_list_devices | Family players (view only) | β | yes |
yoto_get_device_config | Device config incl. right-hand-button shortcuts; 403 β friendly FORBIDDEN_SCOPE | deviceId | yes |
yoto_player_status | Live status: card, battery, volume, nightlight, headphones (not yet available β waiting on Yoto); uses a Yoto endpoint marked deprecated (no replacement published yet) | deviceId?, refresh? | yes |
One Cloudflare Worker runs the official MCP TypeScript SDK v2 (stateless Streamable HTTP) behind Cloudflare's own @cloudflare/workers-oauth-provider β the reference implementation for remote-MCP auth, so this project writes only the small Yoto-specific upstream handler, not its own OAuth server. The same core (Yoto client + tool definitions) also powers npx mcp-yoto, a local stdio server for direct use from Claude Code, Cursor, or any stdio-based MCP client. Requested scopes are profile offline_access user:content:view user:content:manage user:icons:manage family:library:view family:devices:view β deliberately no family:devices:control or family:devices:manage, which is what keeps this app eligible for Yoto's Verified listing. (family:device-status:view, needed for the still-registered yoto_player_status tool, isn't requested either: a live sign-in attempt with it included was refused outright by Yoto, so it currently can't be granted to third-party apps at all.)
| When | What |
|---|---|
| Week of 14 Sep | Scaffold + this outreach post (you're reading it) |
| Week of 14 Sep | Yoto client + the 15 tools, tested against a mocked API |
| Week of 14 Sep | npx mcp-yoto β local sign-in working end to end |
| Week of 21 Sep | Remote connector: Cloudflare Worker + Yoto OAuth, live for claude.ai / ChatGPT |
| Week of 21 Sep | Security pass, real-client verification, Yoto Verified submission |
This isn't the first Yoto MCP server. bperkinspdx/yoto-mcp-server is the origin this project was forked from and is rebuilt on top of. tmcinerney/yoto-mcp is another independent Yoto MCP server on npm, built separately.
MIT β see LICENSE. Portions originally derived from bperkinspdx/yoto-mcp-server (MIT).
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/mcp-yoto)<a href="https://allmcps.com/mcp/mcp-yoto"><img src="https://allmcps.com/api/badge/mcp-yoto?style=directory" alt="MCP Yoto on AllMCPs" /></a>