# ai.switchapp/switch: tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/ai.switchapp%2Fswitch/versions/latest)
- Connected to: https://mcp.switchapp.ai/mcp
- Homepage: https://www.switchapp.ai/
- Scoring rules: v2
- Tools: 133
- Average: 55.8 / 100 (Cloudy)
- Near-identical pairs: 3

This page shows how ai.switchapp/switch'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

- Major: 133 tools. Above 40, models choose less accurately.
- Minor: The server's instructions are 8578 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

- `cancel_editor_run`: 24 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: run_id.
  - Minor: String arguments with no constraint or example: run_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: run_id. Name the tool or the place that returns it, or models look it up first.
- `rename_folder`: 27 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: folderId, name.
  - Minor: String arguments with no constraint or example: folderId, name.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: folderId. Name the tool or the place that returns it, or models look it up first.
- `approve_editor_run`: 32 / 100
  - Major: Arguments without a description: run_id, quote_id, approved.
  - Minor: String arguments with no constraint or example: run_id, quote_id.
  - Minor: The meaning of the boolean argument approved is unclear.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: run_id, quote_id. Name the tool or the place that returns it, or models look it up first.
- `create_folder`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: name.
  - Minor: String arguments with no constraint or example: name.
  - Minor: Says nothing about what it returns.
- `search_my_library`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: query, folderId.
  - Minor: String arguments with no constraint or example: query, folderId.
  - Minor: Says nothing about what it returns.
- `upscale_video`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: confirmed_quotes[].tokens, confirmed_quotes[].fingerprint.
  - Minor: String arguments with no constraint or example: confirmed_quotes[].fingerprint.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `add_editor_library_assets`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id, asset_ids. Name the tool or the place that returns it, or models look it up first.
- `delete_my_folder`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: folderId.
  - Minor: String arguments with no constraint or example: folderId.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: folderId. Name the tool or the place that returns it, or models look it up first.
- `add_sound_to_video`: 42 / 100
  - Minor: Arguments without a description: cues[].sound_id, cues[].sound_url, cues[].at_seconds, cues[].volume.
  - Minor: String arguments with no constraint or example: cues[].sound_id, cues[].sound_url.
  - Minor: Says nothing about what it returns.
- `contact_sheet`: 42 / 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: project_id. Name the tool or the place that returns it, or models look it up first.
- `create_editor_project`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: name.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `delete_brand_kit`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `export_layer_set`: 42 / 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: layer_set_id. Name the tool or the place that returns it, or models look it up first.
- `frame_at`: 42 / 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: project_id. Name the tool or the place that returns it, or models look it up first.
- `get_editor_run`: 42 / 100
  - Major: Arguments without a description: run_id.
  - Minor: String arguments with no constraint or example: run_id.
  - Minor: Required identifiers whose description does not say where the value comes from: run_id. Name the tool or the place that returns it, or models look it up first.
- `list_editor_projects`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `quote_shot_log`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `delete_editor_project`: 45 / 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: project_id. Name the tool or the place that returns it, or models look it up first.
- `delete_layer_set`: 45 / 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: layer_set_id. Name the tool or the place that returns it, or models look it up first.
- `flatten_layer_set`: 45 / 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: layer_set_id. Name the tool or the place that returns it, or models look it up first.
- `get_editor_export`: 45 / 100
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id, export_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id, export_id. Name the tool or the place that returns it, or models look it up first.
- `get_layer_set`: 45 / 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: layer_set_id. Name the tool or the place that returns it, or models look it up first.
- `place_on_editor_timeline`: 45 / 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: project_id. Name the tool or the place that returns it, or models look it up first.
- `premiere_cancel_edit`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: requestId.
  - Minor: Says nothing about what it returns.
- `premiere_edit_status`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: requestId.
  - Minor: Says nothing about what it returns.
- `show_generation`: 45 / 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: taskId. Name the tool or the place that returns it, or models look it up first.
- `update_layer_set`: 45 / 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: layer_set_id. Name the tool or the place that returns it, or models look it up first.
- `get_editor_project`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `video_to_prompt`: 46 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `delete_voice`: 48 / 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: voice_id. Name the tool or the place that returns it, or models look it up first.
- `stitch_videos`: 49 / 100
  - 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: clip_asset_ids. Name the tool or the place that returns it, or models look it up first.
- `aftereffects_cancel_edit`: 50 / 100
  - Minor: Arguments without a description: requestId.
  - Minor: Says nothing about what it returns.
