Dare について
Dareは、Dareアカウントを使って動画や画像を生成するMCPサーバーです。Claude Code、Claude desktop app、Coworkの利用者向けに、モデル確認、クレジット見積もり、生成制御、参照メディアの操作を提供します。
主な機能
- 01動画と画像の生成
- 02モデル一覧と費用見積もり
- 03クレジット残高の確認
- 04生成時の参照メディア利用
- 05生成ジョブとライブラリの管理
活用シーン
- 01動画生成に必要なクレジットの事前確認
- 02テキストプロンプトからの動画生成
- 03参照画像を使ったキャラクターのアニメーション
- 04Dareライブラリの最近の生成物の確認
MCP 対応
ユーザーのブラウザーセッションとDareクレジットを通じて、MCPクライアントをDareの生成機能に接続します。生成、費用見積もり、残高確認、アップロード、ライブラリ管理のツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
dare-mcp-server
Claude の中から動画や画像を生成できます。料金はご自身の Dare クレジットでお支払いいただけます。
Claude にショットを依頼すると、生成してくれます。動画には Seedance 2.5、Seedance 2.0、Veo 3.1、Kling 3.0 Pro、Hailuo 2.3、静止画には Nano Banana 2、GPT Image 2、Seedream 5 Pro を利用できます。新たなサブスクリプションも、購入する API キーも不要です。すでにお持ちの Dare クレジットを使用します。
> make me a 10 second 720p cinematic shot of rain on a neon Tokyo street, 16:9
Estimated 110 credits (you have 4,280). Generating…
Done: https://storage.trydare.com/…/rain-tokyo.mp4
Claude Code、Claude デスクトップアプリ、Cowork で動作します。
重要
Dare は開発者向け API を公開していません。このサーバーは、Dare の Web アプリが使用するものと同じ非公開エンドポイントに、ご自身のブラウザーセッションでサインインして接続します。現在は動作しており、ここにあるすべてのツールは、生成を最後まで実行するテストも含め、Dare のライブサーバーで実際に動作確認済みです。ただし、Dare は予告なくこの仕様を変更する可能性があり、利用が Dare の利用規約に抵触する場合があります。ご自身のアカウント、ご自身のクレジットで、ご自身の判断でご利用ください。
インストール
Node.js 20 以降が必要です。node --version で確認してください。エラーが表示される場合は、nodejs.org から LTS ビルドをインストールしてください(Mac では brew install node でもインストールできます)。
次に、ターミナルで次のコマンドを実行します。
npx dare-mcp-server setup
これでインストールは完了です。ウィザードは次の操作を行います。
- Dare のトークンの場所を案内します(ブラウザーで 4 回クリックします)。
- トークンを Dare で検証し、クレジット残高を表示します。
~/.dare-mcp/config.jsonに所有者のみがアクセスできる権限で保存します。- Claude Code や Claude デスクトップアプリに Dare を追加します。
完了したら Claude を再起動してください。Claude Code で /mcp を実行すると、dare が表示されます。
npx dare-mcp setup も使えます。dare-mcp は、同じパッケージに転送する短いエイリアスです。
ターミナルを使わずに Claude デスクトップアプリを使う場合: mcpb-0.2.0 リリースから dare-mcp-server-0.2.0.mcpb をダウンロードして開き、求められたら Dare のトークンを貼り付けてください。このサーバーは公式 MCP Registryにも io.github.avi-aggarwal14/dare-mcp-server として掲載されています。
手順 2 の詳細:Dare のトークンを見つける
このサーバーは、ブラウザーに保存された有効期間の長い Clerk の __client Cookie を使って、あなたとしてサインインします。Dare のウェブアプリと同じように、呼び出しごとに新しい 60 秒間有効なセッショントークンを発行します。
- Chrome、Edge、Arc、Brave のいずれかで https://trydare.com にサインインします。
- DevTools を開きます。macOS では Cmd+Option+I、Windows と Linux では F12 を押します。
- Application タブ → Storage → Cookies →
https://clerk.trydare.comの順に開きます。 (Firefox と Safari では、タブ名が Storage になっています。) __clientという名前の行を見つけ、Value をコピーします。eyJで始まる長い文字列です。 名前ではなく、値をコピーしてください。- ウィザードに貼り付けます。ターミナルには入力内容が表示されません。
Cookie の有効期間は約 1 年です。そのため、Dare からサインアウトしない限り、この手順は 1 回だけで済みます。
パスワードと同じように扱ってください。 Dare アカウントへの完全なアクセス権があり、クレジットを消費できます。ウィザードは 0600 の権限で 1 つのファイルに保存し、Claude の設定には書き込みません。そのため、Claude の設定は安全に同期または共有できます。
手動で設定する場合
Claude Code
claude mcp add dare --scope user -- npx -y dare-mcp-server
Claude デスクトップアプリ — 設定ファイルを編集します。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"dare": {
"command": "npx",
"args": ["-y", "dare-mcp-server"]
}
}
}
次に、アプリを終了して再度開いてください。
どちらの設定方法でも、トークンは ~/.dare-mcp/config.json から読み込まれます。代わりに環境変数を渡す場合(CI、コンテナー、共有マシンなど)は、DARE_CLIENT_TOKEN を設定してください。保存済みのファイルより優先されます。設定をご覧ください。
ソースから実行する
git clone https://github.com/avi-aggarwal14/dare-mcp-server.git
cd dare-mcp-server
npm install # builds automatically
npm run setup # same wizard
npx の代わりに node /absolute/path/to/dare-mcp-server/dist/cli.js を実行するよう Claude を設定してください。
動作確認
npx dare-mcp-server check
トークンを発行し、残高を読み取り、ライブラリのアイテムをいくつか一覧表示します。ツールが動作しなくなったときに実行してください。Cookie の期限切れと Dare の障害を最も手早く見分けられます。
まず試してみること
Claude を再起動したら、普通の英語で話しかけてください。
> how many Dare credits do I have?
> what video models can I use, and what do they cost?
> make a 5 second clip of a paper boat going down a rain gutter, cinematic, 16:9
> use ~/shots/hero.png as a reference and animate the character walking toward camera
> what's in my Dare library from this week?
Claude はクレジットを消費する前に見積もりを提示します。また、いつでも最初にドライランをするよう頼めます。
ツール
| ツール | クレジットを消費 | 機能 |
|---|---|---|
dare_list_models | いいえ | 再生時間、品質、アスペクト比、参照素材の上限を含むモデル一覧 |
dare_estimate_cost | いいえ | 実行を確定する前のローカルでのクレジット見積もり |
dare_get_credit_balance | いいえ | 現在の残高 |
dare_generate_video | はい | テキストから動画を生成します。デフォルトは Seedance 2.5 です。参照メディアも指定できます。dry_run: true を指定すると、仕様と料金を無料でプレビューできます |
dare_generate_image | はい | Nano Banana 2、GPT Image 2、Seedream 5 Pro で静止画を生成します。dry_run に対応しています |
dare_get_generation | いいえ | ステータスを確認し、出力 URL を取得します |
dare_list_generations | いいえ | ページ分割された生成履歴一覧 |
dare_cancel_generation | いいえ | 実行中のジョブを停止します |
dare_delete_generation | いいえ | ライブラリから削除します(破壊的操作) |
dare_upload_media | いいえ | 参照用の画像/動画クリップ/音声をアップロードし、storage_key を返します |
dare_list_uploads | いいえ | 以前にアップロードした参照素材の一覧 |
dare_delete_upload | いいえ | アップロードした参照素材を削除します(破壊的操作) |
dare_list_projects | いいえ | Dare プロジェクトの一覧 |
CLI
| コマンド | 機能 |
|---|---|
npx dare-mcp-server setup | 初回実行時の対話型セットアップウィザード |
npx dare-mcp-server check | 認証情報を確認し、クレジット残高を表示します |
npx dare-mcp-server | stdio で MCP サーバーを起動します(Claude が代わりに実行します) |
npx dare-mcp-server http | セルフホスト用のオプションの HTTP トランスポート |
npx dare-mcp-server --help | 上記のすべて |
設定
認証情報は次の順に読み込まれ、最初に見つかったものが使われます。
- 環境変数の
DARE_CLIENT_TOKEN ~/.dare-mcp/config.json(setupによって書き込まれます)
保存されるファイルは通常の JSON 形式なので、直接編集できます。
{
"clientToken": "eyJ...",
"maxCreditsPerCall": 500,
"uploadRoots": ["/Users/you/Movies", "/Users/you/Pictures"]
}
それ以外はすべて環境変数です。
| 変数 | デフォルト | 用途 |
|---|---|---|
DARE_CLIENT_TOKEN | 保存済みの設定から取得 | clerk.trydare.com の __client Cookie です。いずれかの方法で必ず指定してください。 |
DARE_CONFIG_DIR | ~/.dare-mcp | 保存済みの設定ファイルの場所です。 |
DARE_MAX_CREDITS_PER_CALL | 500 | 推定クレジット数がこの値を超える生成を拒否します。0 にすると無効になります。 |
DARE_UPLOAD_ROOTS | —(ブロック) | dare_upload_media がローカルファイルを読み取れるディレクトリをカンマ区切りで指定します。空の場合、ローカルファイルの読み取りは拒否されます。 |
DARE_ALLOW_URL_UPLOADS | true | 公開 URL からのアップロードを許可します。プライベートアドレスとリンクローカルアドレスは常に拒否されます。 |
DARE_MAX_UPLOAD_BYTES | 536870912 | アップロード可能な最大サイズです。 |
DARE_SESSION_TOKEN | — | 有効期限が 60 秒のセッション JWT を直接指定します。テスト専用です。 |
DARE_SESSION_ID | 自動 | 自動検出の代わりに、特定の sess_... ID を固定します。 |
DARE_REQUEST_TIMEOUT_MS | 120000 | リクエストごとのタイムアウトです。 |
DARE_SERVER_URL | https://api.trydare.com | Dare RPC のベース URL です。 |
DARE_CLERK_FAPI_URL | https://clerk.trydare.com | Clerk Frontend API のベース URL です。 |
DARE_MAX_CREDITS_PER_CALL は、モデルが 10 種類のバリエーションを含む 30 秒のバッチ(3,200 クレジット)を自ら提案するような事態を防ぐ、クライアント側のサーキットブレーカーです。デフォルトの 500 では、Seedance 2.5 のクリップを 1 本生成する場合は許可しつつ、制御不能なバッチはブロックします。バッチを実行する場合は、意図的に値を引き上げてください。正確な見積もりができない場合が 1 つあり、その場合は安全側に見積もります。Dare が長さを報告できない動画参照素材は、Dare 自身の想定に従って 30 秒として料金を計算します。このガードはフェイルクローズ方式です。参照クリップの再生時間を読み取れない場合、推測した見積もりで送信するのではなく、生成を拒否します。
DARE_UPLOAD_ROOTS は利便性のためではなく、許可リストです。この設定がない場合、dare_upload_media はローカルパスをすべて拒否します。設定がないと、プロンプトインジェクションを受けたモデルがサーバーに対し、DARE_CLIENT_TOKEN を含むシェル環境や Claude の設定ファイルをアップロードするよう要求するおそれがあるためです。ソース映像が実際に保存されているフォルダーを指定してください。
クレジット費用
Dare では、各ジョブの料金をプロバイダーのドル建て費用に 1.5 を掛け、49.99 ドルあたり 750 クレジットで換算し、1、5、または 10 クレジット単位で切り上げて算出します。サーバーはこの計算式を正確に再現しており、実際の請求額でも確認済みです(4 秒、480p の Seedance 2.5 クリップは予測どおり 20 クレジットでした)。一般的な料金は次のとおりです。
| ジョブ | クレジット |
|---|---|
| Seedance 2.5、4s、480p | 20 |
| Seedance 2.5、8s、720p | 90 |
| Seedance 2.5、10s、720p | 110 |
| Seedance 2.5、30s、480p | 150 |
| Seedance 2.5、30s、720p | 320 |
| Seedance 2.0 Fast、5s、480p | 15 |
| Seedance 2.0、15s、4K | 530 |
| Veo 3.1、8s、1080p | 80 |
| Kling 3.0 Pro、5s | 20 |
| Hailuo 2.3 Pro(固定 6s) | 15 |
| Nano Banana 2 の画像、2K | 4 |
| GPT Image 2、1:1 | 5 |
動画リファレンスを添付すると、Seedance モデルでは料金に 0.6 倍の倍率が適用されます。また、Seedance 2.5 ではリファレンスクリップ自体の秒数分も加算されます。画像および音声のリファレンスは料金に影響しません。
バッチ処理の前に、必ず dare_estimate_cost で費用を確認してください。
リファレンスを使った生成
1. dare_upload_media { file_path: "/Users/you/shots/hero.png" }
-> storage_key: "uploads/abc123..."
2. dare_generate_video {
prompt: "the character from the reference walks toward camera through fog",
reference_storage_keys: ["uploads/abc123..."],
duration_seconds: 8
}
Seedance 2.5 では最大 50 件(画像 30 件、動画 10 件、音声 10 件)のリファレンスを利用できます。各クリップの長さは 2~30 秒で、種類ごとの合計は 30 秒までです。動画リファレンスを添付すると、長さとアスペクト比が自動的に決定されます。Seedance 2.0 モデルでは最大 12 件(9/3/3)、合計 15 秒まで利用でき、音声リファレンスを使う場合は視覚リファレンスも必要です。Veo 3.1 では画像を最大 3 枚まで利用でき、その場合の長さは 8 秒に固定されます。Kling と Hailuo はリファレンスを一切受け付けません。
リモート HTTP(任意)
URL 経由でサーバーをホストするため、ステートレスなストリーム可能 HTTP エントリーポイントが用意されています。
DARE_CLIENT_TOKEN='eyJ...' \
DARE_MCP_BEARER_TOKEN="$(openssl rand -hex 32)" \
PORT=3000 npx dare-mcp-server http
POST /mcp、ヘルスチェックは /health です。実際に費用が発生するツールのため、24 文字以上のベアラートークンがなければサーバーの起動を拒否します。DNS リバインディング保護はデフォルトで有効になっており、localhost のみが対象です。ドメインの背後にデプロイする場合は、DARE_ALLOWED_HOSTS / DARE_ALLOWED_ORIGINS で対象を広げてください。このトランスポートでは、設定にかかわらずローカルファイルのアップロードと URL からのアップロードがどちらも無効になります。
トラブルシューティング
DARE_UNAUTHORIZED — __client Cookie がないか、古くなっているか、そのブラウザーで Dare からサインアウトしています。新しい値を使って npx dare-mcp-server setup を再実行してください。
DARE_UNKNOWN_PROCEDURE — Dare の内部 RPC が変更されています。プロシージャ名は src/dare.ts にあります。Web アプリのネットワークタブで新たにキャプチャした内容と比較してください。
DARE_INSUFFICIENT_CREDITS — エラーに必要なクレジット数と利用可能なクレジット数が表示されます。
DARE_COST_GUARD — 独自に設定した DARE_MAX_CREDITS_PER_CALL の上限が適用されました。意図した動作です。
DARE_REFERENCE_UNKNOWN — リファレンスのストレージキーを解決できず、費用を見積もれませんでした。そのキーが dare_upload_media または dare_list_uploads から取得されたものか確認してください。
DARE_UPLOAD_FORBIDDEN — ファイルが DARE_UPLOAD_ROOTS の対象外であるか、ローカルファイルの読み取りが無効な HTTP トランスポートを使用しています。
セキュリティに関する注意事項
__clientトークンはアカウント全体へのアクセス権を持ちます。これを読み取れるものは、クレジットを消費できます。そのためsetupは、このトークンを同期、バックアップ、またはコミットされることの多い Claude の設定ではなく、~/.dare-mcp/config.jsonに0600の権限で保存します。dare_generate_*の呼び出しは、認証エラーの後に自動再試行されることはありません。Dare の作成エンドポイントには冪等性キーがないため、無条件に再試行すると二重請求になるおそれがあります。- URL からアップロードする際は、まずホストを解決し、ループバック、プライベート、リンクローカル、CGNAT、マルチキャスト、およびそれらに該当する IPv4 マップ/6to4/NAT64 形式を拒否します。DNS リバインディングによって検査を回避されないよう、検証済みのアドレスに接続を固定し、リダイレクトの各段階でも再検査します。
仕組み
Claude Code / desktop / Cowork
│ MCP (stdio)
▼
dare-mcp-server
│ 1. POST clerk.trydare.com/v1/client/sessions/{id}/tokens (__client cookie)
│ -> 60s session JWT, cached 45s
│ 2. POST api.trydare.com/rpc/{procedure} (Bearer JWT)
│ oRPC envelope: { json, meta }
▼
Dare backend
アップロードは 3 段階で行います。storage.generateUploadUrl -> 署名付きストレージへの PUT -> uploads.create。
使用するプロシージャ
| プロシージャ | 入力 |
|---|---|
generations.create | { spec, count, projectId?, metaEventId, timezone } |
generations.get / cancel / delete | { id } |
generations.getMediaInfo | { storageKey } |
libraryItems.list, uploads.list | { cursor, limit } |
storage.generateUploadUrl | { contentType, fileExtension } |
uploads.create | { storageKey, name, prompt, projectId, timezone } |
uploads.delete | { id } |
credits.getBalance, projects.list | 入力なし |
spec には、選択したモデルが宣言するキーだけを含めます。これは Dare のコンポーザーが作成する内容と完全に一致します。
Seedance モデルでは { tool, prompt, model, audioEnabled, aspectRatio, duration, quality, context? } を送信します。
Kling では quality を省略します。Hailuo では { tool, prompt, model } のみを送信します。GPT Image 2 には
quality がありません。duration は "8s" のような文字列で、context は { mediaStorageKeys, webLinkIds } です。また、添付した
すべてのアセットを、プロンプト内で @<storageKey> として参照します。どの組み合わせでも、いずれかの生成ツールで dry_run: true を指定すると、送信せずに spec を確認できます。
エラーはエージェントが対処できるようにマッピングされます。レコードが見つからない場合は DARE_NOT_FOUND、プロシージャの名前が変更されている場合は DARE_UNKNOWN_PROCEDURE、スキーマが一致しない場合は、フィールドごとの問題を含む DARE_BAD_REQUEST になります。
実際の生成ステータスは、実行中は queued と processing、完了時は succeeded または failed です。完成したファイルは generation.outputAsset.storageUrl にあります。認識できないステータスはすべて実行中として扱われるため、処理中のステータス名が変更されても、完了と誤判定されることはありません。
アンインストール
claude mcp remove dare --scope user # Claude Code
rm -rf ~/.dare-mcp # your stored token
デスクトップアプリでは、claude_desktop_config.json から "dare" エントリーを削除してください。それ以外にインストールされるものはありません。npx はパッケージを残しません。
コントリビューション
Issue とプルリクエストを歓迎します。特に、次のような内容をお寄せください。
- Dare のプロシージャ名または
specの形式が変更され、何かが動作しなくなった - 料金が上記の表と異なっている
- Dare のコンポーザーでモデルが追加または削除された
git clone https://github.com/avi-aggarwal14/dare-mcp-server.git
cd dare-mcp-server
npm install
npm run build
npm run check # needs a real token
npm run inspect # MCP Inspector against a local build
CONTRIBUTING.md をご覧ください。__client トークンは有効な認証情報です。Issue、ログ、テスト用フィクスチャには絶対に貼り付けないでください。
作者
ロンドンで Avi Aggarwal が開発しました。スタートアップ向けの UGC エージェンシー、hypjam も運営しています。
ライセンス
MIT。Dare とは提携しておらず、Dare による承認やサポートも受けていません。「Dare」「Seedance」「Veo」「Kling」 および「Hailuo」は、それぞれの所有者に帰属します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。