
Zvid
io.zvid由 zvid.io 发布官方发布者v0.1.0更新于 Nov 2, 2026
Zvid: render videos & images from JSON; manage templates, projects, webhooks & credits.
概览
Zvid 官方 MCP 服务器,让助手根据 JSON 项目数据规划、校验、起草并渲染视频和图片,并管理模板、项目、Webhook 与额度。
- 可以做什么
- 规划创意视频,检索并改编已发布示例与创意库素材
- 搜索图库素材,获取项目 schema、元素文档和示例数据
- 在渲染前校验、检查布局并修复项目 JSON
- 创建草稿、模板和项目,并用变量预览模板
- 渲染视频、图片和批量任务,并跟踪任务状态与产物
- 管理 Webhook,查询额度余额与用量统计
- 适用场景
- 适合让助手根据需求撰写或改编 Zvid 视频与图片项目、在消耗额度前检查数据,或自动化基于模板的渲染与 Webhook 工作流。
- 运行要求
- 托管端点 mcp.zvid.io 支持 OAuth 登录(推荐),或在 X-Api-Key 请求头中提供 API 密钥。本地 stdio 需 Node.js 18 及以上和 ZVID_API_KEY;ZVID_API_URL 可指向其他编排服务。需要 Zvid 账户。
安装
在 SourceWeft 中
- 打开 控制台中的 Zvid,将其添加到工作区。
- 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
- 为需要使用其工具的对话启用该服务。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
交给智能体安装
把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。
阅读 https://sourceweft.com/mcp/io.zvid%2Fmcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。其他 MCP 客户端
把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。
{
"mcpServers": {
"zvid": {
"type": "http",
"url": "https://mcp.zvid.io/mcp"
}
}
}README
@zvid/mcp
Official Zvid agent and MCP server. Creator follows a quality-first workflow: plan the brief, adapt designed examples or library assets, validate exact project JSON, save a reviewable draft, then render only after approval. Automation and Developer add trusted direct operations.
Authentication
There are exactly two ways to authenticate. Every setup below uses one of them:
Method 1 — OAuth sign-in. Add https://mcp.zvid.io/mcp to your MCP client
and sign in when prompted. The endpoint publishes OAuth discovery metadata,
uses authorization code + PKCE with the single scope zvid:mcp, and issues
short-lived access tokens with rotating refresh tokens (revocable per
RFC 7009). This is what the client-specific instructions below use.
Method 2 — API key. Create a key at app.zvid.io/api-keys, then either:
- Hosted: send it in the
X-Api-Keyheader onhttps://mcp.zvid.io/mcp— for programmatic clients that cannot run an OAuth flow, or legacy access. - Local stdio / self-hosted: pass it via
ZVID_API_KEY/--api-keyas shown in Local stdio / self-hosted setup. The stdio transport is API-key only, because MCP OAuth is defined for HTTP transports.
Hosted setup (recommended)
The hosted endpoint is https://mcp.zvid.io/mcp. It accepts both
authentication methods: OAuth sign-in (method 1 — used by the client
instructions below) and an API key in the X-Api-Key header (method 2).
Claude Code
You can also open /mcp inside Claude Code and authenticate there.
OpenAI Codex
Register the server, then authenticate from MCP settings or the command line:
The dashboard stores the default tool profile
and maximum credits per render for MCP clients. A client may connect with
concrete values in the endpoint, for example
https://mcp.zvid.io/mcp?profile=creator&maxRenderCredits=60; this is connection
configuration and cannot be changed by the model during a conversation. The
default per-render credit limit is 120, and the dashboard limit, when set, is a
hard ceiling: the effective limit is the lower of the dashboard value and the
value requested in the endpoint.
The official n8n workflow copies both dashboard defaults into its workflow JSON when downloaded. Each workflow can then choose another concrete profile and credit ceiling locally without updating the dashboard or any other workflow.
Local stdio / self-hosted setup
The npm/stdio entry point uses an API key (authentication method 2).
Configuration resolution is CLI flags, then environment, then
~/.zvid-mcp.json:
For a self-hosted OAuth deployment, keep the resource and issuer identical on both services:
The orchestrator also accepts OAUTH_ACCESS_TOKEN_TTL_SECONDS and
OAUTH_REFRESH_TOKEN_TTL_SECONDS; their defaults are one hour and 30 days.
From a checkout:
Default Creator workflow
The default creator profile is the former Advanced authoring surface. It exposes
planning, designed examples, creative-library search, stock media, schema/docs,
repair, validation, projects and templates alongside approval-aware draft tools.
Creator deliberately rejects create_media and revise_media calls that omit the
complete project payload. This prevents a weak model from improvising a poor
layout from a brief. The agent must plan, adapt or assemble an exact payload,
validate it remotely, fix every error and layout warning, and only then save the
draft. create_media remains non-spending; render_media still requires the
user-approved signed quote.
When the user asks for a reusable template rather than a one-off video or
image, create_media_template saves a parameterized project — a top-level
variables object of safe defaults referenced via {{name}} placeholders —
as a persistent tpl_… template. It returns the declared variables, a credit
estimate for rendering the untouched defaults, and an editor deep link
(https://editor.zvid.io/?template=<id>). create_media_from_template then
instantiates the template with new variable values as an approval-gated draft
with a signed quote. Neither call spends credits. In the creator profile
create_media_template requires the complete parameterized payload, mirroring
create_media.
Rendering is deliberately separate from drafting. Quote tokens are HMAC-signed, expire after 15 minutes, bind the draft ID, project version, canonical payload hash, media type and estimated credits, and are revalidated immediately before submission. An idempotency UUID prevents retry duplication.
Capability profiles
Update and delete tools remain disabled in every profile. Stored webhook
secrets are redacted by get_webhook; only create_webhook returns a new
secret. MCP bulk calls normally allow at most 25 items, subject to account limits. The direct REST API's 500-item hard cap does not raise this tool ceiling; split work into appropriately sized batches.
The server also publishes four user-invoked workflow prompts (product promo,
social reel, thumbnail and square post) and safe MCP resources at
zvid://authoring/guidelines and zvid://account/summary.
Creator, Automation and Developer tools
The following low-level capabilities are available only in the profiles described above:
Schema-aware authoring
The schema tools use a shared module (../schema, vendored as src/zvidSchema.ts) that is maintained alongside backend validation and parity-tested against it. get_project_schema prefers the current caller-plan-aware endpoint. A result marked live: false is a bundled fallback, not proof of the current account's limits. Use validate_project_json with remote: true to validate the exact project before rendering. Local schemas cannot prove that remote media will download or that a composition is visually correct.
The server also advertises this workflow as MCP instructions, so compliant clients receive it at initialize time. The example-first flow for an AI client authoring a video:
plan_creative_videowith the brief, format, duration, brand and variation mode. The response includes rankedlibraryCandidatesand a decision.- Decision
adapt-example: inspect the example withstart_from_example, then provide new variable values tocreate_media_from_exampleto save a reviewable draft and receive a credit quote. Preserve its layout and animation unless the task requires changes. Supported variables, conditions and iteration resolve in inline projects as well as stored templates; a stored template is useful for reuse, not a prerequisite for substitution. - Decision
assemble-similar(or nothing close on inspection): assemble the planned scene recipes from the returneddesign-templates,canvas-presetsandshapesmodules (orsearch_creative_library). Never force an unrelated full-video template. - Use
search_stock_mediafor topic-specific visuals and music for each scene — full-qualitysrcURLs, natural size ≥ the canvas. - When composing, call
get_project_schema/list_supported_elements/get_element_docsfor the exact shape. - Run
validate_project_json(addremote: trueto check against the caller's real plan) and fix every error and layout warning. Userepair_project_jsononly for mechanical mistakes. - In the default Creator profile, save the exact validated payload with
create_media(or use the template/example draft tools). Review the draft and quote, revise if needed, and callrender_mediawith the approved quote token. Track the result withget_mediaorget_renderuntil completion. In Automation/Developer, directcreate_render,create_image_renderandrender_from_examplecalls submit immediately and spend credits; they do not create a pre-render draft for approval.
For stills or quick "make something like X" requests without a full plan, start at find_matching_examples (type: "image" for stills).
Variation behavior:
consistentderives a stable seed from the brief (or acceptsvariationSeed) for reproducible automations.freshproduces one new direction and expects recent library assets to be excluded.explorereturns 2-5 materially different style/layout/storyboard directions, not recolors of one payload.
For a reusable template, replace the final render with create_template. Later use get_template to inspect it, preview_template before rendering, and duplicate_template for a safe editable copy. Update and delete mutations are intentionally not exposed as MCP tools.
Example prompts
- "Create a valid Zvid JSON payload for a 10-second promo video with a headline and background music."
- "Plan three genuinely different 9:16 creative directions for this product launch, avoid these recently used example slugs, then build the strongest one."
- "Validate this payload before rendering and explain anything that's wrong."
- "Show me the required fields for a TEXT visual."
- "What subtitle animation modes does Zvid support?"
- "This payload fails — repair it and tell me what you changed."
- "Render a 1080p video from template tpl_… with title 'Summer Sale' and give me the link when it's done."
- "Preview template tpl_… with these variables and tell me if anything fails validation."
- "Create a webhook pointing at https://example.com/hooks/zvid for completed and failed renders."
- "How many credits do I have left, and what did I spend this month?"
Webhook signature verification
Registered webhook deliveries are signed: X-Zvid-Signature: sha256=<hex> where the hex value is HMAC_SHA256(secret, "<X-Zvid-Timestamp>.<raw body>"). Save the secret (whsec_…) returned once by create_webhook; get_webhook redacts it. Verify the original raw request bytes before parsing the event.
Per-request webhookUrl callbacks are not signed and do not share the registered webhook secret. Both callback types use an event envelope; see webhook documentation for the exact body and verification guidance.
Development
Publishing (manual)
@zvid/mcp 0.1.0 was available on npm when checked on 22 September 2026. The hosted service and a particular installed npm version may expose different revisions; query the connected client's actual capabilities.
npm. Bump version in package.json, then npm publish from mcp/ (public access is set via publishConfig). The prepublishOnly hook builds dist/.
Official MCP Registry (registry.modelcontextprotocol.io) — lists the server for discovery in MCP-aware clients. It reads server.json; ownership of the io.zvid/* namespace is proven with a DNS TXT record on zvid.io (or switch the mcpName/server.json name to io.github.Zvid-io/zvid-mcp to verify via GitHub instead). After npm publish:
Keep versions in sync on every release — a mismatch blocks the registry publish. Update all three together: package.json version, server.json version, and server.json packages[0].version. The server name must match in both files: package.json mcpName == server.json name.
Community and support
Join the Zvid community on Discord to ask questions, discuss video automation workflows, and share what you build. For private account or billing questions, contact us at https://zvid.io/contact.
来源:README.md,提交 e5d2aad
工具
0版本历史
1- v0.1.0最新Sep 16, 2026
评分
已满足适用检查项的 75%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通必需25 分
- 已声明认证方式必需10 分
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
请在仓库或注册中心条目中声明许可证。