Chisle
The coding-agent plugin that bills 52% of a bare model across 20 live tasks. Terse persona + tool-output compressor + context diet.
Compose, control, inspect, and verify real Logic Pro sessions through an open-source local MCP server.
Developer toolsSwift · PythonGitHub @MongLong0214OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Local MCP server for stateful, fail-closed Logic Pro control and live project readback.
Loading the full README.
Read the full README ↗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.
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 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 |
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.
This is the beginning of the README. Read the rest at the original. Read the full README ↗
LOGIC_PRO_BUNDLE_ID=com.apple.logic10| Release state | Current stable: v3.19.0 — v3.19.0 |