- `analyze_video`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `delete_my_asset`: 50 / 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: asset_ids. Name the tool or the place that returns it, or models look it up first.
- `delete_my_audio`: 50 / 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: generation_ids. Name the tool or the place that returns it, or models look it up first.
- `delete_my_videos`: 50 / 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: video_ids. Name the tool or the place that returns it, or models look it up first.
- `get_brand_kit`: 50 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `list_editor_workflows`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `load_video_workflow`: 50 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `save_brand_kit`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `check_balance`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `explore_models`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `export_shot_log`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `get_vision_report`: 52 / 100
  - 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: report_id. Name the tool or the place that returns it, or models look it up first.
- `isolate_voice`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `list_my_videos`: 52 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `list_upscalers`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `premiere_list_connections`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `premiere_read_timeline`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `premiere_request_edit`: 52 / 100
  - Minor: The description is long (508 words). It helps selection but costs steps and tokens.
  - Major: Arguments without a description: requestId, projectId, sequenceId, revision, text, operation, operations, operations[].kind, operations[].kind, operations[].kind, operations[].name, operations[].kind, operations[].bin, operations[].kind, operations[].media, operations[].bin, operations[].kind, operations[].media, operations[].at, operations[].video, operations[].audio, operations[].kind, operations[].media, operations[].at, operations[].video, operations[].audio, operations[].kind, operations[].clip, operations[].end, operations[].kind, operations[].clip, operations[].at, operations[].kind, operations[].clip, operations[].start, operations[].kind, operations[].clip, operations[].at, operations[].kind, operations[].clip, operations[].ripple, operations[].kind, operations[].clip, operations[].enabled, operations[].kind, operations[].clip, operations[].name, operations[].kind, operations[].at, operations[].name, operations[].comment, operations[].duration, operations[].kind, operations[].clip, operations[].effect, operations[].params, operations[].kind, operations[].clip, operations[].transition, operations[].side, operations[].duration, operations[].alignment, operations[].singleSided, operations[].kind, operations[].clip, operations[].language, operations[].kind, operations[].preset, operations[].filename, operations[].kind, operations[].asset, operations[].bin, operations[].at, operations[].video, operations[].audio, operations[].kind, operations[].at, operations[].kind, operations[].clip, operations[].text, operations[].at, operations[].template, operations[].duration, operations[].kind, operations[].media, operations[].at, operations[].video, operations[].audio, operations[].kind, operations[].clip, operations[].in, operations[].out, operations[].kind, operations[].clip, operations[].side, operations[].kind, operations[].clip, operations[].effect, operations[].kind, operations[].clip, operations[].effect, operations[].index, operations[].params, operations[].kind, operations[].clip, operations[].effect, operations[].params, operations[].kind, operations[].clip, operations[].effect, operations[].setting, operations[].at, operations[].value, operations[].interpolation, operations[].kind, operations[].clip, operations[].effect, operations[].setting, operations[].at, operations[].from, operations[].to, operations[].kind, operations[].clip, operations[].effect, operations[].setting, operations[].enabled, operations[].kind, operations[].media, operations[].in, operations[].out, operations[].kind, operations[].media, operations[].name, operations[].in, operations[].out, operations[].kind, operations[].media, operations[].bin, operations[].color, operations[].kind, operations[].media, operations[].frameRate, operations[].pixelAspect, operations[].fieldType, operations[].ignoreAlpha, operations[].invertAlpha, operations[].alphaUsage, operations[].removePullDown, operations[].vrConform, operations[].vrLayout, operations[].vrHorizontalView, operations[].vrVerticalView, operations[].kind, operations[].media, operations[].frameRate, operations[].pixelAspect, operations[].kind, operations[].media, operations[].lut, operations[].kind, operations[].media, operations[].kind, operations[].media, operations[].file, operations[].kind, operations[].media, operations[].file, operations[].highRes, operations[].kind, operations[].media, operations[].kind, operations[].media, operations[].kind, operations[].media, operations[].name, operations[].kind, operations[].bin, operations[].name, operations[].kind, operations[].media, operations[].bin, operations[].kind, operations[].name, operations[].query, operations[].kind, operations[].name, operations[].at, operations[].media, operations[].newName, operations[].comment, operations[].duration, operations[].color, operations[].type, operations[].kind, operations[].name, operations[].at, operations[].to, operations[].media, operations[].kind, operations[].name, operations[].at, operations[].media, operations[].kind, operations[].name, operations[].preset, operations[].media, operations[].kind, operations[].kind, operations[].name, operations[].kind, operations[].name, operations[].kind, operations[].name, operations[].kind, operations[].in, operations[].out, operations[].kind, operations[].at, operations[].kind, operations[].width, operations[].height, operations[].frameRate, operations[].pixelAspect, operations[].fieldType, operations[].maxBitDepth, operations[].maxRenderQuality, operations[].sampleRate, operations[].previewCodec, operations[].previewFileFormat, operations[].compositeInLinearColor, operations[].editingMode, operations[].previewWidth, operations[].previewHeight, operations[].kind, operations[].at, operations[].kind, operations[].clips, operations[].kind, operations[].in, operations[].out, operations[].kind, operations[].clip, operations[].kind, operations[].track, operations[].name, operations[].muted, operations[].kind, operations[].name, operations[].kind, operations[].file, operations[].kind, operations[].kind, operations[].file, operations[].kind, operations[].file, operations[].comps, operations[].kind, operations[].name, operations[].kind, operations[].media, operations[].scope, operations[].fields, operations[].kind, operations[].key, operations[].value, operations[].kind, operations[].enabled, operations[].kind, operations[].scope, operations[].folder, operations[].kind, operations[].media, operations[].preset, operations[].filename, operations[].queue, operations[].kind, operations[].kind, operations[].filename, operations[].audioFormat, operations[].bitsPerSample, operations[].embedAudio, operations[].explodeToMono, operations[].handleFrames, operations[].interleaveWithoutEffects, operations[].mixdownVideo, operations[].preserveParentFolder, operations[].renderAudioEffects, operations[].sampleRate, operations[].trimSources, operations[].mixdownPreset, operations[].kind, operations[].media, operations[].at, operations[].kind, operations[].filename, operations[].kind, operations[].filename, operations[].kind, operations[].media, operations[].file, operations[].at, operations[].speed, operations[].close, operations[].closeAll, operations[].kind, operations[].media, operations[].json, operations[].kind, operations[].clip, operations[].offset, operations[].videoTracksUp, operations[].audioTracksUp, operations[].insert, operations[].kind, operations[].library, operations[].element, operations[].at, operations[].video, operations[].audio, operations[].kind, operations[].file, operations[].preset, operations[].filename, operations[].in, operations[].out, operations[].queue, operations[].kind, operations[].kind, operations[].embedded, operations[].sidecar, operations[].kind, operations[].kind, operations[].paused, operations[].kind, operations[].name, operations[].fieldLabel, operations[].type, operations[].kind, operations[].text, operations[].kind, operations[].owner, operations[].name, operations[].value, operations[].persistent, operations[].kind, operations[].what, operations[].clip, operations[].media, operations[].effect, operations[].name.
  - Minor: String arguments with no constraint or example: operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind, operations[].kind.
  - Minor: The meaning of the boolean argument operations[].ripple is unclear.
  - Minor: The meaning of the boolean argument operations[].enabled is unclear.
  - Minor: The meaning of the boolean argument operations[].enabled is unclear.
  - Minor: The meaning of the boolean argument operations[].enabled is unclear.
  - Minor: The meaning of the boolean argument operations[].insert is unclear.
  - Minor: The meaning of the boolean argument operations[].paused is unclear.
  - Minor: Says nothing about what it returns.
