I’ve now tested the third-party Dorico MCP server discussed here, using the Astra model through OpenAI’s Codex desktop app and disposable scores in Dorico 6.2.30. I thought the results might help move this discussion forward.
What prompted these tests was my experience using Astra for music tasks. Its ability to read notation, identify possible discrepancies, and reason about musical details has felt substantially stronger than that of previous models I’ve used. That is my practical impression, rather than a formal comparison, but it has made AI-assisted score checking much more useful to me.
The next question was whether those capabilities could translate into reliable, verifiable corrections within Dorico.
The initial MCP integration needed repairs, including connection handling and some command definitions. After those changes, we successfully demonstrated pitch changes, articulations, dynamics, a crescendo, saving and reopening, and Undo.
The remaining difficulty is reliable musical targeting and verification.
In one controlled test, Astra, operating through Codex, visually selected a starting note and then used MCP commands to navigate to another bar and note. It changed that note from D5 to D6 and restored D5 through MCP Undo. Dorico’s display confirmed both changes.
However, the getstatus and getproperties responses were identical before the pitch change, after it, and after Undo. Those queries therefore could not independently verify the pitch correction.
This seems closely related to the earlier discussion about accessing score data through the Remote Control API. Could the Dorico team clarify:
-
Is there a supported way to read a selected note’s pitch, instrument, rhythmic position, and event IDs?
-
Can a client reliably select an event by flow, instrument, bar, and beat, without first selecting it on screen?
-
If these capabilities are not currently exposed, could they be considered for future API development?
Our tests do not prove that every possible approach is unavailable, and I would welcome guidance on anything we may have missed. Some problems clearly belonged to the third-party server and were fixable without changes to Dorico.
There is a practical efficiency issue here, too. Our current hybrid approach still needs visual selection and checking, so we have not demonstrated a speed advantage or measured any reduction in AI subscription usage. Reliable targeting and readback could allow reviewed corrections to be applied and verified in batches, potentially reducing both time and repeated AI interactions.
For now, AI-assisted auditing followed by manual correction appears to offer the best balance in my workflow. But Astra’s musical understanding, combined with these successful editing tests, makes me hopeful about what a more capable integration could accomplish—with the musician reviewing the judgments and retaining control.
An official MCP server would be welcome, but a documented interface providing precise musical access would also let independent developers build dependable tools. Even richer read-only score access would be a valuable first step.
I would be happy to provide the disposable examples, command logs, and before/after query comparisons.
Martin Wolk
