Fcpxml MCP Server vs Video Reader MCP

A side-by-side look at the Fcpxml MCP Server and Video Reader MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Fcpxml MCP Server logoFcpxml MCP ServerMultimedia Process · Local subprocess (stdio)The first MCP server for Final Cut Pro. 53 tools that parse, edit, and generate FCPXML timelines — health checks, flash frame detection, chapter markers, rough cuts, NLE export. 912 tests, MIT licensed.65GreatAuth: no auth requiredVideo Reader MCP logoVideo Reader MCPMultimedia Process · Local subprocess (stdio)Evidence-first video MCP. Timeline document with ffprobe streams and subtitle cues.45FairAuth: not declared

Verdict: choose Fcpxml MCP Server for multimedia process work as a local process; choose Video Reader MCP for multimedia process as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Fcpxml MCP Server logoChoose Fcpxml MCP Server when

  • You need dedicated capabilities in the Multimedia Process domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: No auth required.
  • You have the keys it needs: FCP_PROJECTS_DIR.
  • You want tools like inspect, diagnose, edit.
Explore Fcpxml MCP Server

Video Reader MCP logoChoose Video Reader MCP when

  • You need dedicated capabilities in the Multimedia Process domain.
  • You prefer a local stdio subprocess transport.
  • You want tools like inspect, outline, read.
Explore Video Reader MCP

Feature & specification comparison

Rows where the two servers differ are marked.

SpecFcpxml MCP Server logoFcpxml MCP ServerVideo Reader MCP logoVideo Reader MCP
CategoryMultimedia ProcessMultimedia Process
Quality signal65/100 · Great45/100 · Fair
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNo auth requiredNot declared
PricingFreeNot declared
Required env varsFCP_PROJECTS_DIRNone listed
Verified ownerCommunity listingCommunity listing
GitHub stars1273
Directory activity 11 views 0 installs 0 upvotes 2 views 0 installs 0 upvotes
Tools134

Tools & capabilities

Fcpxml MCP Server tools 13

  • inspectRead a timeline or project without changing it. Use this first to understand what you are working with. Actions: list_projects, analyze_timeline, analyze_pacing, list_clips, list_markers, list_roles, list_keywords, list_effects, list_templates, list_library_clips, list_compound_clips, list_connected_clips, filter_by_role.
  • diagnoseFind problems in a timeline: gaps, flash frames, duplicates, dead air, and beat structure. Read-only. Run before editing. Actions: validate_timeline, detect_gaps, detect_duplicates, detect_flash_frames, detect_silence_candidates, detect_media_silence, detect_beats, find_short_cuts, find_long_clips, diff_timelines.
  • editChange clips on the timeline: insert, delete, trim, split, reorder, retime, remove silence, and attach audio, B-roll or transitions. Writes a new file. Actions: insert_clip, delete_clips, trim_clip, split_clip, reorder_clips, change_speed, rapid_trim, add_transition, add_audio, add_connected_clip, assign_role, fill_gaps, fix_flash_frames, remove_silence_candidates, remove_media_silence.
  • markAdd or import markers and chapters, including from SRT/VTT subtitles, transcripts, and beat analysis. Actions: add_marker, batch_add_markers, import_srt_markers, import_transcript_markers, import_beat_markers, snap_to_beats.
  • generateBuild new timeline structure from source clips: rough cuts, montages, A/B roll, templates and compound clips. Actions: auto_rough_cut, generate_ab_roll, generate_montage, apply_template, create_compound_clip, flatten_compound_clip, import_edl_json.
  • transcriptTranscribe source media locally and edit the timeline by what was SAID rather than by timecode. Also removes filler words. Actions: transcribe_media, edit_by_transcript, remove_filler_words, transcript_pack.
  • deliverGet the edit out: export to other NLEs, CSV, EDL and stems, reformat, relink media, or push straight into a running Final Cut Pro. Exports and push refuse a cut with no rendered preview of its current state (pass confirm_unreviewed=true to ship anyway). Actions: export_csv, export_edl, export_fcp7_xml, export_resolve_xml, export_role_stems, reformat_timeline, relink_media, push_to_fcp, list_fcp_libraries.
  • previewSee the edit without opening Final Cut Pro. Render a proxy video of the timeline, a contact sheet of every cut, a single frame, or a filmstrip-plus-waveform check read from the SOURCE MEDIA rather than from the XML. Run preview_check to confirm a fix actually landed. Actions: preview_render, preview_sheet, preview_frame, preview_check, preview_timeline.
  • watchClose the round-trip. Watch the Final Cut Pro export folder, detect the XML the moment it lands, and diff it against the last one seen. Pair with deliver.push_to_fcp for a full loop: push in, edit, Cmd-E, watch_pull. Actions: watch_start, watch_status, watch_stop, watch_pull.
  • indexThe analysis cache under ~/.fcp-mcp/index.db. index_status shows what is cached and how old it is; index_build warms it for every source in a timeline (args: filepath, with_transcript); index_clear drops it. Every other tool works with the index off (FCP_MCP_INDEX=off) — this only makes the second question fast. Actions: index_status, index_build, index_clear.
  • scenesShot boundaries. detect_scenes reads every source in a timeline and reports cuts in timeline time (args: filepath, clip_name?, backend auto|content|adaptive|ffmpeg, threshold?, min_scene_len=0.5); scenes_to_markers writes a marker at each cut; scenes_split cuts the clips there. PySceneDetect via the scenes extra, ffmpeg without it — the result names which one answered. Actions: detect_scenes, scenes_to_markers, scenes_split.
  • organizeBulk library logging and the ledger. organize_auto proposes keywords per clip from cached captions and the transcript (apply=true writes them). Select clips with clip_name (glob), keyword and/or role, then organize_keywords (keywords, mode add|remove|replace), organize_rate (rating favorite|rejected|clear) or organize_roles (audio_role, video_role); each writes a _organized copy. history lists every recorded operation for the file's folder (limit); undo (n) moves the outputs of the last n writes into the journal's undone/ folder — it never deletes and refuses when a file changed since it was written. Actions: organize_auto, organize_keywords, organize_rate, organize_roles, history, undo.
  • +1 more on the listing page

