# Frapea (com.frapea/editor): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/com.frapea%2Feditor/versions/latest)
- Connected to: https://app.frapea.com/mcp
- Homepage: https://frapea.com/
- Scoring rules: v2
- Tools: 67
- Average: 59.1 / 100 (Cloudy)
- Near-identical pairs: 0

This page shows how Frapea (com.frapea/editor)'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: 67 tools. Above 40, models choose less accurately.

## Tools

- `list_motion_compositions`: 44 / 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: projectId. Name the tool or the place that returns it, or models look it up first.
- `set_project_settings`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: timelineId.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: projectId, timelineId. Name the tool or the place that returns it, or models look it up first.
- `bind_face`: 47 / 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: projectId, clipId. Name the tool or the place that returns it, or models look it up first.
- `get_bug_report`: 47 / 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: projectId. Name the tool or the place that returns it, or models look it up first.
- `get_motion_composition`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: compositionId.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: projectId, compositionId. Name the tool or the place that returns it, or models look it up first.
- `set_active_timeline`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: timelineId.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: projectId, timelineId. Name the tool or the place that returns it, or models look it up first.
- `split_clips`: 47 / 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: projectId, timelineId, clipIds. Name the tool or the place that returns it, or models look it up first.
- `update_motion_composition`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: name, schema, width, height, fps, durationInFrames.
  - Minor: String arguments with no constraint or example: compositionId, name.
  - Minor: Required identifiers whose description does not say where the value comes from: projectId, compositionId. Name the tool or the place that returns it, or models look it up first.
- `set_clip_properties`: 48 / 100
  - Major: Arguments without a description: transform.position, transform.position.x, transform.position.y, transform.scale, transform.scale.x, transform.scale.y, transform.rotationDeg, transform.anchor, transform.anchor.x, transform.anchor.y, transform.flipH, transform.flipV, crop.left, crop.top, crop.right, crop.bottom, dynamicZoom.enabled, dynamicZoom.start, dynamicZoom.start.x, dynamicZoom.start.y, dynamicZoom.start.scale, dynamicZoom.end, dynamicZoom.end.x, dynamicZoom.end.y, dynamicZoom.end.scale, speed.rate, speed.freezeFrame, speed.pitchCorrection, stabilization.cameraLock, stabilization.zoom, stabilization.croppingRatio, stabilization.smooth, stabilization.strength, motionBlur.enabled, bypass.transform, bypass.crop, bypass.composite, bypass.speed, bypass.stabilize, bypass.lens, bypass.denoise, bypass.masks, speedKeyframes[].atSourceFrame, speedKeyframes[].rate, masks[].center, masks[].center.x, masks[].center.y, masks[].size, masks[].size.x, masks[].size.y, masks[].rotationDeg, masks[].feather, masks[].opacity, masks[].invert, text.content, text.fontFamily, text.animation.type, text.sizeFraction, text.bold, text.italic, text.color, text.align, text.outlineWidth, text.box, text.box.x, text.box.y, text.box.w, text.box.h.
  - Minor: String arguments with no constraint or example: clipId, transform.fit, speed.direction, stabilization.mode, masks[].shape, text.content, text.fontFamily, text.animation.type, text.color, text.align.
  - Minor: The meaning of the boolean argument transform.flipH is unclear.
  - Minor: The meaning of the boolean argument transform.flipV is unclear.
  - Minor: The meaning of the boolean argument dynamicZoom.enabled is unclear.
  - Minor: The meaning of the boolean argument speed.pitchCorrection is unclear.
  - Minor: The meaning of the boolean argument stabilization.cameraLock is unclear.
  - Minor: The meaning of the boolean argument stabilization.zoom is unclear.
  - Minor: The meaning of the boolean argument motionBlur.enabled is unclear.
  - Minor: The meaning of the boolean argument bypass.transform is unclear.
  - Minor: The meaning of the boolean argument bypass.crop is unclear.
  - Minor: The meaning of the boolean argument bypass.composite is unclear.
  - Minor: The meaning of the boolean argument bypass.speed is unclear.
  - Minor: The meaning of the boolean argument bypass.stabilize is unclear.
  - Minor: The meaning of the boolean argument bypass.lens is unclear.
  - Minor: The meaning of the boolean argument bypass.denoise is unclear.
  - Minor: The meaning of the boolean argument bypass.masks is unclear.
  - Minor: The meaning of the boolean argument masks[].invert is unclear.
  - Minor: The meaning of the boolean argument text.bold is unclear.
  - Minor: The meaning of the boolean argument text.italic is unclear.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: projectId, timelineId, clipId. Name the tool or the place that returns it, or models look it up first.
- `connect`: 51 / 100
  - Minor: No `required` list, so every argument is optional.
- `close_project`: 52 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: projectId. Name the tool or the place that returns it, or models look it up first.
- `close_timeline`: 52 / 100
  - 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: projectId, timelineId. Name the tool or the place that returns it, or models look it up first.
- `list_face_tracks`: 52 / 100
  - 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: projectId. Name the tool or the place that returns it, or models look it up first.
- `merge_faces`: 52 / 100
  - 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: projectId, trackId, faceIds. Name the tool or the place that returns it, or models look it up first.
- `move_clips`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: timelineId.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: projectId, timelineId. Name the tool or the place that returns it, or models look it up first.
- `open_project`: 52 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: projectId. Name the tool or the place that returns it, or models look it up first.
- `open_timeline`: 52 / 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: projectId, timelineId. Name the tool or the place that returns it, or models look it up first.
- `organize_media`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: mediaRef, action.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: projectId, mediaRef. Name the tool or the place that returns it, or models look it up first.
- `remove_silence`: 52 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: projectId, timelineId, clipId. Name the tool or the place that returns it, or models look it up first.
- `ripple_delete_ranges`: 52 / 100
  - Minor: String arguments with no constraint or example: timelineId.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: projectId, timelineId, trackId. Name the tool or the place that returns it, or models look it up first.
