Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Logic Pro MCP server for stateful DAW control, live readback, MIDI, plugins, and safety gates.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
The maker has not listed install details in the registry. See the maker’s README below.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account MongLong0214, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (3.18.0) reached the registry 40 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code.
In the same category: Spec Driven Development, Remote Desktop Commander, Microsoft Exchange Online MCP
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the 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.
Exchange Online admin for MSPs: forwarding audits, EWS posture and offboarding, no PowerShell
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
A local Model Context Protocol (MCP) server that lets Claude Code, Claude Desktop, Cursor, Codex, VS Code, and other MCP clients control Logic Pro for AI music production: create tracks, write MIDI, operate transport and mixer state, inspect live project data, and verify results.
Install · Watch demo · What it controls
### 🏆 Selected for Anthropic's Claude for Open Source program
Logic Pro MCP has been officially selected for Anthropic's Claude for Open Source program — recognition from the makers of Claude that this project is open-source work worth supporting. This server is built with Claude, for Claude-powered agents — and is now officially supported by the program.
An 82 BPM D-minor lofi loop composed live in Logic Pro 12.3 by the MCP — tempo, three MIDI parts, a Drummer, and playback, all from prompts.
▶ Watch the 36-sec demo (with sound)
Logic Pro MCP Server gives Claude, Cursor, Codex, and other MCP clients a structured way to control Logic Pro without brittle keyboard macros. Logic Pro does not ship a first-party API for agentic composition, session setup, mixer operations, or live project readback, so Logic Pro MCP fills that gap by combining 7 native macOS control channels (CoreMIDI, Accessibility, AppleScript, CGEvent, MCU, Scripter, MIDI Key Commands — Sources/LogicProMCP/Channels/Channel.swift) behind one MCP interface, then wrapping every high-risk operation in explicit state, confirmation, and verification contracts.
The result is not "screen automation with prompts." It is a structured server for DAW agents: tools mutate, resources read, evidence is labeled, and uncertain outcomes stay uncertain instead of being reported as success.
You: "Make a 4-bar techno loop in A minor at 140 BPM"
MCP client → logic_tracks.record_sequence { bar: 1, tempo: 140, notes: "45,0,95;57,107,95;45,214,95;..." } MCP client → logic_tracks.set_instrument { index: 0, path: "Electronic Drums/Roland TR-909" }
Logic Pro MCP: region imported, instrument routed, readback exposed through resources.
Counts below are read from the current source tree with the command shown; re-run it after pulling to reproduce.
| Surface | Current source tree | Command | |
|---|---|---|---|
| MCP tools | 10 tools — logic_transport, logic_tracks, logic_mixer, logic_midi, logic_edit, logic_navigate, logic_project, logic_audio, logic_system, logic_plugins | grep -c '^ toolWithOutputSchema' Sources/LogicProMCP/Server/LogicProServer.swift | |
| Read resources | 19 static resources — health, transport, already-open Tempo List, tracks, mixer, markers, project info/audit/cleanup-plan, MIDI ports, MCU state, library inventory, stock plugins/census/capabilities, stock instruments, Session Players, workflow skills/schema | `awk '/private static let baseResources/,/^\]/' Sources/LogicProMCP/Resources/ResourceProvider.swift \ | grep -c 'uri:'` |
| Resource templates | 12 templates — operation catalog, track, region, mixer-strip, stock plugin detail/search, stock instrument detail/search, Session Player detail, session-plan dry run, workflow detail/search | `awk '/private static let baseTemplates/,/^\]/' Sources/LogicProMCP/Resources/ResourceProvider.swift \ | grep -c 'uriTemplate:'` |
| Control channels | 7 — CoreMIDI, Accessibility, CGEvent, AppleScript, MCU, MIDIKeyCommands, Scripter | grep -n 'case .* = "' Sources/LogicProMCP/Channels/Channel.swift | |
| Locales Logic ships | 10 — de-DE en-US es-ES fr-FR it-IT ja-JP ko-KR pt-BR zh-CN zh-TW | python3 -c "import json; print(json.load(open('docs/locale/ui-labels.json'))['supported_locales'])" | |
| Supported Logic Pro | Latest Logic Pro first — desktop Logic Pro (com.apple.logic10, /Applications/Logic Pro.app). Apple Creator Studio Logic Pro Creator Studio (com.apple.mobilelogic, /Applications/Logic Pro Creator Studio.app) is recognised, not supported. Desktop Logic Pro is the only variant the release qualification matrix covers (shipVariants = [.desktop]), and the only one this release supports. Without LOGIC_PRO_BUNDLE_ID the server can still select Creator Studio: it targets the frontmost Logic; failing that a running one, then an installed one, desktop first in both. So a Creator Studio that is frontmost, or is the only Logic running, becomes the target, with no qualification evidence behind it. Set LOGIC_PRO_BUNDLE_ID=com.apple.logic10 to keep the server on desktop Logic Pro. Logic Pro 12.3 is the actively-validated target (macOS 15.6+); older versions down to the 12.0.1 floor are best-effort | ||
| Release state | Current stable: v3.19.0 — v3.19.0 |
If this project helps you make music with Claude, Cursor, Codex, or any MCP client, star the repo. It helps the project reach more Logic Pro users and maintainers.
Want to contribute? Start with the Contributing Guide and the open issues. Many docs, examples, validation tests, and CLI-message improvements do not require Logic Pro.
Most Logic Pro automation attempts fall into one of three traps:
Logic Pro MCP uses a different model. It routes each operation to the strongest available channel, exposes live state through MCP resources, and forces callers to handle three outcomes: confirmed, uncertain, or failed.
| Area | What agents can do | Safety/readback model |
|---|---|---|
| Transport | Play, stop, record, locate, cycle, metronome, tempo | CoreMIDI/AX routing with live logic://transport/state readback |
| Tracks | Create, delete, duplicate, select, rename, mute, solo, arm, set instruments | Mutating targets require explicit index/name; uncertain selection fails closed before writes |
| MIDI composition | Generate SMF server-side, import MIDI, send notes/CC/MMC, create virtual ports | .mid imports are constrained to server-managed temp files and must create a live track |
| Mixer | Volume, pan, plugin snapshots, guarded stock plugin insertion, MCU-driven fader bank walk | AX writes with same-surface readback for volume/pan; MCU writes verify by LCD upper-row redraw; occupied plugin slots refuse replacement |
| Library | Scan Logic's instrument library and load patches by path | Disk/AX inventory is cached; disk scan dedupes user/app-bundle .patch candidates and resolve_path classifies kind/source/loadable before set_instrument |
| Navigation | Bars, markers, zoom, view toggles | Marker navigation is target-faithful; cold-cache misses return failure instead of "next marker" |
| Project lifecycle | New, open, save, save-as, close, export plan/run, quit; cache-only session-population report | Standalone bounce terminates unsupported without UI; guarded export_run is the automated artifact path |
Tools are for actions and local artifact checks. The public write surface is intentionally small: logic_transport, logic_tracks, logic_mixer, logic_plugins, logic_midi, logic_edit, logic_navigate, logic_project, and logic_system. logic_audio is read-only and verifies exported files after Logic writes them.
Resources are for state. Clients should read logic://transport/state, logic://tracks, logic://mixer, logic://project/info, logic://project/audit, logic://project/cleanup-plan, logic://midi/ports, and related resources instead of burning tool calls on polling.
Evidence is separated from claims. The README points to release evidence, current-main verification, and live media artifacts instead of implying that a successful command equals a verified Logic state.
logic_plugins.* uses HC v2 (hc_schema: 2) and returns State A only after project identity, target track, physical insert slot, plugin identity, and readback all agree.v3.19.0 is the current stable line, and README claims stay tied to shipped artifacts, release-tree tests, or explicitly linked live evidence.Logic Pro ships ten UI locales, and this server tracks all ten as the default scope (not just en/ko): de-DE, en-US, es-ES, fr-FR, it-IT, ja-JP, ko-KR, pt-BR, zh-CN, zh-TW. UI-string matching (menu items, header labels, dialog buttons) lives in docs/locale/ui-labels.json, the canon index every locale-sensitive locator derives from.
Each of the 203 canon labels carries a per-locale coverage: measured (read from a live, running Logic window and recorded with the host, date, and AX role/attribute), derived (computed from Apple's own .strings tables by Scripts/derive_label_variants.py, not read from a live window), unmeasured, or retired (one label, headerPanHint, superseded by sliderPanHint and kept in t
Only the beginning is shown; read the rest in the repo