Video Reader MCP tools 4

  • inspectDocument and media evidence when Markdown is not enough. video_timeline (bounded scene/cue timeline) and render_frame (actual decoded frames), and cite_check (quote/location support, not semantic truth), are anymd Pro; PDF operations: inspect (page facts, metadata), render_page (PNG images), extract_regions (crop bounding boxes), ocr_pages / analyze_regions (configured OCR or vision provider), structure (JSON with document map, elements, geometry; profile quality|research adds trust and accessibility reports), compare (page-level diff of sources[0] vs sources[1]).
  • outlineReturn a document heading tree with stable node ids, title paths, page/slide/chapter ranges and Markdown byte ranges. PDF bookmarks or detected headings, Word headings, PowerPoint slides, EPUB chapters and headings, HTML and Markdown. format json (default) or tree. Pass a node id to read to fetch that section.
  • readRead any document as clean Markdown: PDF, Word (DOCX), PowerPoint (PPTX), Excel (XLSX/XLS/ODS), CSV, EPUB, HTML or a web URL, Markdown/text, images (metadata + OCR), audio/video (metadata, chapters, subtitles). Pages/slides/sheets carry <!-- page N --> style markers for citation. Long documents stop at max_tokens (default 20000) and end with a cursor to continue; choose pages with pages: "1-5,8". A directory returns its readable files.
  • searchSearch documents for text: one file, many files, whole directories (recursive, .gitignore aware), or URLs, across every format read supports. Returns each hit as file + page/slide/sheet + a snippet with the match in bold. mode auto (default) finds the exact phrase and falls back to BM25-ranked passages when there is none; literal or ranked force one. Narrow directories with glob, e.g. "*.pdf".

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Fcpxml MCP Server

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "daredev256-fcpxml-mcp-server": {
      "command": "uvx",
      "args": [
        "fcp-mcp-server"
      ],
      "env": {
        "FCP_PROJECTS_DIR": "YOUR_FCP_PROJECTS_DIR_HERE"
      }
    }
  }
}

Video Reader MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "video-reader-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@sylphx/anymd"
      ]
    }
  }
}

Frequently asked questions

Fcpxml MCP Server is categorized under Multimedia Process and uses a local stdio subprocess. Video Reader MCP belongs to Multimedia Process and uses a local stdio subprocess. Pick Fcpxml MCP Server for multimedia process work and Video Reader MCP for multimedia process.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Fcpxml MCP Server is listed as free. Auth: no auth required. Video Reader MCP has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add daredev256-fcpxml-mcp-server and video-reader-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Fcpxml MCP Server has a quality signal of 65/100 (Great) with 11 views, 0 installs and 127 GitHub stars. Video Reader MCP has 45/100 (Fair) with 2 views, 0 installs and 3 GitHub stars.