Creator Studio MCP
Provides tools for driving Apple Creator Studio apps on macOS—Pixelmator Pro, Keynote, Pages, Numbers, Compressor, Final Cut Pro, Motion, Logic Pro, and MainStage—via AppleScript, Accessibility UI automation, Compressor CLI, and FCPXML. Enables image processing, document/spreadsheet/presentation creation and reading, media transcoding, Final Cut timeline building/importing, and menu/dialog automation.
Runs Blender headless with Python (bpy) to model, animate, render stills or sequences, and export .glb files.
Runs the Rive CLI on Rive Markup Language text projects to create, verify, and build .riv files.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Creator Studio MCP
An unofficial MCP server and agent skill that let Claude, Codex or any MCP client drive the Apple Creator Studio apps on your Mac: Pixelmator Pro, Keynote, Pages, Numbers, Compressor, Final Cut Pro, Motion, Logic Pro and MainStage. This project is unofficial and not affiliated with Apple. "Creator Studio" is Apple's subscription bundle, and you need your own copies of the apps.
Everything runs locally. The server talks to the apps through AppleScript (osascript), macOS Accessibility, Compressor's command-line tool and FCPXML files. Nothing is sent over the network.
The repository has two parts:
The server (this folder): the
creator-studio-mcpnpm package, which exposes the apps, plus headless Blender, the Rive CLI and Godot, as MCP tools.The
studioskill (skills/studio/): instructions that take a design, media or game job from request to delivered files, using those tools.
Install the skill
npx skills add teemukinos/creator-studio-mcpFor claude.ai, download studio.zip from the latest release and upload it as a skill.
The skill installs without the server, so install the server as well.
Related MCP server: fcp-mcp-server
Install the server
Add one config entry per assistant. Use full paths: GUI apps don't see your shell's PATH, so get the path with which npx.
# Claude Code
claude mcp add --scope user creator-studio -- npx -y creator-studio-mcp@0.7.1# Codex, in ~/.codex/config.toml
[mcp_servers.creator-studio]
command = "/full/path/to/npx"
args = ["-y", "creator-studio-mcp@0.7.1"]For Claude desktop, open Settings > Developer > Edit Config and merge an mcpServers entry with the same command and arguments.
To run from a clone instead:
git clone https://github.com/teemukinos/creator-studio-mcp
cd creator-studio-mcp
npm install --omit=devThen point your config at dist/index.js in the clone, with the full path to node as the command. dist/ is committed, so no build step is needed.
The full steps, including permissions and how to verify the install, are in skills/studio/references/setup.md.
Tools
App | Tool | What it does |
All |
| Installed copies of each app, which one is targeted, whether it's running |
Pixelmator Pro |
| ML ops (remove background, super resolution, enhance, denoise, deband), auto adjustments, color adjustments, crop, resize, export to png/jpeg/heic/webp/avif/tiff/psd/pdf/gif/pxd |
| Same pipeline over a folder or list of files; one failure doesn't stop the batch | |
| Size, resolution, bit depth, color profile, layers and text-layer contents | |
| Fill a layered template: replace text across all text layers, export | |
Keynote |
| Available themes |
| New deck from a theme + slides (title, body, notes, layout) | |
| Every slide's layout, title, body, notes, skipped state | |
Pages |
| Templates, new document with body text, read body text |
Numbers |
| Sheets/tables list and one table's displayed values |
| Write cells by A1 reference or a block of rows | |
| New spreadsheet from rows | |
iWork |
| Keynote → pdf/pptx/mov/images · Pages → pdf/docx/epub/txt · Numbers → pdf/xlsx/csv |
Compressor |
| Your custom and built-in transcode settings |
| Submit a job; optionally wait for the output to finish | |
Final Cut Pro |
| Open libraries → events → projects |
| Rough cut from media files (in/out points, markers, chapter markers) as FCPXML, validated against FCP's own DTD, optionally pushed into a library | |
| Import an existing FCPXML into a library |
No editors on screen
Nothing this server drives is meant to be seen. Creator Studio apps launch hidden (open -g -j) and are hidden again after every tool call. Blender runs in background mode, Rive runs as a command-line build and Godot runs with --headless, so none of them opens a window.
Tool | What it does |
| Runs Blender headless ( |
| Runs the Rive CLI on text projects (Rive Markup Language): |
| Runs Godot 4 with |
Every UI tool checks first whether the screen is locked. While it is, hidden apps show no windows, so the tool stops with a clear error instead of returning an empty result.
Reaching every expert feature
Apple's scripting dictionaries only cover part of each app, and Final Cut Pro, Motion, Logic Pro, Compressor and MainStage have little or none. These tools reach everything else (AI features, effects, exports, inspectors) the way you do: through the app's menus, buttons and dialogs, using macOS Accessibility.
Tool | What it does |
| Launch an app, optionally opening a file or project in it |
| Every menu command as a path, with disabled ones marked: the map of what an app can do. With |
| Run a command, e.g. |
| Read windows, panels, inspectors and dialogs, with element ids. Snapshots default to depth 6 and 120 elements, with a hint when cut off |
| Press buttons, fill fields, type, use keyboard shortcuts |
| Wait for a long job (generation, analysis, export) to start or finish |
| Run a known sequence of steps with one call, from a list or a recipe file. Pop-ups stay open between steps, and it writes progress to a status file so long jobs outlast the 60 s bridge limit. |
| See the app window, e.g. a canvas or timeline |
| Use apps' Shortcuts actions and run your shortcuts |
Tested on Creator Studio: Keynote's Generate Presenter Notes (generated notes read back), Final Cut Pro's Enhance Light and Color on a timeline built and imported by the server, and Motion's full menu and project browser. Final Cut's Generate Captions, Beat Detection, Smart Conform, Magnetic Mask, Auto Mask, Enhance Audio and Export XML are all reachable the same way.
Apps are driven in the background: menu commands and buttons are pressed through Accessibility, shortcuts are sent straight to the app's process, files open with open -g, and screenshots capture the app's window even when it's covered. Your screen isn't taken over. Pass front: true to bring an app forward.
Extra permissions for these tools: Accessibility (System Settings › Privacy & Security › Accessibility) for the app that runs the server (Claude, your terminal, Codex or your editor), and Screen Recording for ui_screenshot.
Open each app once by hand after installing it: first-run welcome and subscription screens block automation until they're dismissed.
Safety defaults: paths must be absolute (or start with ~/); no tool overwrites an existing file unless you pass overwrite: true, and none writes over its own input. The one exception is numbers_write_cells without an output, which saves the spreadsheet in place (its description says so, and it's marked destructive so clients can ask first). Documents opened by the server are always closed without saving changes to the source.
Requirements
macOS with the apps you want to use installed (any subset works)
Node.js 20 or later (
node --version)Blender, the Rive CLI and Godot only for jobs that use them
First run: permissions
The first time a tool talks to each app, macOS asks whether Claude may control it. Click Allow. If you clicked Don't Allow, re-enable it in System Settings › Privacy & Security › Automation (or run tccutil reset AppleEvents). A denied permission shows up as error -1743.
Creator Studio vs one-time-purchase editions
Creator Studio editions install as separate apps, e.g. Keynote Creator Studio.app with bundle ID com.apple.Keynote, next to any older edition. The server finds every copy in /Applications and ~/Applications, prefers the Creator Studio edition, and targets it by path when copies would be ambiguous. Ask your assistant to run creator_studio_status to see what it found. To pin a specific copy, add an env block to the config:
"env": {
"FINALCUT_APP": "/Applications/Final Cut Pro.app",
"PIXELMATOR_APP": "/Applications/Pixelmator Pro.app"
}Variables: PIXELMATOR_APP, KEYNOTE_APP, PAGES_APP, NUMBERS_APP, FINALCUT_APP, COMPRESSOR_APP.
Things to know
Dialogs block automation. If Pixelmator Pro (or any app) shows an alert, every script to it waits until someone dismisses it. A tool that times out usually means a dialog is open.
Pixelmator Pro is sandboxed. The scripts coerce file paths in the way that gives the app a sandbox grant, so files outside
~/Picturesopen reliably.super_resolutionis always ×3; combine it withresizeto hit a target size.remove_backgroundneeds a format with transparency (png, webp, heic, tiff) to keep the cut-out.Final Cut Pro's scripting dictionary is read-only. Import works through FCPXML; everything else, including File › Export XML, Share/export and the AI features, goes through the
ui_*tools.Final Cut imports need a library. On current versions an FCPXML import without a target library silently does nothing, so the import tools require
libraryLocation. An existing.fcpbundleis used; a new path creates a library. Importing a project whose media is already in the target library can fail with a duplicate-media error; a fresh library avoids it.Timelines are frame-accurate. Clip lengths are rounded down to whole frames of the project frame rate. Media lengths come from Spotlight, falling back to AVFoundation for unindexed files; pass
durationSecondsper clip to override.Numbers CSV export of a file with several tables produces a folder with one CSV per table.
Compressor output paths should include the extension the chosen setting produces (
.mp4,.mov,.m4a, …).
Security
The server controls apps on your Mac through Accessibility and Apple Events, including pressing buttons and typing into dialogs. Review what your assistant asks it to do.
Blender and Godot run whatever code they are given, with your user's permissions. Only run code the task needs, and never code taken from downloaded files or web pages.
Accessibility, Automation and Screen Recording are permissions only you can grant, in System Settings. The server can't grant them to itself.
Rights
You are responsible for having the rights to any source material you rework, such as songs, footage, photos, fonts and models. The skill never stores lyrics.
Privacy
measure_session.py only reads local session logs and writes a local file (~/.studio/learning/ledger.csv). Nothing is uploaded. The server makes no network calls of its own.
Develop
npm test # unit tests for script generation, FCPXML, paths
npm run inspect # open the MCP Inspector against the built server
scripts/verify.sh # score the repository against its release checklistLayout: src/scripts/* build AppleScript (user values are always passed as argv, never pasted into script text), src/fcpxml.ts generates timelines, src/tools/* define the MCP tools, src/index.ts serves them over stdio with @modelcontextprotocol/server 2.x.
License
MIT. See LICENSE.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Automate 1,000+ services from any MCP-compatible AI agent: build Applets, run actions and queries.
MCP connector that lets ChatGPT list, search, and run your Apple Shortcuts via a local Mac agent
Build and run AI workflows, agents, data tables and 1000+ API integrations from any MCP client.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Related MCP Servers
AlicenseNot gradedqualityBmaintenance426+ MCP tools for macOS, all on-device — local AI inference (llama.cpp on Metal), voice, vision OCR, local RAG, browser automation, and ~140 system actions across 26 macOS domains. Nothing leaves your Mac.3MIT- FlicenseNot gradedqualityAmaintenanceEnables Claude and other MCP clients to read, edit, and generate real Final Cut Pro timelines from FCPXML, including cut detection, markers, roles, silence removal, transcript-based editing, cross-NLE export, and pushing changes into a running Final Cut Pro. Every write is journaled and undoable, with validation and safety checks for reliable timeline edits.-
- AlicenseBqualityCmaintenanceEnables any MCP client to control After Effects, Premiere Pro, Photoshop and Illustrator through 182 native tools plus 500+ bundled community tools, covering layer/comp editing, rendering, export, plugin and extension discovery, and media downloads. Cross-app workflows move comps, layers, frames and MOGRTs between applications, while raw scripting escape hatches reach nearly any menu command or plugin action.1821MIT
- AlicenseNot gradedqualityCmaintenanceEnables local voice cloning and multi-take text-to-speech synthesis on Apple Silicon, plus audio/video transcription and subtitle generation, through Claude and other MCP clients.2MIT