- `trim_clips`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: clipId, edge.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: projectId, timelineId, clipId. Name the tool or the place that returns it, or models look it up first.
- `undo`: 52 / 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: projectId. Name the tool or the place that returns it, or models look it up first.
- `get_transcript`: 54 / 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: Required identifiers whose description does not say where the value comes from: projectId, mediaRef. Name the tool or the place that returns it, or models look it up first.
- `start_transcription`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: mediaRef.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: projectId, mediaRef. Name the tool or the place that returns it, or models look it up first.
- `set_keyframes`: 56 / 100
  - Minor: Arguments without a description: keyframes[].value.
  - Minor: String arguments with no constraint or example: clipId.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: projectId, timelineId, clipId. Name the tool or the place that returns it, or models look it up first.
- `cut_to_angle`: 57 / 100
  - Minor: String arguments with no constraint or example: timelineId.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: projectId, timelineId, chosenTrackId. Name the tool or the place that returns it, or models look it up first.
- `duplicate_timeline`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: timelineId.
  - Minor: Required identifiers whose description does not say where the value comes from: projectId, timelineId. Name the tool or the place that returns it, or models look it up first.
- `get_media`: 57 / 100
  - Minor: Says nothing about what it returns.
- `get_timeline`: 57 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: projectId. Name the tool or the place that returns it, or models look it up first.
- `insert_clips`: 57 / 100
  - Minor: String arguments with no constraint or example: timelineId.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: projectId, timelineId. Name the tool or the place that returns it, or models look it up first.
- `remove_clips`: 57 / 100
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `remove_words`: 57 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: projectId, timelineId, clipId. Name the tool or the place that returns it, or models look it up first.
- `manage_transitions`: 58 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: durationFrames.
  - Minor: String arguments with no constraint or example: timelineId, action, type, transitionId, alignment.
  - Minor: Required identifiers whose description does not say where the value comes from: projectId, timelineId, trackId. Name the tool or the place that returns it, or models look it up first.
- `add_sample_media`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The meaning of the boolean argument all is unclear.
  - Minor: Required identifiers whose description does not say where the value comes from: projectId. Name the tool or the place that returns it, or models look it up first.
- `apply_layout`: 59 / 100
  - Minor: Arguments without a description: bias.x, bias.y.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: projectId, timelineId, clipIds. Name the tool or the place that returns it, or models look it up first.
- `create_timeline`: 59 / 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: projectId. Name the tool or the place that returns it, or models look it up first.
- `download_sound`: 59 / 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: Required identifiers whose description does not say where the value comes from: projectId, soundId. Name the tool or the place that returns it, or models look it up first.
- `download_stock_media`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: kind.
- `manage_queue`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: action.
- `read_skill`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
- `start_visual_indexing`: 59 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: projectId. Name the tool or the place that returns it, or models look it up first.
- `track_faces`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
- `search_media`: 60 / 100
  - 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: projectId. Name the tool or the place that returns it, or models look it up first.
- `measure_loudness`: 61 / 100
  - Minor: Arguments without a description: sections[].label, sections[].fromSec, sections[].toSec.
  - Minor: String arguments with no constraint or example: sections[].label.
- `await_user_action`: 62 / 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: actionId. Name the tool or the place that returns it, or models look it up first.
- `add_clips`: 64 / 100
- `add_sfx`: 64 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: projectId. Name the tool or the place that returns it, or models look it up first.
- `create_motion_composition`: 64 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: projectId. Name the tool or the place that returns it, or models look it up first.
- `get_analysis_status`: 64 / 100
- `get_problems`: 64 / 100
  - Minor: The description mentions none of its 3 or more arguments.
- `request_ai_models`: 64 / 100
- `verify_timeline`: 64 / 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: projectId, timelineId. Name the tool or the place that returns it, or models look it up first.
- `manage_tracks`: 65 / 100
  - Minor: String arguments with no constraint or example: timelineId.
  - Minor: Says nothing about what it returns.
- `get_projects`: 67 / 100
- `list_voiceover_models`: 67 / 100
- `search_stock_media`: 67 / 100
  - Minor: String arguments with no constraint or example: kind.
  - Minor: The description mentions none of its 3 or more arguments.
- `manage_effects`: 69 / 100
  - Minor: String arguments with no constraint or example: timelineId, clipId.
  - Minor: The meaning of the boolean argument enabled is unclear.
- `retry_analysis`: 69 / 100
  - Minor: String arguments with no constraint or example: mediaRef, kind.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: projectId, mediaRef. Name the tool or the place that returns it, or models look it up first.
- `search_sounds`: 70 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: projectId. Name the tool or the place that returns it, or models look it up first.
- `get_job_status`: 72 / 100
- `inspect_media`: 72 / 100
  - Minor: String arguments with no constraint or example: mediaRef.
- `connect_media_folder`: 74 / 100
- `generate_captions`: 74 / 100
  - Minor: String arguments with no constraint or example: position.
  - Minor: The description mentions none of its 3 or more arguments.
- `inspect_timeline`: 77 / 100
  - Minor: String arguments with no constraint or example: timelineId.
  - Minor: Required identifiers whose description does not say where the value comes from: projectId, timelineId. Name the tool or the place that returns it, or models look it up first.
- `new_project`: 79 / 100
- `organize_pool`: 79 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: projectId. Name the tool or the place that returns it, or models look it up first.
- `generate_voiceover`: 82 / 100
  - Minor: The description is long (468 words). It helps selection but costs steps and tokens.

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)
