Final Cut Pro MCP server (bundled copy)

This folder contains a modified copy of fcp-mcp-server, written by DareDev256:

    https://github.com/DareDev256/fcp-mcp-server
    Copyright (c) 2025 DareDev256
    MIT License, reproduced in full in the LICENSE file in this folder.

All of the server's design and almost all of its code are DareDev256's work.

Base
    Commit 2b39ac071f851561d134206d16d2f26f1a8ee91b (2026-09-26),
    package version 0.25.1.

Taken unchanged from that commit
    server.py, pyproject.toml, LICENSE, every file in tools/, and every
    file in fcpxml/ except the three listed below.

Left out (read them upstream)
    tests/, docs/, demo/, examples/, the upstream README.md, CHANGELOG.md,
    CLAUDE.md, SECURITY.md, the registry files (server.json, smithery.yaml,
    glama.json), requirements.txt and the upstream skill folders.

Modified in 2026 by Avant Concepts LLC, to run on the Apple Creator Studio
edition of Final Cut Pro (bundle id com.apple.FinalCutApp):

    fcpxml/live.py
      - Addresses Final Cut Pro by bundle id ("tell application id ...")
        instead of by name. The id is detected per edition (Creator Studio
        when only it is installed, otherwise the Mac App Store edition) and
        can be set with FCP_APP_BUNDLE_ID.
      - No longer brings Final Cut Pro to the front when importing; set
        FCP_ACTIVATE_ON_PUSH=1 to restore that.
      - Every push carries import options (library location and the rest),
        including autopush and .fcpxmld bundles (sent as a flat copy of
        their Info.fcpxml).
      - Every push is validated against the installed Final Cut Pro's own
        DTD and refused if invalid.
      - Library locations are compared after decoding file:// URLs, "~"
        and the .fcpbundle suffix.
    fcpxml/dtd.py
      - Finds the FCPXML DTDs inside either edition of the app.
    fcpxml/filtergraph.py
      - The preview proxy loops still images for their duration (they were
        read as a single frame).

Added
    run.py               starts the server with uv, from inline dependency
                         metadata (mcp, defusedxml); --check prints what the
                         server found without contacting Final Cut Pro
    run.sh               finds uv (PATH or the usual install places) and
                         runs run.py with it
    NOTICE, README.md    this notice and the bundle's readme
    creator-studio.patch the complete diff against the base commit,
                         including 15 new tests and 2 adjusted tests that
                         are not bundled here

Our modifications are released under the same MIT License,
Copyright (c) 2026 Avant Concepts LLC.

This copy is not maintained or endorsed by the upstream author. Report
problems with it where you got it, not upstream.

Final Cut Pro is a trademark of Apple Inc. This software is not affiliated
with or endorsed by Apple.
