io. github. egocen-vivideo/ vivideo
by egocen-vivideo · remote · local (npm) · no sign-in to list tools · v1.0.2 · published by GitHub user egocen-vivideo
AI video generation via the Vivideo API: auto or manual mode, avatars, voices, brand kits.
13 tools: 4 change things and 9 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things4Claude Code: ask: see these tools
- Only reads9Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http vivideo https://api.vivideo.ai/mcp --header 'Authorization: <your-authorization>'Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
13 tools
Changes things 4Claude Code: ask
check_configurationCheck whether a Vivideo API key is present on this request.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Check whether a Vivideo API key is present on this request. Call this FIRST. Returns { configured: boolean }. If false, ask the user to add an Authorization: Bearer vv_live_... header to the MCP server config (a key from https://app.vivideo.ai/account/api-keys). Never asks for or exposes the key.
create_auto_videoCreate a video in AUTO mode: Vivideo writes the script and produces a complete AI-avatar video from your prompt.No findings
Why it is in this group
- The name "create_auto_video" says "create": a word for a change.
Description, as the server wrote it Create a video in AUTO mode: Vivideo writes the script and produces a complete AI-avatar video from your prompt. Returns immediately with a video id and status "processing" (paid) or "preview" (free accounts — see the preview field and upgrade link). Then call wait_for_video or get_video. An Idempotency-Key is sent automatically so a retry never creates a duplicate. Rendering requires a premium plan and credits.
create_manual_videoCreate a video in MANUAL mode: send your prompt straight to a specific model (get ids/options from list_models).No findings
Why it is in this group
- The name "create_manual_video" says "create": a word for a change.
Description, as the server wrote it Create a video in MANUAL mode: send your prompt straight to a specific model (get ids/options from list_models). The operation is inferred from inputs — add image_url for image-to-video. resolution/duration/aspect_ratio must match the model (an invalid value returns a 400 listing what is allowed). Returns a video id and status; then wait_for_video or get_video. Idempotency handled automatically.
estimate_creditsEstimate the credits a generation will cost, from the published per-model rates — BEFORE creating it.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Estimate the credits a generation will cost, from the published per-model rates — BEFORE creating it. This is an estimate, not a charge; the exact amount is returned as credits_charged when you create the video. Use it with check_account to confirm the user can afford the request.
Only reads 9Claude Code: allow
check_accountGet the account plan, premium status, and remaining credit balance.No findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get the account plan, premium status, and remaining credit balance. Use this to decide whether the user can generate a video (rendering needs a premium plan and enough credits). Returns plan, premium, credits, free_video_available, and links (upgrade / buy_credits). Cheap and safe to call often.
get_videoGet a video's current status and result.No findings
Why it is in this group
- The name "get_video" says "get": a word for reading.
Description, as the server wrote it Get a video's current status and result. status is one of queued | processing | completed | failed | preview. When completed, video_url is the MP4. When failed, credits are refunded and error explains why. Cheap; prefer wait_for_video for polling instead of calling this in a tight loop.
list_avatarsList available avatars for auto-mode videos (the stock catalogue plus the account's own avatars).No findings
Why it is in this group
- The name "list_avatars" says "list": a word for reading.
Description, as the server wrote it List available avatars for auto-mode videos (the stock catalogue plus the account's own avatars). Stock avatars are grouped by person, each with a `looks` array — pass a looks[].avatar_id (or an owned avatar's id) as `avatar_id` in create_auto_video. Use `search`/`limit` to keep responses small.
list_brand_kitsList the account's brand kits (logo, colors, fonts, motion style).No findings
Why it is in this group
- The name "list_brand_kits" says "list": a word for reading.
Description, as the server wrote it List the account's brand kits (logo, colors, fonts, motion style). Returns brand_ref ids to pass as `brand_kit_id` in create_auto_video to produce an on-brand video.
list_modelsList the video models available for MANUAL mode plus the auto-generate pipeline (id "vivideo-auto").No findings
Why it is in this group
- The name "list_models" says "list": a word for reading.
Description, as the server wrote it List the video models available for MANUAL mode plus the auto-generate pipeline (id "vivideo-auto"). Each model lists its operations, allowed durations, resolutions, aspect ratios, style presets and per-second credit rate — use these to build a valid create request. Filter with `mode` to keep the response small.
list_videosList the account's videos, newest first.No findings
Why it is in this group
- The name "list_videos" says "list": a word for reading.
Description, as the server wrote it List the account's videos, newest first. Filter by status and limit the count to keep responses small.
list_voicesList available voices for auto-mode videos.No findings
Why it is in this group
- The name "list_voices" says "list": a word for reading.
Description, as the server wrote it List available voices for auto-mode videos. Returns voice ids to pass as `voice_id` in create_auto_video. Filter by language/gender/search and cap with `limit`. Voice cloning is not available via the API.
render_previewFor FREE accounts only: after the user upgrades, render a video that was returned as status "preview".No findings
Why it is in this group
- The name "render_preview" says "preview": a word for reading.
Description, as the server wrote it For FREE accounts only: after the user upgrades, render a video that was returned as status "preview". Charges run on the same project (the first video after upgrading is free). If the video is already rendering/complete, returns its current state. If the account is still free, returns an upgrade_required error with an upgrade link.
wait_for_videoWait for a video to reach a terminal state (completed / failed / preview), then return it.No findings
Why it is in this group
- The name "wait_for_video" says "wait": a word for reading.
Description, as the server wrote it Wait for a video to reach a terminal state (completed / failed / preview), then return it. Polls safely at the API-suggested interval for up to ~20 seconds per call (HTTP requests are time-capped). If it does not finish in time it returns { timed_out: true } with the latest status — simply call it again with the same id to keep waiting. It never blocks indefinitely or over-polls.
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.2. Values in angle brackets are yours to fill in.
claude mcp add --transport http vivideo https://api.vivideo.ai/mcp --header 'Authorization: <your-authorization>'Run in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__vivideo__check_account",
"mcp__vivideo__list_models",
"mcp__vivideo__list_avatars",
"mcp__vivideo__list_voices",
"mcp__vivideo__list_brand_kits",
"mcp__vivideo__get_video",
"mcp__vivideo__wait_for_video",
"mcp__vivideo__list_videos",
"mcp__vivideo__render_preview"
],
"ask": [
"mcp__vivideo__check_configuration",
"mcp__vivideo__estimate_credits",
"mcp__vivideo__create_auto_video",
"mcp__vivideo__create_manual_video"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as vivideo. Review it before you use it.
