# Instavar Video Templates and Studio (com.instavar/mcp-server): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/com.instavar%2Fmcp-server/versions/latest)
- Connected to: https://instavar.com/api/mcp/templates
- Homepage: https://instavar.com/remotion
- Repository: https://github.com/instavar/mcp-server
- Scoring rules: v2
- Tools: 20
- Average: 54.7 / 100 (Cloudy)
- Near-identical pairs: 0

This page shows how Instavar Video Templates and Studio (com.instavar/mcp-server)'s tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

## Across the server

- Minor: The server's instructions are 3688 characters. Claude Code reads only the first 2,048 by default (Codex 0.154.0 reads them whole). Put what the server is for first.

## Tools

- `list_carousel_templates`: 38 / 100
  - Major: The description only restates the name (7 words).
  - Major: The description is too short (7 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_carousel_schema`: 45 / 100
  - Major: The description only restates the name (9 words).
  - Major: Says nothing about when to use it, or when not to.
- `prepare_announcement`: 47 / 100
  - Major: Arguments without a description: copy.title, copy.body, copy.cta, project.templateId, project.framework, project.revision, project.copy, edits.title, edits.body, edits.cta.
  - Minor: String arguments with no constraint or example: project.templateId.
  - Minor: No `required` list, so every argument is optional.
- `get_render_instructions`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `scaffold_carousel_deck`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: templateId. Name the tool or the place that returns it, or models look it up first.
- `get_example`: 50 / 100
  - Major: The description only restates the name (9 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: templateId. Name the tool or the place that returns it, or models look it up first.
- `scaffold_video_spec`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: acceptedDesign.style, acceptedDesign.durationSeconds, acceptedDesign.audio, acceptedDesign.illustration, acceptedDesign.exclusions, acceptedDesign.preview.
  - Minor: String arguments with no constraint or example: acceptedDesign.preview.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: templateId. Name the tool or the place that returns it, or models look it up first.
- `propose_video_storyboard`: 51 / 100
  - Minor: Arguments without a description: acceptedDesign.style, acceptedDesign.durationSeconds, acceptedDesign.audio, acceptedDesign.illustration, acceptedDesign.exclusions, acceptedDesign.preview.
  - Minor: String arguments with no constraint or example: acceptedDesign.preview.
  - Minor: Says nothing about what it returns.
- `get_capabilities`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_video_schema`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `list_templates`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `get_template`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: templateId. Name the tool or the place that returns it, or models look it up first.
- `diagnose_render_error`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_creative_guide`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `prepare_video_template`: 57 / 100
  - Minor: Arguments without a description: project.contract, project.framework, project.spec.
  - Minor: String arguments with no constraint or example: project.contract.
  - Minor: No `required` list, so every argument is optional.
- `review_video_project`: 62 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: jobId. Name the tool or the place that returns it, or models look it up first.
- `edit_video_brief`: 64 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: jobId, requestId. Name the tool or the place that returns it, or models look it up first.
- `create_video_brief`: 66 / 100
  - Major: Arguments without a description: visualDirection.communicationJob, visualDirection.emotionalTarget, visualDirection.attentionPath, visualDirection.attentionPath.first, visualDirection.attentionPath.next, visualDirection.attentionPath.proof, visualDirection.visualLanguage, visualDirection.visualLanguage.space, visualDirection.visualLanguage.line, visualDirection.visualLanguage.shape, visualDirection.visualLanguage.tone, visualDirection.visualLanguage.color, visualDirection.visualLanguage.movement, visualDirection.visualLanguage.rhythm, visualDirection.camera, visualDirection.camera.shotSize, visualDirection.camera.angle, visualDirection.camera.movement, visualDirection.camera.lens, steps[].label, steps[].latex, steps[].explanation, scenes[].type, scenes[].durationInFrames, scenes[].narrationText, scenes[].visualResolution, scenes[].visualResolution.intent, scenes[].visualResolution.media, scenes[].visualResolution.source, scenes[].title, scenes[].subtitle, scenes[].text, scenes[].points, scenes[].latex, scenes[].value, scenes[].max, scenes[].label, scenes[].unit, scenes[].prefix, scenes[].suffix, scenes[].decimals, scenes[].color, scenes[].tone, scenes[].iconKey, scenes[].stepNumber, scenes[].totalSteps, scenes[].items, scenes[].items[].label, scenes[].items[].value, scenes[].src, scenes[].caption, scenes[].source, scenes[].generatePrompt, scenes[].generationContract, scenes[].generationContract.globalInvariants, scenes[].generationContract.shotDelta, scenes[].generationContract.referenceBindings, scenes[].generationContract.referenceBindings[].assetId, scenes[].generationContract.referenceBindings[].roles, scenes[].generationContract.prohibitedChanges, scenes[].generationContract.reviewCriteria, scenes[].trimStartSeconds, scenes[].trimEndSeconds, scenes[].playbackRate, scenes[].objectFit, scenes[].objectPosition, scenes[].scaleFrom, scenes[].scaleTo, scenes[].panFromX, scenes[].panToX, scenes[].panFromY, scenes[].panToY, scenes[].routeFrom, scenes[].routeTo, scenes[].routeLabel, scenes[].overlayKind, scenes[].overlayPosition, scenes[].accentColor, scenes[].overlayBackgroundColor, scenes[].cutFlash, scenes[].muted, scenes[].protectedRegionEffects, scenes[].protectedRegionEffects[].id, scenes[].protectedRegionEffects[].kind, scenes[].protectedRegionEffects[].coordinateSpace, scenes[].protectedRegionEffects[].region, scenes[].protectedRegionEffects[].region.leftPercent, scenes[].protectedRegionEffects[].region.topPercent, scenes[].protectedRegionEffects[].region.widthPercent, scenes[].protectedRegionEffects[].region.heightPercent, scenes[].protectedRegionEffects[].startFrame, scenes[].protectedRegionEffects[].endFrame, scenes[].protectedRegionEffects[].speedUpFrame, scenes[].protectedRegionEffects[].color, scenes[].protectedRegionEffects[].thicknessPercent, scenes[].flashAtFrame, scenes[].flashDurationFrames, assetSlots[].id, assetSlots[].sceneId, assetSlots[].region, assetSlots[].role, assetSlots[].kind, assetSlots[].source, assetSlots[].intent, assetSlots[].style, assetSlots[].style.opacity, assetSlots[].style.fit, assetSlots[].style.z, assetSlots[].timing, assetSlots[].timing.fromPct, assetSlots[].timing.toPct, assetSlots[].url, audioLayers[].id, audioLayers[].src, audioLayers[].startFrame, audioLayers[].durationInFrames, audioLayers[].volume, audioLayers[].fadeFrames, audioLayers[].role, directions.subtitle, directions.unitLabel, directions.distanceTimeChip, directions.clips, directions.clips[].src, directions.clips[].trimStartSeconds, directions.clips[].trimEndSeconds, directions.clips[].speed, directions.clips[].mirrorFlip, directions.cues, directions.cues[].atSeconds, directions.cues[].text, directions.cues[].arrow, directions.cues[].step, directions.outro, directions.outro.heading, directions.outro.body, directions.outro.seconds, directions.music, directions.music.perSegment, directions.music.perSegment[].src, directions.music.perSegment[].clipIndexStart, directions.music.perSegment[].hotOffsetSeconds, directions.music.perSegment[].volume, directions.music.crossfadeSeconds.
  - Minor: String arguments with no constraint or example: steps[].label, steps[].latex, steps[].explanation, scenes[].narrationText, scenes[].title, scenes[].subtitle, scenes[].text, scenes[].latex, scenes[].label, scenes[].unit, scenes[].prefix, scenes[].suffix, scenes[].color, scenes[].tone, scenes[].iconKey, scenes[].items[].label, scenes[].src, scenes[].caption, scenes[].generatePrompt, scenes[].objectPosition, scenes[].routeFrom, scenes[].routeTo, scenes[].routeLabel, scenes[].accentColor, scenes[].overlayBackgroundColor, scenes[].protectedRegionEffects[].kind, assetSlots[].intent, directions.subtitle, directions.unitLabel, directions.distanceTimeChip, directions.clips[].src, directions.cues[].text, directions.outro.heading, directions.music.perSegment[].src.
  - Minor: The meaning of the boolean argument scenes[].cutFlash is unclear.
  - Minor: The meaning of the boolean argument scenes[].muted is unclear.
  - Minor: The meaning of the boolean argument directions.clips[].mirrorFlip is unclear.
  - Minor: Required identifiers whose description does not say where the value comes from: requestId. Name the tool or the place that returns it, or models look it up first.
- `get_video_render_status`: 69 / 100
- `list_video_projects`: 74 / 100
  - Minor: No `required` list, so every argument is optional.

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
