Zvid: render videos & images from JSON; manage templates, projects, webhooks & credits.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
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.
There are exactly two ways to authenticate. Every setup below uses one of them:
| # | Method | Works with | What you need |
|---|---|---|---|
| 1 | OAuth β sign in with your Zvid account (recommended) | Hosted endpoint https://mcp.zvid.io/mcp | A Zvid account and any OAuth-capable Streamable HTTP MCP client. No API key to create or paste. |
| 2 | API key (zvid_β¦) | Hosted endpoint via the X-Api-Key header, or local stdio / self-hosted | A key from app.zvid.io/api-keys; Node.js β₯ 18 for stdio |
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:
X-Api-Key header on https://mcp.zvid.io/mcp β
for programmatic clients that cannot run an OAuth flow, or legacy access.ZVID_API_KEY / --api-key as
shown in Local stdio / self-hosted setup.
The stdio transport is API-key only, because MCP OAuth is defined for HTTP
transports.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).
You can also open /mcp inside Claude Code and authenticate there.
Add this to ~/.codex/config.toml, then authenticate from MCP settings or run
codex mcp login zvid:
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.
The npm/stdio entry point uses an API key (authentication method 2).
Configuration resolution is CLI flags, then environment, then
~/.zvid-mcp.json:
| Env var | CLI flag | Required | Default | Purpose |
|---|---|---|---|---|
ZVID_API_KEY | --api-key zvid_β¦ | stdio only | β | Zvid API key |
ZVID_API_URL | --api-url http://β¦ | no | https://api.zvid.io | Orchestrator base URL |
ZVID_MCP_PROFILE | --profile creator | no | creator | Tool profile |
ZVID_MCP_MAX_RENDER_CREDITS | β | no | 120 | Legacy/fallback hosted limit; dashboard and explicit n8n values take precedence |
ZVID_MCP_MAX_BULK_ITEMS | β | no | 25 | Automation/developer bulk-call item ceiling |
ZVID_MCP_QUOTE_SECRET | β | hosted | process-random | Shared HMAC secret for multi-instance quotes |
For a self-hosted OAuth deployment, keep the resource and issuer identical on both services:
| Service | Variable | Production default |
|---|---|---|
| Orchestrator | OAUTH_ISSUER | https://api.zvid.io |
| Orchestrator | OAUTH_MCP_RESOURCE | https://mcp.zvid.io/mcp |
| Orchestrator | OAUTH_CONSENT_URL | https://app.zvid.io/oauth/authorize |
| MCP | ZVID_MCP_RESOURCE | https://mcp.zvid.io/mcp |
| MCP | ZVID_OAUTH_ISSUER | https://api.zvid.io |
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:
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.
| Profile | Intended use | Surface |
|---|---|---|
readonly | Inspection | get_media, list_media, get_account |
creator | Most users | Quality authoring, libraries, validation, projects/templates and approved renders |
automation | Trusted workflows | Creator tools plus direct renders, capped bulk rendering and webhook operations |
developer | Full API development | Every registered non-destructive/raw tool |
Update and delete tools remain disabled in every profile. Stored webhook
secrets are redacted by get_webhook; only create_webhook returns a new
secret. Bulk calls default to 25 items even though the underlying API can
accept more.
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.
The following low-level capabilities are available only in the profiles described above:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/zvid)<a href="https://allmcps.com/mcp/zvid"><img src="https://allmcps.com/api/badge/zvid?style=directory" alt="Zvid on AllMCPs" /></a>