- Adicionado estrutura completa do projeto - Configurado MCP server para Premiere Pro - Adicionado documentação e skills - Configurado Gitignore para o projeto
UXP Spike
A throwaway UXP plugin that answers two questions we cannot answer from the docs. It is not part of the MCP server and nothing depends on it.
Why
1. Is issue #9 fixable?
Documented ExtendScript has no frame-export method at all. Sequence exposes only
exportAsMediaDirect, exportAsProject, and exportAsFinalCutProXML — there is no
exportFramePNG. That is why capture_frame reaches into the undocumented QE DOM, and why
#9 reports it returning false and
writing nothing on both PPro 2025 and 2026. It isn't a bug we can fix; it's a hole in the API.
UXP has a supported Exporter.exportSequenceFrame(). Probe A finds out whether it works.
Frame capture is the only tool that gives an agent visual evidence of the timeline. Without it there is no way to verify a color grade, a transition, or a title actually landed. It's worth a spike on its own.
2. Can we drop the temp-file bridge?
Today the CEP panel polls a temp directory every 200ms for .jsx files. UXP has WebSocket and
fetch, which would be a strict upgrade. But:
- Adobe's UXP docs never mention
localhostor127.0.0.1— not once, anywhere. - UXP WebSockets are client-only: a plugin "cannot host or accept incoming connections", so the MCP server must be the server. (Fine — that's the direction we want anyway.)
- macOS is documented to restrict
http://. Whether that extends tows://is unstated. wss://with a self-signed cert is explicitly broken on macOS per Adobe's known-issues page.
So both obvious loopback options sit in undocumented-or-blocked territory. Probes B–E find out what actually connects. This determines our entire transport, so it's worth knowing before we commit to a port rather than after.
Running it
You need Premiere Pro 25.6 or newer (that's when UXP went GA) and the UXP Developer Tool 2.2+.
1. Start the spike server. Zero dependencies, so there is nothing to install:
node uxp-spike/server.mjs # listens on 127.0.0.1:7777
2. Enable Premiere's developer mode. Settings → Plugins → Enable developer mode, then restart Premiere.
3. Side-load the plugin. In UXP Developer Tool: Add Plugin → select
uxp-spike/manifest.json → Load & Watch.
4. Open a project with a sequence, put the playhead somewhere with visible picture, and open Window → UXP Plugins → MCP UXP Spike.
5. Click "Run all probes."
Reading the result
The panel prints a JSON verdict and writes it to /tmp/mcp-uxp-spike-report.json. The server also
logs every transport that reaches it.
The two lines that matter:
Issue #9 (frame capture): FIXED by UXP | still broken
Transport: websocket | http-fetch | file-bridge
Probe A does not trust exportSequenceFrame's return value — the QE DOM lies about this in
both directions, so success is decided purely by whether a file exists on disk afterwards.
A failing probe is a result, not an error. "Loopback WebSocket is blocked" is exactly the kind of thing worth learning in an afternoon rather than three weeks into a port.
Please paste the JSON verdict into the tracking issue
If you can run this against a real Premiere, that's genuinely the most useful thing anyone can do for this project right now. Neither of these questions can be settled from Adobe's documentation.