- `read_editor_timeline`: 52 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `share_editor_project`: 52 / 100
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `export_editor_project`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The meaning of the boolean argument include_audio is unclear.
  - Minor: Says nothing about what it returns.
- `load_workflow_playbook`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `check_job_status`: 54 / 100
  - 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: taskId. Name the tool or the place that returns it, or models look it up first.
- `create_depth_map`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
- `premiere_frame`: 54 / 100
  - Minor: Says nothing about what it returns.
- `sound_extraction_status`: 54 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: job_id. Name the tool or the place that returns it, or models look it up first.
- `split_image_into_layers`: 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: asset_id. Name the tool or the place that returns it, or models look it up first.
- `apply_style`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `decide_switch_unrestricted_action`: 55 / 100
  - Minor: Arguments without a description: decision.
  - Minor: Required identifiers whose description does not say where the value comes from: action_id. Name the tool or the place that returns it, or models look it up first.
- `list_brand_kits`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `list_voices`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `manage_voice`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `upload_editor_media`: 55 / 100
  - Minor: Arguments without a description: files[].kind, files[].duration_seconds, confirm[].filename, confirm[].mime, confirm[].kind, confirm[].name, confirm[].duration_seconds, confirm[].place.
  - Minor: String arguments with no constraint or example: confirm[].filename, confirm[].mime, confirm[].name.
  - Minor: The meaning of the boolean argument confirm[].place is unclear.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `aftereffects_render`: 56 / 100
  - Major: Arguments without a description: requestId, projectId, compId, revision, outputTemplate, filename, start, end.
- `open_questions`: 56 / 100
  - Minor: Arguments without a description: questions[].question, questions[].topic, questions[].choices.
  - Minor: String arguments with no constraint or example: questions[].question.
  - Minor: Says nothing about what it returns.
- `aftereffects_list_connections`: 57 / 100
  - Minor: Says nothing about what it returns.
