mcp-yoto について
mcp-yotoは、Yotoライブラリや家族のデバイスをMCP対応AIアプリにつなぎ、カードや音声コンテンツを管理する保護者向けのサーバーです。カードの作成・編集、トラックやアイコンの管理、プレーヤーの閲覧ができますが、遠隔操作には対応しません。
主な機能
- 01個人用・家族用カードの一覧
- 02MYOカードの作成と編集
- 03音声のアップロードとトラック追加
- 04ピクセルアイコンの検索とアップロード
- 05家族のプレーヤーデバイスの表示
- 06デバイス設定の確認
活用シーン
- 01音声ファイルから就寝用カードを作成
- 02既存カードに曲を追加
- 03チャプター用アイコンを選択
- 04家族のプレーヤーのオンライン状況を確認
MCP 対応
リモートのStreamable HTTPとローカルstdioサーバーを通じて、15個のYotoツールを提供します。MCPクライアントからカード、トラック、アイコンを管理し、家族のデバイスを閲覧できます。プレーヤーの操作には対応しません。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp-yoto.danpillay87.workers.dev/mcpclaude mcp add --transport http danpillay87-mcp-yoto https://mcp-yoto.danpillay87.workers.dev/mcp{"mcpServers":{"danpillay87-mcp-yoto":{"type":"http","url":"https://mcp-yoto.danpillay87.workers.dev/mcp"}}}Cursor で開く{"servers":{"danpillay87-mcp-yoto":{"type":"http","url":"https://mcp-yoto.danpillay87.workers.dev/mcp"}}}VS Code で開く{"mcpServers":{"danpillay87-mcp-yoto":{"type":"http","url":"https://mcp-yoto.danpillay87.workers.dev/mcp"}}}{"mcpServers":{"danpillay87-mcp-yoto":{"serverUrl":"https://mcp-yoto.danpillay87.workers.dev/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
mcp-yoto
Yoto と連携 — Yoto ライブラリを Claude と ChatGPT に接続します。
保護者の方へ
接続すると、次のことができます。
- Claude または ChatGPT から、Yoto ライブラリ内のすべてのカード(自分で作成した MYO カードとファミリーライブラリ)を確認できます。
- AI アシスタントに新しいカードの作成を依頼できます — 音声ファイル、ストーリー、またはトラックのセットを Yoto のカードにできます。
- Yoto アプリを開かずに、作成済みのカードにトラックを追加できます。
- カードやチャプター用のピクセルアートアイコンを検索して設定できます。
- 家族の Yoto プレーヤーの接続状況を確認できます — リモート操作はできません。
- Yoto が対応したら利用可能になります:プレーヤーで今何が再生されているか(読み込まれているカード、バッテリー残量、音量、ナイトライト、ヘッドホン)を尋ねられます。
こんなふうに頼めます
接続したら、普通の英語で尋ねるだけです。
- 「この3つのファイルから就寝用カードを作って、各トラックに月のアイコンを付けて。」
- 「Yoto ライブラリにあるカードをすべて見せて。」
- 「この新しい曲を『Car Songs』カードに追加して。」
- 「2番目のチャプター用に恐竜のピクセルアートアイコンを探して。」
- 「子どもたちの Yoto プレーヤーのうち、今オンラインなのはどれ?」
サインインの仕組み
AI アプリにリンクを1つ貼り付けます。すると Yoto 自身のサインインページに移動します — ここではなく、そこでサインインしてください。パスワードをこちらが見ることはありません。Yoto トークンは暗号化して保存され、鍵がこちらのストレージに書き込まれることはありません — お使いの AI アプリ固有のトークンを使って鍵をラップし、こちらではそのハッシュだけを保持するため、データベースのコピーだけでは何も復号できません。正直にお伝えしたい注意点が2つあります。ラップ方式は、利用しているオープンソースライブラリに含まれる固定の定数であり、このサーバー固有の秘密ではないため、稼働中のクライアントトークンが対応するレコードを復号できる可能性があります。また、サーバーを運営しているため、理論上は通信中のトークンを取得するようコードを変更できてしまいます。正確には「読み取り可能な状態では何も保存されず、通常の手段で読み取る方法もありません」であり、「読み取ることは不可能です」ではありません。Yoto アカウントの設定からいつでもアクセスを取り消せば、すぐに接続が解除されます。詳しくはPRIVACY.mdの平易な説明をご覧ください。
🚧 再構築中(2026年9月)。 コマンドライン版は現在利用できます。claude.ai / ChatGPT 向けのリンクを1つ貼り付ける版は約2週間後に公開予定です。
開発者の方へ
接続
🚧 再構築中(2026年9月)。 以下の
npxの方法は現在利用できます。claude.ai と ChatGPT 向けのリンクを1つ貼り付ける方法は、ウェブサイトのアドレス公開後に利用可能になります — 2026年9月を予定しています。
claude.ai — Yoto コネクターを追加(または「設定」→「コネクター」→「カスタムコネクターを追加」。入力済みです)。
ChatGPT — 「設定」→「コネクター」→「詳細」→「開発者モード」→「コネクターを追加」→ https://mcp-yoto.danpillay87.workers.dev/mcp を貼り付けます。
Claude Code:
claude mcp add --transport http yoto https://mcp-yoto.danpillay87.workers.dev/mcp
上級者向け — 今すぐローカルで実行する場合:
npx -y mcp-yoto
- Cursor: Cursor に追加
- VS Code: VS Code にインストール
ツール
15 個のツールがあり、すべて yoto_* で、タイトル、説明、アイコン、および 4 つすべての MCP アノテーションヒント(読み取り専用/破壊的/冪等/オープンワールド)が付属します。
| ツール | 目的 | 主な入力 | 読み取り専用 |
|---|---|---|---|
yoto_status | 認証状態、スコープ、トークンストアの種類(CLI)、API 接続状況 | – | はい |
yoto_sign_in | CLI:ループバック PKCE を開始します。リモート:クライアントのコネクター設定からサインインします | openBrowser? | いいえ |
yoto_sign_out | CLI:ローカルトークンを削除します。リモート:Yoto での接続解除と取り消し方法を案内します | confirm | 破壊的 |
yoto_list_cards | 自分の MYO カードまたはファミリーライブラリ | source: myo|family、limit?、cursor? | はい |
yoto_get_card | チャプター/トラックを含むカード全体 | cardId | はい |
yoto_create_card | 新しい MYO カード。トラックとアイコンは任意です | title、tracks[]?、iconRef? | いいえ |
yoto_update_card | 名前の変更/並べ替え/アイコンの設定 | cardId、patch | 破壊的、冪等 |
yoto_delete_card | MYO カードを削除します | cardId、confirm | 破壊的 |
yoto_upload_audio | アップロードしてトランスコードし、yoto:#sha を返します | CLI:audioFilePath · リモート:audioUrl(https、サイズ上限あり、ストリーミング) | いいえ |
yoto_add_track | カードにアップロードして追加します | cardId、audioFilePath|audioUrl、trackTitle?、iconRef? | いいえ |
yoto_search_icons | 公開されている 16×16 アイコンカタログを検索します | query?、tags?、limit? | はい |
yoto_upload_icon | カスタム 16×16 アイコンをアップロードします | imagePath|imageUrl、title、autoConvert? | いいえ |
yoto_list_devices | ファミリープレーヤー(閲覧のみ) | – | はい |
yoto_get_device_config | 右側ボタンのショートカットを含むデバイス設定。403 の場合はわかりやすい FORBIDDEN_SCOPE を返します | deviceId | はい |
yoto_player_status | ライブステータス:カード、バッテリー、音量、ナイトライト、ヘッドホン(まだ利用できません — Yoto の対応待ち)。非推奨とマークされた Yoto エンドポイントを使用しています(代替手段はまだ公開されていません) | deviceId?、refresh? | はい |
アーキテクチャ
1 つの Cloudflare Worker が公式 MCP TypeScript SDK v2(ステートレス Streamable HTTP)を実行し、Cloudflare 独自の @cloudflare/workers-oauth-provider を介して動作します。これはリモート MCP 認証のリファレンス実装であるため、このプロジェクトでは Yoto 固有の小規模なアップストリームハンドラーのみを作成し、独自の OAuth サーバーは作成しません。同じコア(Yoto クライアントとツール定義)は npx mcp-yoto にも使用され、Claude Code、Cursor、または stdio ベースの任意の MCP クライアントから直接利用できるローカル stdio サーバーとして動作します。要求するスコープは profile offline_access user:content:view user:content:manage user:icons:manage family:library:view family:devices:view です。Yoto の Verified リスティングの対象であり続けるため、family:devices:control と family:devices:manage は意図的に含めていません。(登録されたままの yoto_player_status ツールに必要な family:device-status:view も要求していません。このスコープを含めたライブサインインの試みは Yoto に拒否されたため、現時点ではサードパーティアプリに一切付与できません。)
ロードマップ
| 時期 | 内容 |
|---|---|
| 9 月 14 日の週 | 足場づくりとこの告知投稿(現在お読みの内容です) |
| 9 月 14 日の週 | Yoto クライアントと 15 個のツールを作成し、モック API でテスト |
| 9 月 14 日の週 | npx mcp-yoto — ローカルサインインをエンドツーエンドで動作させる |
| 9 月 21 日の週 | リモートコネクター:Cloudflare Worker + Yoto OAuth。claude.ai / ChatGPT で稼働 |
| 9 月 21 日の週 | セキュリティ確認、実際のクライアントでの検証、Yoto Verified への申請 |
先行プロジェクト
Yoto MCP サーバーはこれが初めてではありません。bperkinspdx/yoto-mcp-server は、このプロジェクトがフォークし、その上に再構築した元のプロジェクトです。tmcinerney/yoto-mcp も npm 上の独立した Yoto MCP サーバーで、別個に構築されています。
プライバシーとセキュリティ
- PRIVACY.md — 何を確認できるか、できないかを平易な英語で説明します。
- SECURITY.md — 脆弱性の報告方法と、トークンストレージの設計について説明します。
ライセンス
MIT — LICENSE を参照してください。一部は bperkinspdx/yoto-mcp-server(MIT)を元にしています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。