关于 VidFare
VidFare MCP 服务提供视频生成模型的公开价格目录查询,面向需要比较模型价格或估算片段费用的客户端。它还可列出优惠,并在结果中附上来源和最后检查日期;未标明的价格不会被推算填入。
主要功能
- 01列出视频模型
- 02查询模型价格
- 03估算片段费用
- 04比较最低价选项
- 05按状态查看优惠
适用场景
- 01查询指定模型和分辨率价格
- 02估算特定时长视频片段成本
- 03比较相同条件下的低价选项
- 04查看当前或即将推出的优惠
MCP 相关
它通过 Streamable HTTP 在 `/mcp` 提供五个只读工具,无需身份验证;结果包含来源网址和最后检查日期。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.vidfare.com/mcpclaude mcp add --transport http com-vidfare-vidfare https://mcp.vidfare.com/mcp{"mcpServers":{"com-vidfare-vidfare":{"type":"http","url":"https://mcp.vidfare.com/mcp"}}}在 Cursor 中打开{"servers":{"com-vidfare-vidfare":{"type":"http","url":"https://mcp.vidfare.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"com-vidfare-vidfare":{"type":"http","url":"https://mcp.vidfare.com/mcp"}}}{"mcpServers":{"com-vidfare-vidfare":{"serverUrl":"https://mcp.vidfare.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
VidFare MCP 服务
VidFare 价格目录的公开、只读模型上下文协议服务。它在 /mcp 提供 Streamable HTTP,无需身份验证。ChatGPT、Claude 或 Cursor 等客户端可以列出模型、读取价格、估算片段费用并列出优惠。每项结果都包含 VidFare 来源 URL、最后核查日期和 vidfare.com 页面链接。这些 vidfare.com 链接还带有 utm_source=mcp&utm_medium=tool&utm_campaign=vidfare_mcp。
Worker 已在 https://mcp.vidfare.com/mcp 上线。请勿在此代码库中运行 wrangler login 或 wrangler deploy。
数据
Worker 仅获取:
https://vidfare.com/data/prices.jsonhttps://vidfare.com/deals.json(同一 JSON 也发布在/data/deals.json)
响应会缓存 5 分钟。如果获取失败,或目录未说明请求所需的价格,工具会如实说明,不会补填数字。
工具
| 工具 | 参数 |
|---|---|
list_models | 无 |
get_model_prices | model(必需)、provider、resolution |
estimate_cost | model、seconds(必需)。可选:resolution、audio(with、without、on、off)、input(t2v、i2v、ref2v、v2v、extend、lip-sync)、plan、provider、used(1–100,默认值为 100)、apply_deals(默认值为 false)、window_seconds(默认值为 60) |
cheapest_options | seconds、resolution(均为必需)。可选:audio、input、used、apply_deals |
list_deals | status:live(默认值)、upcoming、ended 或 all |
名称不属于上述五种工具之一的 tools/call 会返回 isError: true 的工具结果。文本会列出这五种工具,提示模型调用 tools/list,并链接到 https://vidfare.com/mcp/。structuredContent 中也包含相同字段:requested_tool(已清理)、valid_tools、hint(tools/list)和 docs。回显的名称会移除控制字符,仅保留 A-Z、a-z、数字、_、. 和 -,并截断至 64 个字符。
服务协商使用协议 2025-11-25。该修订版会将未知工具列为 JSON-RPC 错误 -32602。此 Worker 则返回工具结果。Claude Desktop 会将 JSON-RPC 错误替换为通用提示行,因此模型看不到工具列表。规范规定,客户端应将 isError 文本提供给模型。Cursor 和 Claude Code 可以读取协议错误的消息;Claude Code 会丢弃 error.data,因此列表会放在文本中。
仅大小写不同,或仅连字符、下划线和空格不同的名称,会调用实际工具。也支持驼峰命名:cheapest-options、CheapestOptions 和 GET_MODEL_PRICES 都能正确解析。分隔符会被移除,剩余字母和数字必须与规范名称一致。句点、任何其他字符或不同拼写都无法匹配。不进行编辑距离匹配。tools/list 仍会返回五个规范名称。所有五种工具都保持只读。
estimate_cost 使用与积分计算器(scripts/variations.py)相同的行筛选条件,以及与计算器脚本相同的套餐计算方法:套餐价格 ÷ 积分数 × 每个片段所需积分数,再除以实际使用积分的占比。API 行的费用为计费秒数乘以标明的每秒美元价格。scripts/test_mcp_parity.py 会检查这些计算是否与网站代码一致。
使用次数统计
每个请求会针对每条 JSON-RPC 消息写入一个 Workers Analytics Engine 数据点。最多包含 20 条消息的批次每条消息写入一个数据点。更长的批次会写入一个 method 为 batch 的数据点。写入方式为 env.USAGE?.writeDataPoint(...),不会使用 await。绑定缺失或调用抛出错误时会忽略,因此日志记录不会改变响应。Workers Analytics Engine 提供免费套餐。数据集会在首次写入时创建。没有公开的统计信息 URL。
此布局启用前写入的数据点使用 blob1 作为工具名称,使用 blob2 表示 success 或 error。新数据点会将 blob8 设为 v2。下方查询会将这两种布局分开处理。
index1 是 JSON-RPC 方法分类,是采样键。它不是个人、地址或客户端名称。
| 字段 | 值 |
|---|---|
blob1 method | initialize、tools/list、tools/call、notifications/*、other 或 batch |
blob2 tool | 对于 tools/call,为规范工具名称;否则为 unknown。别名会以对应的规范名称存储。不会存储原始写法。对于所有其他方法,值为 none |
blob3 client | 粗略的客户端分类,最多 40 个字符。见下文 |
blob4 args | 对于 tools/call,为逗号分隔的参数名称,例如 model,seconds。没有参数时为空。绝不存储参数值 |
blob5 http | GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS 或 other |
blob6 status | 2xx、3xx、4xx、5xx 或 other |
blob7 probe | 当用户代理分类为已知探测器时为 1,否则为 0 |
| double1 | 与上述相同的探测器标记,数值为 1 或 0 |
| blob8 | 布局标记 v2 |
| blob9 | 当 tools/call 使用了安全别名时为 alias。对于其他所有 v2 行均省略,因此 blob1–blob8 保持原位 |
对于 initialize,如果 params.clientInfo.name 和短版本存在,blob3 就取自这两者。名称会转为小写,标点会替换为连字符,标签会截断至 40 个字符。可识别的产品会归入固定分类,例如 ai:cursor、ai:claude、ai:chatgpt 或 ai:openai。电子邮件地址、IP 或 UUID 会归入 other。其他所有请求则使用用户代理分类,且绝不存储原始用户代理。
用户代理分类:
probe:<name>用于目录和存活探测:mcpbeat、AgentRank、alalanet、histor、EveryMCP、mcptry、Glama、MCPWatch 及类似的检查器(Smithery、PulseMCP、mcp.so、UptimeRobot、Pingdom、Checkly、StatusCake、Better Stack、kube-probe、GoogleHC)。ai:<name>用于已知的 AI 客户端:ChatGPT、OpenAI、Claude、Anthropic、Cursor、Copilot、Perplexity、Windsurf、Gemini、DeepSeek、Mistral、Grok、Cline、Replit、Devin、Aider。generic:<lib>用于 node、python-httpx、python-requests、Go-http-client、undici、coda-agent-runtime、Talaria 和 curl。- 若均不匹配,则为
other。
likely_probe 依据用户代理分类,即使 initialize 同时发送了客户端名称也是如此。空用户代理归为 other,不视为探测器。
不存储:IP 地址、原始用户代理、任何其他标头、请求或响应正文、参数值、问题、会话 ID、国家/地区以及原始工具名称。未知名称归入 unknown 分类。别名会存储为规范工具名称,并将 blob9 设为 alias。计数统计的是请求,而不是不重复的个人、访问次数或赞助商曝光次数。每次重试都会增加一次计数。带有 X-VidFare-Test: 1 的请求,以及发往 localhost 或 127.0.0.1(wrangler dev)的请求,都不会写入。
wrangler.jsonc 将 USAGE 绑定到数据集 vidfare_mcp_usage。部署此绑定会使用现有的 Worker 部署令牌(Workers Scripts Edit 或 Workers Admin、Workers Routes Edit 和 Zone Read)。无需 Analytics Read,但读取计数需要此权限。请创建一个单独的令牌,权限为 Account → Account Analytics → Read,并将其范围限定为 VidFare 账户。不要将此令牌放入代码仓库。
按方法、工具和客户端分类统计过去 7 天的每日计数,并区分探测器和非探测器。计数为 SUM(_sample_interval):
curl "https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/analytics_engine/sql" \
--header "Authorization: Bearer <API_TOKEN>" \
--data "SELECT toDate(timestamp) AS day, blob1 AS method, blob2 AS tool, blob3 AS client, SUM(_sample_interval) AS requests, SUM(_sample_interval * double1) AS probes, SUM(_sample_interval) - SUM(_sample_interval * double1) AS non_probes FROM vidfare_mcp_usage WHERE blob8 = 'v2' AND timestamp > NOW() - INTERVAL '7' DAY GROUP BY day, method, tool, client ORDER BY day, method, tool, client"
scripts/mcp_usage.py 运行的也是同一个查询(默认 30 天):
CLOUDFLARE_ACCOUNT_ID=... CLOUDFLARE_API_TOKEN=... python3 scripts/mcp_usage.py
本地
cd mcp-server
npm install
npm test
npx wrangler dev
wrangler dev 仅在此计算机上运行,不会进行部署。
Cursor 可以使用 mcp-server/.mcp.json。在项目的 .cursor/mcp.json 中放入相同的 JSON。URL 为 https://mcp.vidfare.com/mcp。
注册表
server.json 是 MCP 注册表文档。名称为 com.vidfare/vidfare。远程服务使用 streamable-http,地址为 https://mcp.vidfare.com/mcp。
com.vidfare 的命名空间验证方式为 HTTP。该站点会在 https://vidfare.com/.well-known/mcp-registry-auth 提供已发布的证明记录。该文件只有一行:v=MCPv1; k=ed25519; p=<public key>。私钥不在此仓库中。
站点构建会将该文件复制到 dist/.well-known/,并写入 dist/.nojekyll。除非将 include-hidden-files 设为 true,否则 actions/upload-pages-artifact 会忽略点路径。两个部署工作流都设置了该选项,因此该 URL 会返回 200,且不会发生重定向。
后续部署
令牌、一个 Cloudflare 账户(拥有 vidfare.com 的账户)和一个区域(仅 vidfare.com):
| 范围 | 权限 | 原因 |
|---|---|---|
| 账户,Workers 产品 | Workers Admin | 首次运行 wrangler deploy 会创建 Worker。只能编辑现有 Worker 的令牌无法创建此 Worker。在旧版令牌表单中,此权限仍标记为 Account → Workers Scripts → Edit;该旧版权限也可以创建脚本。如果显示新版角色选择器,请在 Workers 产品下选择 Workers Admin,而不是 Editor。 |
区域 vidfare.com | Workers Routes → Edit | 绑定自定义域名 mcp.vidfare.com。当前文档将其称为 Workers Routes Write。 |
区域 vidfare.com | Zone → Read | Wrangler 会查询 vidfare.com 的区域 ID。 |
不要添加 Workers KV、R2、Tail、Account Settings、DNS 或用户成员资格权限。唯一的绑定是 Analytics Engine 数据集 vidfare_mcp_usage。
在控制面板中为 vidfare.com 创建 DNS 记录(上面的令牌无法编辑 DNS):
| 类型 | 名称 | 内容 | 代理 |
|---|---|---|---|
| AAAA | mcp | 100:: | 已代理 |
这是 Worker 自定义域名使用的代理主机名。wrangler.jsonc 将路由设置为自定义域名 mcp.vidfare.com。记录创建后,在此目录中运行 npx wrangler deploy 即可发布 Worker。环境中仍需设置 CLOUDFLARE_API_TOKEN,不要将其放入仓库。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。