com.instavar/mcp-server
Instavar Studio MCP server — drive the full video create→render→approve→publish→metrics workflow from Claude Code or Codex with an API key.
Versions
0.1.3latest0.3.0Tools 29
get_capabilities Call first. Reports free local features and optional account features.
list_templates List public templates, optionally filtered by aspect ratio.
get_template Get one public template contract.
get_video_schema Return the public VideoSpec JSON Schema.
get_example Return a starter example for one template.
scaffold_video_spec Return a deterministic VideoSpec skeleton without writing files.
get_render_instructions Return clone, install, validate, preview, and render commands.
diagnose_render_error Classify a local validation or render error.
list_jobs List recent video jobs for the current organization (newest first). Start here to discover job IDs; for one job's full detail use get_job_status.
get_job_status Get detailed status for a job: runs, artifacts, verifications, plus the current video and thumbnail URLs. The main polling target after create_video_brief or edit_video_brief; for post-publish engagement numbers use get_job_metrics instead.
get_video_state Get the materialized video state for a job (composition decisions: scenes, duration, aspect ratio, etc.). Use it to inspect what the video contains; for pipeline progress and video URLs use get_job_status.
get_job_metrics Get the latest platform engagement metric snapshots for a published job (newest first). Read-only. Only meaningful after publish_job; for render progress use get_job_status.
get_cost_summary Query production infrastructure costs (Lambda, RunPod, R2, WaveSpeed, PoYo), optionally with reconciliation drift. This is spend data, not engagement — for a published job's audience numbers use get_job_metrics.
inspect_workflow Inspect the current Studio workflow and its version history for a job.
create_video_brief Create a new video job from a structured brief and trigger the render pipeline. Returns the job and run IDs immediately; rendering continues asynchronously (typically a few minutes) — poll get_job_status until draft_ready. Requires a key with write scope. To change an existing job, use edit_video_brief instead of creating a duplicate.
edit_video_brief Edit an existing job's brief (only provided fields change). Changing the script, caption, title, lessonTitle, objective, steps, scenes, aspectRatio or voiceId triggers a re-render and returns the new run ID; objective also re-routes the composition. Changing only publishTarget updates the job's target platform without re-rendering. For a brand-new video use create_video_brief.
draft_workflow Create a durable Documentary Journey or Transformation Montage workflow version. Inspect first and pass its current version, or 0 only when no workflow exists.
patch_workflow Create a new workflow version by recursively merging a patch into the current version.
validate_workflow Validate and compile the inspected workflow version without rendering or publishing it.
preview_workflow Return the current workflow's compiled UniversalVideo brief for a safe pre-render preview.
compare_workflows Compare two durable workflow versions field by field.
approve_workflow Validate and approve the inspected workflow version. This does not approve or publish the video job.
retry_video_qa Retry the default QA evaluator against the same current frozen video. Use only when get_job_status recommends retryTarget qa_only, or when QA is missing, unavailable, or parse-degraded. This does not regenerate media and cannot clear publish gates by itself.
audit_video_qa Run Qwen3.6-Plus as an advisory second evaluator against the same current frozen video. Use only on an explicit request for another model, second opinion, or evaluator escalation. The result is separate from default QA and has no publish-gate effect.
regenerate_narration Regenerate narration from the unchanged durable brief and then regenerate its dependent video in a paid adaptation run. Use only on an explicit user request or when get_job_status recommends retryTarget tts. This is an audio_and_video cascade, consumes rerender quota, and requires fresh QA.
approve_job Approve a rendered job so it becomes publishable (draft_ready/awaiting_review/needs_changes -> approved) and revoke active review links. Required before publish_job will accept the job.
publish_job Publish an APPROVED job to its connected social destination via the gated publish API. All production gates run (paid plan, ownership, abuse, QA, disclosure, destination, rights, moderation). Requires a key with publish scope; the post goes live on the external platform and cannot be recalled by the API. For YouTube pass youtubePrivacyStatus:'private' for safe runs.
connect_account Start connecting a social account headlessly (no local browser needed). Returns an approve URL + a short confirm code: open the URL in a browser signed in to Instavar, check the code matches THIS terminal, and approve. Then poll connect_account_status with the returned pairingId until it reports 'connected'.
connect_account_status Poll a pending account connection started by connect_account. Returns status 'pending' | 'connected' | 'expired', plus the connected account label once connected.
Permissions 2
network medium env_vars low