yoto-mcp-server
Enables audio uploads and MYO card creation for Yoto players directly from the terminal, using OAuth authentication and Warp AI integration.
README
Yoto MCP Server
A Model Context Protocol (MCP) server that bridges Warp AI and the Yoto API, enabling seamless audio uploads and MYO card creation directly from your terminal.
Features
- š OAuth Device Flow Authentication - Secure authentication with Yoto API
- šµ Audio Upload - Upload MP3 files to Yoto with automatic transcoding
- š¦ MYO Card Creation - Automatically create Make Your Own cards
- š Token Management - Automatic token refresh and storage
- š Native Warp Integration - Use Yoto tools directly in Warp Agent Mode
Prerequisites
- Node.js 18+
- A Yoto account
- Warp terminal with Agent Mode enabled
Installation
- Clone or download this repository:
cd yoto-mcp-server
- Install dependencies:
npm install
- Build the project:
npm run build
Configuration
Add to Warp MCP Settings
Add this server to your Warp MCP configuration file (usually ~/.config/warp/mcp_config.json or similar):
{
"mcpServers": {
"yoto": {
"command": "node",
"args": [
"/absolute/path/to/yoto-mcp-server/dist/index.js"
]
}
}
}
Or for global installation:
npm link
Then in your Warp MCP config:
{
"mcpServers": {
"yoto": {
"command": "yoto-mcp-server"
}
}
}
Usage
Once configured, restart Warp and you'll have access to three new tools in Agent Mode:
1. Authenticate with Yoto
First, authenticate with your Yoto account:
In Warp Agent Mode:
Please authenticate with Yoto
Or explicitly:
Use the yoto-auth tool
The server will display a URL and code. Visit the URL in your browser, enter the code, and approve the connection.
2. Check Authentication Status
In Warp Agent Mode:
Check if I'm authenticated with Yoto
3. Upload Audio to Yoto
In Warp Agent Mode:
Upload the file /path/to/audio.mp3 to my Yoto player with title "My Audio Track"
The server will:
- Upload the audio file to Yoto
- Wait for transcoding (automatic conversion to Yoto-compatible format)
- Create a new MYO card with the audio
- Return the card ID
You can then link the card to a physical MYO card using your Yoto app or player.
4. List Your MYO Cards
In Warp Agent Mode:
List all my Yoto cards
Returns a list of all your MYO cards with their IDs and titles.
5. Get Card Details
In Warp Agent Mode:
Get details for Yoto card dyp9b
Returns detailed information about a specific card including chapter and track counts.
6. Add Track to Existing Card
In Warp Agent Mode:
Add /path/to/track2.mp3 to Yoto card dyp9b with title "Track 2"
Adds a new audio track to an existing MYO card as an additional chapter.
Example Workflow
User: Please authenticate with Yoto
[Server displays URL and code]
[User visits URL and approves]
ā
Successfully authenticated with Yoto API!
---
User: Upload hop-little-bunnies.mp3 to Yoto with title "Hop Little Bunnies"
[Server uploads and transcodes]
ā
Successfully uploaded audio to Yoto!
Card ID: dyp9b
Title: Hop Little Bunnies
You can now link this card to a physical MYO card using your Yoto app or player.
Available Tools
| Tool | Description | Parameters |
|---|---|---|
yoto-auth |
Authenticate with Yoto API | None |
yoto-check-auth |
Check authentication status | None |
yoto-upload-audio |
Upload audio and create MYO card | audioFilePath, title |
yoto-list-cards |
List all MYO cards | None |
yoto-get-card |
Get details of a specific card | cardId |
yoto-add-track |
Add audio track to existing card | cardId, audioFilePath, trackTitle |
Configuration Storage
Authentication tokens are stored securely in ~/.yoto-mcp-config.json. The server automatically handles token refresh.
Development
Build
npm run build
Watch mode
npm run watch
Run directly
npm run dev
Troubleshooting
Authentication Issues
- Ensure you're visiting the correct URL and entering the code within the time limit
- Check that your Yoto account is active
- Try re-authenticating: the old token will be replaced
Upload Failures
- Verify the audio file path is absolute and accessible
- Ensure the file is in MP3 format
- Check file size (very large files may timeout during transcoding)
Token Expiry
- Tokens automatically refresh when expired
- If refresh fails, re-authenticate using
yoto-auth
API Reference
This server uses the Yoto Developer API. For more information:
- Documentation: https://yoto.dev/api/
- MYO Cards Guide: https://yoto.dev/myo/uploading-to-cards/
License
MIT
Contributing
Contributions welcome! Please feel free to submit issues or pull requests.
Acknowledgments
- Built with the Model Context Protocol SDK
- Powered by the Yoto API
- Designed for Warp Terminal
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.