
Mcp Yoto
io.github.danpillay87Published by GitHub account danpillay87v0.1.0Updated Oct 24, 2026
MCP server for Yoto: manage cards, tracks, icons and family devices from any MCP client.
Overview
Connects a Yoto account to an AI assistant so it can list, create and edit Yoto cards, add tracks, set icons and view family players.
- What you can do
- List and read cards from your MYO or family library, with chapters and tracks, and check auth status and API reachability via yoto_status and yoto_list_cards/yoto_get_card/yoto_status tools (yoto_list_cards, yoto_get_card, yoto_status). Create, rename, reorder, re-icon and delete MYO cards (yoto_create_card, yoto_update_card, yoto_delete_card). Upload and transcode audio, then append tracks to a card (yoto_upload_audio, yoto_add_track). Search the public 16×16 icon catalogue and upload custom icons (yoto_search_icons, yoto_upload_icon). View family players and their configuration, with live player status not yet available (yoto_list_devices, yoto_get_device_config, yoto_player_status). Sign,
- When to use it
- Useful for Yoto-owning families who want to build or edit audio cards, add tracks and pick icons by chatting with Claude or ChatGPT instead of using the Yoto app, and for checking which family players are connected.
- Requirements
- A Yoto account signed in through Yoto's own sign-in page, with OAuth scopes for profile, content, icons and family library/device viewing. Either the remote endpoint at mcp-yoto.danpillay87.workers.dev/mcp or the local npm package mcp-yoto run via npx with Node.js. Network access to Yoto's API.
Installation
In SourceWeft
- Open Mcp Yoto in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.danpillay87%2Fmcp-yoto/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"yoto": {
"type": "http",
"url": "https://mcp-yoto.danpillay87.workers.dev/mcp"
}
}
}README
mcp-yoto
Works with Yoto — connect your Yoto library to Claude and ChatGPT.
[npm version] [CI] [License: MIT] [Works with Yoto]
For parents
What you can do once it's connected:
- See every card in your Yoto library (your own MYO cards and your family library) from inside Claude or ChatGPT.
- Ask your AI assistant to build a new card — turn an audio file, a story, or a set of tracks into a card on your Yoto.
- Add tracks to a card you've already made, without opening the Yoto app.
- Search and set pixel-art icons for your cards and chapters.
- Check on your family's Yoto players — see what's connected, without being able to control them remotely.
- Coming when Yoto allows it: ask what's on a player right now — which card is loaded, battery, volume, nightlight, headphones.
What you can say
Once it's connected, just ask in plain English:
- "Make a bedtime card from these three files and give each track a moon icon."
- "Show me every card in my Yoto library."
- "Add this new song to the 'Car Songs' card."
- "Find a pixel-art icon of a dinosaur for chapter two."
- "Which of my kids' Yoto players are online right now?"
How sign-in works
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.
For developers
Connect
🚧 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:
- Cursor: Add to Cursor
- VS Code: Install in VS Code
Tools
15 tools, all yoto_*, each shipped with a title, description, icon, and all four MCP annotation hints (read-only / destructive / idempotent / open-world):
Architecture
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.)
Roadmap
Prior art
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.
Privacy & Security
- PRIVACY.md — what we can and can't see, in plain English.
- SECURITY.md — how to report a vulnerability, and how token storage is designed.
License
MIT — see LICENSE. Portions originally derived from bperkinspdx/yoto-mcp-server (MIT).
Source: README.md at commit 04f83b8
Tools
0Version history
1- v0.1.0LatestSep 16, 2026
Score
75% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.