- `apply_cinematic_anamorphic`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `apply_graphic_editorial_portrait`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `apply_high_fashion_editorial`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `apply_magic_hour_portrait`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `apply_product`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `apply_travel`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `apply_wellness`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `ask_switch_unrestricted`: 57 / 100
- `cancel_my_task`: 57 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: taskId. Name the tool or the place that returns it, or models look it up first.
- `list_vision_reports`: 57 / 100
  - Minor: Says nothing about what it returns.
- `log_shots`: 57 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `spend_log`: 57 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `aftereffects_request_edit`: 58 / 100
  - Minor: The description is long (606 words). It helps selection but costs steps and tokens.
  - Major: Arguments without a description: requestId, projectId, compId, revision, operation.
- `capture_editor_assets`: 59 / 100
  - Minor: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `get_video_status`: 59 / 100
  - Minor: String arguments with no constraint or example: job_id.
  - Minor: No `required` list, so every argument is optional.
- `list_generations`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `premiere_shot_log`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
- `run_editor_agent`: 59 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `stitch_in_editor`: 59 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: video_ids. Name the tool or the place that returns it, or models look it up first.
- `suggest_speech_seconds`: 59 / 100
  - Minor: No `required` list, so every argument is optional.
- `apply_movie_scene`: 60 / 100
  - Major: Says nothing about when to use it, or when not to.
- `list_my_audio`: 60 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `transcribe_audio`: 60 / 100
  - Minor: Says nothing about what it returns.
- `edit_editor_timeline`: 61 / 100
  - Minor: Arguments without a description: operations[].volume_points[].t, operations[].volume_points[].db, operations[].captions[].text, operations[].captions[].at_sec, operations[].captions[].duration_sec, operations[].segments[].from_sec, operations[].segments[].to_sec.
  - Minor: String arguments with no constraint or example: operations[].captions[].text.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `generate_sound`: 61 / 100
  - Major: Says nothing about when to use it, or when not to.
- `upload_media`: 61 / 100
  - Minor: No `required` list, so every argument is optional.
- `apply_iphone_realism`: 62 / 100
  - Major: Says nothing about when to use it, or when not to.
- `apply_ugc`: 62 / 100
  - Major: Says nothing about when to use it, or when not to.
- `change_voice`: 62 / 100
  - Minor: Says nothing about what it returns.
- `find_editor_scenes`: 62 / 100
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `find_library_sound`: 62 / 100
  - Major: Says nothing about when to use it, or when not to.
- `generate_dialogue`: 62 / 100
  - Minor: Says nothing about what it returns.
- `generate_sound_effect`: 62 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_depth_map_status`: 62 / 100
- `list_my_folders`: 62 / 100
  - Minor: Says nothing about what it returns.
- `get_my_active_references`: 64 / 100
  - Major: Says nothing about when to use it, or when not to.
- `talking_avatar_video`: 64 / 100
  - Minor: No `required` list, so every argument is optional.
- `align_words`: 65 / 100
  - Minor: Says nothing about what it returns.
- `list_styles`: 65 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `render_editor_project`: 65 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `voice`: 65 / 100
- `enhance_video_prompt`: 66 / 100
  - Minor: No `required` list, so every argument is optional.
- `get_audio_status`: 66 / 100
  - Minor: No `required` list, so every argument is optional.
- `aftereffects_edit_status`: 67 / 100
  - Minor: Arguments without a description: requestId.
- `analyze_video_report`: 67 / 100
  - Minor: No `required` list, so every argument is optional.
- `plan_music`: 67 / 100
- `find_epidemic_sound`: 68 / 100
  - Minor: No `required` list, so every argument is optional.
- `generate_speech`: 68 / 100
- `clone_voice`: 69 / 100
  - Minor: No `required` list, so every argument is optional.
- `list_video_models`: 70 / 100
  - Minor: Says nothing about what it returns.
- `quote_video`: 70 / 100
  - Minor: No `required` list, so every argument is optional.
- `generate_image`: 71 / 100
- `design_voice`: 72 / 100
- `dub_audio`: 72 / 100
- `upload_reference_asset`: 73 / 100
- `aftereffects_read_project`: 74 / 100
- `generate_video`: 74 / 100
  - Minor: No `required` list, so every argument is optional.
- `list_my_assets`: 74 / 100
  - Minor: No `required` list, so every argument is optional.
- `extract_sound_effect`: 75 / 100
  - Minor: Says nothing about what it returns.
- `lip_sync_video`: 75 / 100
  - Minor: String arguments with no constraint or example: session_id.
  - Minor: No `required` list, so every argument is optional.
- `show_media`: 77 / 100
  - Minor: No `required` list, so every argument is optional.
- `sync3_lip_sync_video`: 77 / 100
  - Minor: Arguments without a description: speak_spans[].start, speak_spans[].end.
  - Minor: No `required` list, so every argument is optional.
- `video_to_music`: 77 / 100
- `generate_audio`: 78 / 100
- `generate_music`: 79 / 100

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)
