Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
台本を渡すとゆっくり解説・ずんだもん解説の動画(MP4)が返る。音声合成・字幕・図解・BGM・効果音まで自動。ChatGPT / Claude からは OAuth でつなぐだけ。
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
Authorization「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
このアドレスはリクエストの header にキーが必要ですが、コネクタを追加するメニューでは設定できません。代わりにClaude Code、Cursor、VS Codeを使ってください。
ターミナルでこれを実行します
claude mcp add --transport http yukkurigen https://app.yukkurigen.com/api/mcp --header 'Authorization: your-value'動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"yukkurigen": {
"url": "https://app.yukkurigen.com/api/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"yukkurigen": {
"type": "http",
"url": "https://app.yukkurigen.com/api/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
このアドレスはリクエストの header にキーが必要ですが、コネクタを追加するメニューでは設定できません。代わりにClaude Code、Cursor、VS Codeを使ってください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
Authorization 秘密 HTTP headerこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
このサーバーは、ツール一覧を表示する前にサインインを求めます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント yukkurigen で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
782ミリ秒で応答(HTTP 401)
OAuthでのサインインに対応しているため、AIアプリがログイン画面へ案内してくれます
まだチェックしていません。エンドポイントをチェックするときにツール一覧を読み取ります
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:Authorization
作者のクラウドで動きます。インストール不要でインターネット経由でつながりますが、送った内容は作者のサーバーを通ります。
GitHubリポジトリの最終更新は–、最新バージョン(1.2.0)がレジストリに届いたのは9 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Dialyne
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Real phone calls in France for AI agents: dial +33 numbers, menus, hold, AI disclosure.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
台本(話者+セリフの配列)を渡すと、MP4 が返る。こちらで音声を合成してから 本番レンダーを開始する(動画1分につき1クレジット。クレジットパックか有料プランで)。焼く前は共有リンク (create_preview_link)で、無料プランでも全編を音つきで見られる(0クレジット)。 人が編集画面で作ることは想定していない——あなたが自分の AI に頼み、その AI が ここを呼ぶ。
あなた「ゆっくり解説で、日本の年金制度の動画を作って」
→ AI が create_yukkuri_video を呼ぶ(数秒で jobId が返る) → AI が get_job で音声合成とレンダー開始を待ち、get_render で MP4 の完成を待つ → MP4 の URL が返る あなた「3行目をもっと驚いた感じに」 → AI が update_lines でその行だけ直す(その行の喋る速さ・高さは voice、動画全体の速さは update_project_settings の voicePlaybackRate。既定 1.1) あなた「3行目の後ろに1行追加して」 → AI が insert_lines で行を挿入し、generate_audio で音声を作ってから render_mp4 を呼ぶ
直すのもこのサイトではなく、AI との会話で行う。
台本は AI(Claude)が書いて MCP で渡し、返ってきた MP4 をそのまま載せている(人の手直し無し。2026-09-26 に撮り直し)。 台本は 21 行と 22 行。図解カード・写真・章の見出し・強調テロップ、行ごとの表情とポーズも、台本を書いた AI が指定している (card / photo / chapter / emphasis / emotion / pose)。YukkuriGen はそれを画像にして焼くだけで、サーバで AI は呼ばない。 音声・字幕・立ち絵・BGM・効果音は YukkuriGen が入れる。
立ち絵は目・眉・口・顔色・汗や涙・腕が別々の部品なので、セリフごとに組み替える。 表情は16種(ドヤ顔・ジト目・ガーン・照れ・大喜び など。全キャラ共通)、ポーズ(指さし・腕組み・マイク など)は ずんだもん・四国めたん・春日部つむぎ・あんこもんで使える。 聞き手も、直前に話したときの表情を穏やかにして残す。写真や図解が出ている間は、キャラが少し外へ寄って顔を空ける。
ずんだもん・四国めたん「コンビニコーヒーが安い本当の理由」
→ MP4 をダウンロード(720p・約96秒・音あり・6.7MB)
霊夢・魔理沙「寝る前のスマホが睡眠を壊す理由」
→ MP4 をダウンロード(720p・約82秒・音あり・5.2MB)
頼み方の例:
ずんだもんとめたんで、コンビニコーヒーが安い理由を1分半くらいで解説して。最後にチャンネル登録を呼びかけて。
AI は台本の行に、たとえば次のように演出も書いて create_yukkuri_video を呼ぶ:
{"speaker":"zundamon","text":"安くできる理由は三つあるのだ。",
"card":{"title":"安くできる3つの理由","style":"steps","items":["豆をまとめて大量仕入れ","ボタンひとつで自動抽出","お客さんのセルフ式"],"span":4}, "emotion":"smug","pose":"hip"} {"speaker":"metan","text":"味は大丈夫なのかしら?","photo":["coffee beans","coffee"],"emotion":"troubled","pose":"hold"} {"speaker":"metan","text":"えっ、儲からなくてもいいってこと!?","emotion":"shocked","pose":"mouth_cover","cameraMode":"dynamic","action":"jump"}
get_render で完成した MP4 の URL と、 YouTube の概要欄に貼るクレジット(credits)が返る。作例のクレジット:
【使用素材】
音声: VOICEVOX:ずんだもん、VOICEVOX:四国めたん 立ち絵: 坂本アヒル 様 背景: いらすとや 様(https://www.irasutoya.com/) BGM: DOVA-SYNDROME(https://dova-s.jp/)、こおろぎ 様 効果音: 効果音ラボ(https://soundeffect-lab.info/) 写真: Openverse(CC0・パブリックドメイン) 制作: YukkuriGen(https://yukkurigen.com/)
VOICEVOX の音声は「VOICEVOX:キャラ名」の表記が利用条件。動画を投稿するときは、この クレジットを概要欄に入れること(YukkuriGen から YouTube へ投稿した場合は自動で入る)。 写真は Openverse で CC0・パブリックドメインのものだけを使っている。
skills/ に、機能ごとのスキル(AI 向けの手順書)が11本ある。Claude Code ならプラグインとしてまとめて入る(下の「つなぐ」)。 作例は、どれも AI(Claude)が MCP で作って焼いたものをそのまま載せている(2026-09-26)。
| スキル | できること | 作例 |
|---|---|---|
| yukkuri-video-basics | 台本から1本作る(霊夢・魔理沙) | MP4 |
| dialogue-25d | ずんだもん×あんこもんの掛け合い。立ち絵が 2.5D で呼吸し、体・しっぽ・頭の飾りが揺れる | MP4 |
| explainer-visuals | 図解カード・写真・章の見出し・強調テロップ | MP4 |
| scene-direction | ゲストの途中登場・退場、キャラの立ち位置・大きさ・向き(1人で真ん中・左右の入れ替え)、キャラの動き(跳ぶ・ぴょんぴょん・震える・お辞儀・振り向く・ずっこける・はしゃぐ)、背景のゆっくりした寄り・引き・パン、暗転、章の頭の全画面タイトル(行に書くだけ) | — |
| expressions-poses | 表情16種・腕のポーズを行ごとに | 一覧(画像) |
| vertical-shorts | 縦型ショート(9:16)。上にタイトル・素材、下にキャラ2人・字幕 | MP4 |
| your-images | 自分の画像を行ごとに好きな位置・大きさで出す/背景を差し替える | MP4 |
| batch-production | 最大20本を1回でまとめて作る | 3本の例(画像) |
| review-and-fix | 焼く前に共有リンクで見せ、指定の行だけ直す(消費なし) | 共有リンクの画面 |
| own-character | 自分のキャラ(PSD・PNG)を話者にする。PNG 1枚なら AI が create_character で作れる(例: いらすとやの立ち絵を霊夢の声で)。画像生成 AI で作ったキャラも PSD にすれば喋る | MP4 PSD の見本 |
| youtube-upload | 焼いた動画を自分の YouTube へ投稿(既定は非公開) | — |
アカウントの無いまま呼ぶと、会員登録(無料・月の付与なし)の URL 付きで signup_required が返る。 ChatGPT・claude.ai のコネクタなら、つなぐ時に登録と許可の画面が開く。
コネクタの追加で、この URL を入れるだけ。鍵は要らない:
https://app.yukkurigen.com/api/mcp
YukkuriGen の許可画面が開くので「許可する」を押す(OAuth 2.1・PKCE・動的クライアント登録)。 つないだアプリは https://app.yukkurigen.com/settings/api-keys に「<アプリ名>(OAuth)」として出て、 そこから取り消せる。
MCP サーバーを種類 HTTP で追加し、URL にこれを入れるだけ。鍵は要らない:
https://app.yukkurigen.com/api/mcp
VS Code が「MCP サーバー定義 … が YukkuriGen に認証しようとしています」と聞くので「許可」を押す。 ブラウザで YukkuriGen の許可画面(「Visual Studio Code を YukkuriGen につなぎますか?」)が開くので 「許可する」を押すと、VS Code に鍵が渡り、ツールが一覧に出る(2026-10-05 に VS Code 1.139 で確認)。 つないだ VS Code は API キーの画面に「Visual Studio Code」(「OAuth で接続」の札付き)として出て、そこから取り消せる。
同じ URL を鍵なしで入れてつながるかは、実機では確かめていない。試してつながらなければ、 下の「鍵をヘッダーで渡すクライアント」と「その他の MCP クライアント」の方法でつなぐ(こちらは従来どおり使える)。
まず鍵を取る(無料・月の付与なし): https://app.yukkurigen.com/settings/api-keys
プラグインとして入れると、MCP サーバの接続と機能ごとのスキル11本がまとめて入る(接続はブラウザでの許可):
/plugin marketplace add yukkurigen/yukkurigen-mcp
/plugin install yukkurigen@yukkurigen
API キーで繋ぐなら:
claude mcp add --transport http yukkurigen https://app.yukkurigen.com/api/mcp \
-H "Authorization: Bearer $YUKKURIGEN_API_KEY"
チームで共有するなら、このリポジトリの .mcp.json をプロジェクトに置く。 鍵は環境変数 YUKKURIGEN_API_KEY から読む(ファイルに鍵を書かない)。
~/.codex/config.toml に足す:
[mcp_servers.yukkurigen]
url = "https://app.yukkurigen.com/api/mcp" bearer_token_env_var = "YUKKURIGEN_API_KEY"
export YUKKURIGEN_API_KEY=yg_live_...
鍵は環境変数から読むので、設定ファイルに書かない。
export YUKKURIGEN_API_KEY=yg_live_...
gemini extensions install https://github.com/yukkurigen/yukkurigen-mcp
このリポジトリの gemini-extension.json が読まれる。鍵は環境変数から読むので、 ファイルに書かない。
エンドポイントは1つだけ:
POST https://app.yukkurigen.com/api/mcp
Authorization: Bearer
JSON-RPC 2.0 over HTTP。tools/list でツール一覧が取れる。 server.json は MCP レジストリ用のマニフェスト。
curl -X POST https://app.yukkurigen.com/api/v1/agent/generate \
-H "Authorization: Bearer $YUKKURIGEN_API_KEY" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: my-first-video-sync" \ -d '{"title":"テスト","script":[{"speaker":"reimu","text":"こんにちは"},{"speaker":"marisa","text":"よろしくだぜ"}]}'
これは同期の呼び出しで、音声合成とレンダー開始を待ってから返る(台本が長いと数十秒。 サーバの設定によっては、一定時間だけ待って終わらなければ 202 が返る)。 待っている途中で接続が切れても、サーバ側では生成と課金が進む。投げ直すときは同じ Idempotency-Key を付ける (同じ鍵なら、処理中は 409、終わっていれば最初の結果が返り、2本目は作られない)。 待たずに済ませるなら Prefer: respond-async を付ける。数秒で 202 と jobId / projectId が返る (サーバの設定によってはジョブにならず、同期で待ってから 200 が返る):
curl -X POST https://app.yukkurigen.com/api/v1/agent/generate \
-H "Authorization: Bearer $YUKKURIGEN_API_KEY" \ -H "Content-Type: application/json" \ -H "Prefer: respond-async" \ -H "Idempotency-Key: my-first-video" \ -d '{"title":"テスト","script":[{"speaker":"reimu","text":"こんにちは"},{"speaker":"marisa","text":"よろしくだぜ"}]}'
GET /api/v1/jobs/{jobId} が succeeded になったら、result.renderId を GET /api/v1/projects/{projectId}/render/{renderId}/progress に渡して完成を待つ。 failed なら error.code に理由が入り、クレジットは返金される。 例外は、レンダーを起動したあとにジョブだけが失敗した場合(まれ)で、レンダーは課金されたまま 動いていて返金されず、Idempotency-Key も空かない(同じ鍵で投げ直すと、起動済みのレンダーが 200 で 返り、2本目は作られない)。renderId に agent-{jobId} を渡して進捗を見れば結果が分かる (not_found なら起動しておらず、返金される)。
複数本は POST /api/v1/agent/generate/batch(MCP は create_yukkuri_videos_batch、最大20件)にまとめて渡せる。 Prefer: respond-async を付けると数秒で 202 と jobId が返り、各件はサーバ側で1件ずつ順に作られる (サーバの設定によってはジョブにならず、同期で処理して 200 が返る。MCP のツールは自分で付ける)。 succeeded の result.results に各件の projectId / renderId / jobId が並ぶので、renderId を 上と同じ進捗の URL に渡す。バッチのジョブが failed になっても返金ではない——作り始めた件は それぞれのジョブで課金されたまま進む。失敗したバッチは GET /api/v1/jobs/{jobId} の partialResults に 作り始めた件と投げ直してよい件(resendIndexes)が分かれて入るので、その件だけを新しい idempotencyKeyPrefix の新しいバッチで送る。同じ prefix で全件を投げ直しても作り始めた件が二重に 作られないのは、その件のジョブが終わってから 24 時間以内だけ(期限は partialResults.fullResendSafeUntil)。
画像を取り込むには POST /api/v1/assets/import(MCP は import_images)。 URL リストから画像を S3 へコピーし、materialImageUrl / backgroundImageUrl に使える 永続 URL を返す。期限付きの画像生成サービス出力など、再リクエストで変わる URL を 動画に使うときに使う。クレジット消費なし。
利用者の PC にある画像(ComfyUI などで作ったもの)は、シェルを実行できる AI なら POST /api/v1/assets/image-uploads(MCP は create_image_upload)で署名付き URL を出して PUT し、 POST /api/v1/assets/image-uploads/confirm(confirm_image_upload)で確定する(最大 10MB)。 シェルが無ければ POST /api/v1/assets/image-uploads/inline(upload_image)に base64 で渡す (デコード後 8MB まで)。返る URL は取り込みと同じ扱い。クレジット消費なし。
BGM と効果音は行ごとに決められる。行の bgm に組み込みの曲の名前(GET /api/v1/audio-library、MCP は list_bgm)・ 利用者が上げた音の url・"none"(止める)を書くと、その行から次に bgm を書いた行まで流れる。行の effect には 組み込みの効果音の名前か上げた音の url。手元の音(mp3 / wav / ogg。BGM 30MB・効果音 5MB)は POST /api/v1/assets/audio-uploads(create_audio_upload)→ PUT → POST /api/v1/assets/audio-uploads/confirm (confirm_audio_upload)、シェルが無ければ POST /api/v1/assets/audio-uploads/inline(upload_audio)。 上げた音を使ってよいかは利用者の責任。話している間だけ BGM を下げるダッキングは、テンプレートの bgm.ducking (update_template_style)か PATCH /api/v1/projects/{id}/settings の bgmDucking(既定は切)。クレジット消費なし。
BGM を AI に作らせるなら POST /api/v1/assets/bgm/generate(MCP は generate_bgm)。ACE-Step で1曲(30〜240 秒。 雰囲気は英語のタグで指定)作り、利用者の BGM 素材として登録する(上げた音と同じ扱いで、url を行の bgm に書ける)。 いつも非同期で、GET /api/v1/jobs/{jobId}(get_job)の result に永続の url と1時間の downloadUrl が入る。 2クレジット(失敗したら返金)。projectId を渡しても動画の BGM は変えない(applyToProject: true のときだけ変える)。 ACE-Step はコード・モデルとも Apache License 2.0 で公開されている。作った曲が既存の曲に似ないことは確かめていない (使ってよいかの判断は利用者の責任)。
上げた PNG・WebP の画像1枚から、話者にできる自分のキャラを作るには POST /api/v1/agent/characters (MCP は create_character)。声は GET /api/v1/voices(list_voices)の speakerId か、組み込みキャラと同じ声の voiceOf(reimu など)。返る characterId を speaker に書く。直すのは PATCH /api/v1/agent/characters/{characterId} (update_character)。PSD の取り込みと削除は画面だけ。クレジット消費なし。
全項目の定義: https://app.yukkurigen.com/openapi.json
[SKILL.md](./SKILL.md) が手順書のすべて。接続、最小例、立ち絵、カメラ、素材の位置、縦型、 テンプレートの位置の直し方、クレジット、402 を受けたときの購入導線、冪等キー、バッチ生成、コールバックまで。 app.yukkurigen.com/skill.md と同一のファイルで、CI で一致を検査している。 機能ごとに短く分けたものが skills/(上の表)。
| クレジット | 無料枠で | |
|---|---|---|
| 台本を作る・読む・直す・音声を作る | 0 | ○ |
| 共有リンクで確認(全編・音つき・ログイン不要) | 0 | ○ |
読みを確かめる(check_readings。エンジンが実際に読む音)・読みの辞書(set_pronunciation) | 0 | ○ |
| MP4 本番レンダー | 動画1分につき1(端数切り上げ) | △ クレジットパック(買い切り・無料プランのままでも買える)か有料プラン |
月のクレジットはスタンダード100・プロ300(MP4 なら100分・300分)。クレジットパックは50・150・500(買い切り・期限なし)。402 を受けたら create_checkout で決済リンクを出せる ——会話を止めずに購入まで進める。
同時に走らせられるレンダーはプランごとに上限がある(無料1 / スタンダード3 / プロ10)。超えると 429 too_many_concurrent_renders(課金なし)。
create_yukkuri_video → get_job → get_render の完成まで。上の作例がその出力)。 まとめて作るバッチ(create_yukkuri_videos_batch)は 2026-09-26 に本番でプレビュー出力(当時あった1クレジットの低解像度 MP4。2026-09-27 に廃止)の3本を最後まで通した。MP4 出力のバッチは本番未検証(本番で最後まで通した実績はまだ無い)。 初めての形の台本は少数の行で試してほしい。途中で止まる場合は段ごとに切り分けられる (get_project → generate_audio → render_mp4)。不具合として報告してほしい。冒頭だけを表示しています。続きはリポジトリで読めます