Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
台本を渡すとゆっくり解説・ずんだもん解説の動画(MP4)が返る。音声合成・字幕・図解・BGM・効果音まで自動。ChatGPT / Claude からは OAuth でつなぐだけ。
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 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天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Signoff
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况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.
Five gates that make an agent's 'done' provable: run them, read the verdict, audit the record.
按原文从作者的仓库复制。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)。不具合として報告してほしい。只显示了开头部分;其余内容请在仓库中阅读