@instavar/mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| INSTAVAR_API_KEY | Yes | Your API key from https://instavar.com/studio/settings | |
| INSTAVAR_BASE_URL | No | Override the API host (default: https://instavar.com) | https://instavar.com |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_capabilitiesA | Call first. Reports free local features and optional account features. |
| list_templatesA | List public templates, optionally filtered by aspect ratio. |
| get_templateB | Get one public template contract. |
| get_video_schemaA | Return the public VideoSpec JSON Schema. |
| get_exampleA | Return a starter example for one template. |
| scaffold_video_specA | Return a deterministic VideoSpec skeleton without writing files. |
| get_render_instructionsC | Return clone, install, validate, preview, and render commands. |
| diagnose_render_errorB | Classify a local validation or render error. |
| list_jobsA | 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_statusA | 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_stateA | 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_metricsA | 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_summaryA | 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_workflowA | Inspect the current Studio workflow and its version history for a job. |
| create_video_briefA | 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_briefA | 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_workflowA | 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_workflowA | Create a new workflow version by recursively merging a patch into the current version. |
| validate_workflowA | Validate and compile the inspected workflow version without rendering or publishing it. |
| preview_workflowA | Return the current workflow's compiled UniversalVideo brief for a safe pre-render preview. |
| compare_workflowsB | Compare two durable workflow versions field by field. |
| approve_workflowA | Validate and approve the inspected workflow version. This does not approve or publish the video job. |
| retry_video_qaA | 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_qaA | 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_narrationA | 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_jobA | 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_jobA | 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_accountA | 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_statusA | Poll a pending account connection started by connect_account. Returns status 'pending' | 'connected' | 'expired', plus the connected account label once connected. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/instavar/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server