Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Drive Adobe Premiere Pro from any MCP client: projects, sequences, timeline edits, effects, export.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
PREMIERE_WS_PORT, BRIDGE_TOKEN, PREMIERE_ALLOWED_DIRS, PREMIERE_SCRIPT_TIMEOUT_MS, PREMIERE_CONNECT_WAIT_MSค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"adobe-premiere": {
"command": "npx",
"args": [
"-y",
"adobe-mcp-premiere"
],
"env": {
"PREMIERE_WS_PORT": "ใส่ค่าของคุณ",
"BRIDGE_TOKEN": "ใส่ค่าของคุณ",
"PREMIERE_ALLOWED_DIRS": "ใส่ค่าของคุณ",
"PREMIERE_SCRIPT_TIMEOUT_MS": "ใส่ค่าของคุณ",
"PREMIERE_CONNECT_WAIT_MS": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add adobe-premiere --env PREMIERE_WS_PORT='ใส่ค่าของคุณ' --env BRIDGE_TOKEN='ใส่ค่าของคุณ' --env PREMIERE_ALLOWED_DIRS='ใส่ค่าของคุณ' --env PREMIERE_SCRIPT_TIMEOUT_MS='ใส่ค่าของคุณ' --env PREMIERE_CONNECT_WAIT_MS='ใส่ค่าของคุณ' -- npx -y adobe-mcp-premiereเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"adobe-premiere": {
"command": "npx",
"args": [
"-y",
"adobe-mcp-premiere"
],
"env": {
"PREMIERE_WS_PORT": "ใส่ค่าของคุณ",
"BRIDGE_TOKEN": "ใส่ค่าของคุณ",
"PREMIERE_ALLOWED_DIRS": "ใส่ค่าของคุณ",
"PREMIERE_SCRIPT_TIMEOUT_MS": "ใส่ค่าของคุณ",
"PREMIERE_CONNECT_WAIT_MS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"adobe-premiere": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"adobe-mcp-premiere"
],
"env": {
"PREMIERE_WS_PORT": "ใส่ค่าของคุณ",
"BRIDGE_TOKEN": "ใส่ค่าของคุณ",
"PREMIERE_ALLOWED_DIRS": "ใส่ค่าของคุณ",
"PREMIERE_SCRIPT_TIMEOUT_MS": "ใส่ค่าของคุณ",
"PREMIERE_CONNECT_WAIT_MS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
PREMIERE_WS_PORT envPREMIERE_ALLOWED_DIRS envPREMIERE_SCRIPT_TIMEOUT_MS envPREMIERE_CONNECT_WAIT_MS envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub zachshallbetter ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: BRIDGE_TOKEN
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.0) เข้า registry 19 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Cape Winelands Visit Planner
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Cape Winelands wine farm finder and day-route planner
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
An MCP server that drives Adobe Premiere Pro: projects and bins, sequences and their settings, timeline edits, markers, effects, keyframes and transitions, transcripts, metadata and export. It runs on the machine where Premiere Pro is installed and talks to it through a small UXP plugin inside Premiere Pro.
Status: untested against a real Premiere Pro. Every script is checked against Premiere Pro's UXP API reference and run against a stand-in DOM in the tests, but none has been run in Premiere Pro yet. Expect rough edges; see What is not certain yet.
Requires Premiere Pro 25.6 or later (macOS or Windows), the UXP Developer Tool to load the plugin, and Node.js 18 or later.
Premiere Pro has no outside scripting route the other servers in this repository use: no AppleScript dictionary, no COM object on Windows, and its /C es.processFile command line works only while Premiere Pro launches, returns no result and is unsupported. Adobe's supported way to automate Premiere Pro is a plugin running inside it, and UXP is the plugin platform Adobe is moving to (generally available from Premiere Pro 25.6; CEP stops taking new Marketplace submissions in December 2027 and is removed from December 2029).
A UXP plugin can open WebSocket connections but cannot accept them. So this server listens on 127.0.0.1 and the plugin connects to it:
MCP client --stdio--> adobe-mcp-premiere --ws://127.0.0.1:3011--> MCP Bridge panel (in Premiere Pro)
There is one process to run: the MCP server is also the WebSocket server.
Claude Code:
claude mcp add premiere -- npx -y adobe-mcp-premiere
Any client that reads an mcpServers block:
{
"mcpServers": { "premiere": { "command": "npx", "args": ["-y", "adobe-mcp-premiere"], "env": { "BRIDGE_TOKEN": "a long random string" } } } }
uxp/plugin/manifest.json from this package: in a clone, packages/premiere/uxp/plugin; after npm install adobe-mcp-premiere, node_modules/adobe-mcp-premiere/uxp/plugin. premiere_status prints the folder of the copy your server runs from.PREMIERE_WS_PORT) and the token (if you set BRIDGE_TOKEN), and click Connect. The panel remembers both and reconnects every 3 s whenever the connection drops, so it connects again by itself after the MCP server restarts.premiere_status. It shows the port, whether the plugin is connected, the Premiere Pro version and the active project.sequence: { name }, { guid } (from list_sequences), or omitted for the active sequence.item: { id } (from list_project_items), { path: "Footage/Interviews/a.mov" } (bins from the project root), or { name } when only one item has that name.clip: { track, trackIndex, clipIndex }, as list_clips reports them: track is video or audio, indexes start at 0 (track 0 is V1 or A1). Tools that take several clips take clips: { items: [...], selected: true }, where selected adds the clips selected in the Timeline. Indexes shift after edits; list again.list_clip_effects.PREMIERE_ALLOWED_DIRS; tools that write a file refuse to replace an existing one unless you pass overwrite: true.| Area | Tools |
|---|---|
| Project | get_project_info, create_project (empty or from a template), open_project (dialogs off), save_project (or Save As), close_project (or all projects), revert_project, list_project_items (or the Project panel selection), search_project_items (name, media path, kind, offline), get_clip_info (media path, in/out, offline, proxy, footage interpretation), import_media (any importable format, into a bin, image sequences), create_bin (or a search bin), manage_items (rename, move to a bin, label colour, delete) |
| Media | import_project_sequences (chosen sequences from another project), import_after_effects_comps (Dynamic Link), relink_media (one clip, or offline clips by file name), manage_media (refresh, make offline, attach proxy or full-resolution media), modify_footage (interpret footage, timecode, scale to frame size), reveal_media_file (Finder or Explorer), get_project_media_settings, set_project_media_settings (ingest, scratch disks, growing files) |
| Sequences | list_sequences, create_sequence (default settings, a .sqpreset, or from clips), open_sequence, get_sequence_settings, set_sequence_settings (frame size, frame rate, pixel aspect, fields, editing mode, display formats, sample rate, previews, bit depth, render quality, linear colour), duplicate_sequence, delete_sequence, close_sequence, create_subsequence (Make Subsequence), set_sequence_times (in/out, zero point, work area, playhead), move_playhead (frames, edit points, gaps, markers, in/out), run_scene_edit_detection (cuts, markers or subclips), get_sequence_properties, set_sequence_properties (custom properties) |
| Timeline | list_tracks (video, audio, caption), list_clips (or find by name), insert_clip, overwrite_clip (optionally a source range), trim_clip (source in/out, sequence start/end), edit_clips (slip, roll, slide, trim to playhead), select_clips (given clips, all, none, at the playhead, forward, backward, next, previous), fit_clips_to_frame (Set to Frame Size), move_clips, remove_clips (Clear or Ripple Delete), set_clip_properties (name, enable), set_track_properties (mute, rename), insert_mogrt |
| Markers | list_markers, add_marker, edit_marker (name, comments, type, duration, colour, move), remove_markers (sequence or clip markers), mark_clips (Mark Clip, Mark Selection) |
| Source | create_subclip, set_source_in_out (set or clear; also marks the audio range to edit), scale_to_frame_size, control_source_monitor (open, play, close, Match Frame) |
| Effects | list_available_effects (video effects, audio effects, video transitions), list_clip_effects, apply_effect (video by match or display name, audio by display name), remove_effect, set_effect_param, add_keyframes (with interpolation), remove_keyframes, add_transition (start, end or both; duration; single-sided; replace), remove_transition, set_clip_transform (Motion or Vector Motion, Opacity, blend mode), copy_clip_effects (Paste Attributes), manage_source_effects (source clip effects) |
| Keyframes | jump_to_keyframe (next or previous), copy_keyframes (to another parameter or clip), retime_keyframes (spread or squeeze an animation), fade_clips (Opacity or Volume fades) |
| Colour | set_lumetri_color (Basic Correction, Creative, Color Wheels, HSL Secondary and Vignette settings by name, or any parameter by index), set_clip_input_lut (Input LUT override) |
| Audio | set_clip_volume (the Volume effect's Level), adjust_clip_audio (change volume in dB, pan or balance) |
| Graphics and captions | list_graphics_templates (installed .mogrt files), insert_library_mogrt (from a Creative Cloud Library), list_transcription_languages (and language packs), import_captions (SRT, SCC, MCC, DFXP, STL, XML) |
| Transcripts | transcribe_clip, export_transcript (returned or written to .json) |
| Export | export_sequence (encoder preset; now, to Media Encoder's queue, or Premiere Pro's queue; full or in to out; XMP; import the result), encode_media (a project item or a media file to Media Encoder's queue), export_frame (PNG, JPEG, TIFF, DPX, EXR, ...), export_timeline (Final Cut Pro XML, OpenTimelineIO, AAF) |
| Metadata | get_metadata (project metadata and XMP), set_metadata, get_metadata_display (Project panel columns), set_metadata_display (columns, new schema fields) |
| Application | wait_for_event (project, sequence, Media Encoder, export and import events), clear_media_cache, recover_project (Auto-Save copies after a crash) |
| Utility | premiere_status, execute_premiere_code, help |
help({ tool }) describes any tool's parameters.
Most tools work with Premiere Pro 25.6. These need a later version, and say so in their descriptions: export_timeline (26.2; AAF 26.3), renaming a track (26.3), export_sequence's startQueue and xmp (26.3), the frame rate in set_sequence_settings (26.2), close_sequence (26.2), create_subclip (26.3), positioning the Source Monitor (26.3), the work area in set_sequence_times (26.5), transcribe_clip and clear_media_cache (26.5). On an older version those calls fail with a message transcribe_clip (26.5), listing languages in list_transcription_languages (26.3; checking given codes works earlier). On an older version those calls fail with a message naming the version.
Not offered, because Premiere Pro's UXP API has no call for them: linking and unlinking clips, audio transitions, playing the Program Monitor, clip speed, clip gain (other than the Volume effect's Level), editing caption text, track targeting, nesting, menu commands, undo, Lumetri's Auto button, and Lumetri curves (RGB and Hue Saturation curve points are not simple parameter values).
project.lockedAccess and run with project.executeTransaction, as Premiere Pro requires from 26.3, so each call is one entry in Edit > Undo. The few steps Premiere Pro does not record (playhead, track mute, work area, saving) say so.suppressUI.PREMIERE_SCRIPT_TIMEOUT_MS (default 120 s), the error says a dialog may be open. Raise it for long exports and transcriptions.| Variable | Purpose |
|---|---|
PREMIERE_WS_PORT | Port on 127.0.0.1 the plugin connects to. Default 3011. Set the same port in the panel. |
BRIDGE_TOKEN | A shared secret. When set, the plugin must send it to connect; enter it in the panel. PREMIERE_BRIDGE_TOKEN takes precedence if you need a different token from the InDesign bridge. |
PREMIERE_ALLOWED_DIRS | Extra directories for importing, saving and exporting (:-separated on macOS, ; on Windows). |
PREMIERE_SCRIPT_TIMEOUT_MS | How long to wait for a script. Default 120000. |
PREMIERE_CONNECT_WAIT_MS | How long a call waits for the plugin to connect before failing. Default 4000. |
127.0.0.1, never on other interfaces.BRIDGE_TOKEN, any program on this machine can connect to the port as the plugin while none is connected (and would then receive the scripts and could answer them), and can send scripts through the HTTP endpoint described below. Set BRIDGE_TOKEN on any machine other people or untrusted software use. With a token, the plugin's first message musตัดมาแค่ช่วงต้น อ่านต่อใน repo