关于 Dare
Dare 是通过 Dare 账户生成视频和图像的 MCP 服务,面向 Claude Code、Claude desktop app 和 Cowork 用户。它提供模型查询、积分估算、生成控制和参考媒体工作流,使用账户已有的 Dare 积分。
主要功能
- 01生成视频和图像
- 02查询模型并估算费用
- 03查看积分余额
- 04在生成中使用参考媒体
- 05管理生成任务和素材库
适用场景
- 01预估视频任务的积分成本
- 02根据文本提示生成片段
- 03使用参考图像制作角色动画
- 04查看 Dare 素材库中的近期生成内容
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 网页应用所用的同一私有端点。它目前可用 — 这里的每个工具都已在 Dare 的线上服务器上经过测试,包括完整运行一次生成流程 — 但 Dare 可能随时更改此接口,且使用本服务可能不符合 Dare 的服务条款。你的账户、你的积分,由你决定。
安装
你需要 Node.js 20 或更高版本。使用 node --version 检查;如果出现错误,请从 nodejs.org 安装 LTS 版本(在 Mac 上,也可以运行 brew install node)。
然后在终端中运行一条命令:
npx dare-mcp-server setup
安装就完成了。向导会:
- 告诉你在哪里找到 Dare 令牌(在浏览器中点击四次),
- 使用 Dare 验证令牌并显示你的余额,
- 将令牌保存到
~/.dare-mcp/config.json,并设置仅所有者可访问的权限, - 为你将 Dare 添加到 Claude Code 和/或 Claude 桌面应用中。
完成后重启 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,以你的身份登录。每次调用时,它都会生成一个有效期为 60 秒的新会话令牌,与 Dare 网页应用的做法完全相同。
- 在 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 的有效期约为一年,因此除非你退出 Dare,否则只需执行这一次。
请像对待密码一样保护它。 它授予对 Dare 账户的完整访问权限,并且可以消耗你的余额。向导会将它保存在一个权限为 0600 的文件中,并且有意不将它写入 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
让 Claude 使用 node /absolute/path/to/dare-mcp-server/dist/cli.js,而不是 npx。
检查是否正常运行
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 项目 |
命令行
| 命令 | 功能 |
|---|---|
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 | — | 预先生成的 60s 会话 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 片段,同时阻止失控的批量任务;需要批量生成时,请谨慎调高此值。只有一种情况无法精确估算,此时会采用保守估值:如果 Dare 无法报告视频参考素材的时长,就按 30 秒计价,这是 Dare 自身采用的假设。此保护机制会在无法确定时拒绝执行:如果无法读取参考片段的时长,就会拒绝生成,而不是基于猜测的估算值提交请求。
DARE_UPLOAD_ROOTS 是允许列表,而非便利功能。未设置此变量时,dare_upload_media 会完全拒绝本地路径;否则,受到提示词注入的模型可能会要求服务上传你的 shell 环境或 Claude 配置,其中都包含 DARE_CLIENT_TOKEN。请将其指向实际存放源素材的文件夹。
积分费用
Dare 为每项任务定价:服务商成本(美元)乘以 1.5,再按每 $49.99 兑换 750 积分的比例换算,并向上取整到最接近的 1、5 或 10 积分。服务端严格按照该公式计算;经真实扣费验证(一个 4s、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–30s,每种类型的总时长上限为 30s。附加视频参考后,系统会自动推导时长和纵横比。Seedance 2.0 模型最多可使用 12 个参考(9/3/3),总时长上限为 15s;添加音频参考时还必须同时提供视觉参考。Veo 3.1 最多可使用 3 张图像,生成时长固定为 8 秒。Kling 和 Hailuo 均不接受任何参考。
远程 HTTP(可选)
提供了一个无状态的可流式 HTTP 入口,可通过 URL 托管此服务:
DARE_CLIENT_TOKEN='eyJ...' \
DARE_MCP_BEARER_TOKEN="$(openssl rand -hex 32)" \
PORT=3000 npx dare-mcp-server http
POST /mcp,健康检查路径为 /health。由于这些工具会产生实际费用,服务拒绝在未配置至少 24 个字符的 bearer token 时启动。默认启用 DNS 重绑定防护,且仅限 localhost;若部署在域名后面,可通过 DARE_ALLOWED_HOSTS / DARE_ALLOWED_ORIGINS 扩大允许范围。无论配置如何,此传输方式均会禁用本地文件上传和 URL 上传。
故障排除
DARE_UNAUTHORIZED — 缺少 __client cookie、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会将其以0600权限存储在~/.dare-mcp/config.json中,而不是存入经常同步、备份或提交的 Claude 配置。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
上传分为三个步骤: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,而无需提交。
错误会映射为 Agent 可据此采取行动的类型:记录不存在时为 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 不会留下软件包。
参与贡献
欢迎提交问题和拉取请求,尤其是以下情况:
- 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 令牌粘贴到问题、日志或测试夹具中——这是有效凭据。
作者
由伦敦的 Avi Aggarwal 构建。我还经营着 hypjam,一家面向初创公司的 UGC 代理机构。
许可证
MIT。与 Dare 无关,也未获得 Dare 的认可或支持。“Dare”“Seedance”“Veo”“Kling” 和 “Hailuo” 均归其各自所有者所有。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。