
Doricomcp
Read and edit a live Dorico 6 score by conversation, through Dorico's own interfaces.
- tools
- 43
- transport
- STDIO
- last updated
- Nov 10, 2026
Tools
43 toolsPublic tool metadata for what this MCP can expose to an agent.
dorico_statusLive Dorico status (mode, selection, note input, undo availability) from Remote Control.
Live Dorico status (mode, selection, note input, undo availability) from Remote Control.
No parameter schema in public metadata yet.
list_capabilitiesThe confirmation matrix: every capability, its mechanism and whether the live harness confirmed it.
The confirmation matrix: every capability, its mechanism and whether the live harness confirmed it.
No parameter schema in public metadata yet.
describe_commandsSearch Dorico's 1,200 commands (regex on name/display name) with their parameters and enum values.
Search Dorico's 1,200 commands (regex on name/display name) with their parameters and enum values.
No parameter schema in public metadata yet.
describe_enumsExact accepted values of a Dorico enum type (or regex over enum type names).
Exact accepted values of a Dorico enum type (or regex over enum type names).
No parameter schema in public metadata yet.
describe_propertyType, display name and enum values of an event property (e.g. kNoteVelocity, kEventColour).
Type, display name and enum values of an event property (e.g. kNoteVelocity, kEventColour).
No parameter schema in public metadata yet.
list_libraryLibrary entities (ids + names), live from Dorico: kInstrumentCollection, kClefCollection, kPlayingTechniqueAppearanceCollection ...
Library entities (ids + names), live from Dorico: kInstrumentCollection, kClefCollection, kPlayingTechniqueAppearanceCollection ...
No parameter schema in public metadata yet.
run_commandEscape hatch: run any catalogued Dorico command ("Namespace.Command?Param=value&..."), validated against the catalogue.
Escape hatch: run any catalogued Dorico command ("Namespace.Command?Param=value&..."), validated against the catalogue.
No parameter schema in public metadata yet.
screenshotA picture of Dorico's score window, to check engraving by eye.
A picture of Dorico's score window, to check engraving by eye.
No parameter schema in public metadata yet.
list_dialogsDorico's open dialogs (every window other than a project window): title, modal, the texts shown and the controls (role, title or label ...
Dorico's open dialogs (every window other than a project window): title, modal, the texts shown and the controls (role, title or label ...
No parameter schema in public metadata yet.
dialog_clickPress a control in a Dorico dialog: a button ("OK", "Cancel", "Apply", "Close"), checkbox, radio button or tab, by its title, the label ...
Press a control in a Dorico dialog: a button ("OK", "Cancel", "Apply", "Close"), checkbox, radio button or tab, by its title, the label ...
No parameter schema in public metadata yet.
dialog_setSet a control in a Dorico dialog: a checkbox or radio button to true/false, a text field to text, a pop-up or combo box to one of its items ...
Set a control in a Dorico dialog: a checkbox or radio button to true/false, a text field to text, a pop-up or combo box to one of its items ...
No parameter schema in public metadata yet.
refreshForget cached reads (time signatures, dynamics, keys, structure); use after editing in Dorico by hand.
Forget cached reads (time signatures, dynamics, keys, structure); use after editing in Dorico by hand.
No parameter schema in public metadata yet.
get_score_overviewPlayers, instruments, layouts and flows; per flow its streams and voices (voice-stream id -> instrument, staff index, voice index).
Players, instruments, layouts and flows; per flow its streams and voices (voice-stream id -> instrument, staff index, voice index).
No parameter schema in public metadata yet.
get_bar_mapBar numbers <-> positions, time signatures (read by Dorico's own equality API, cached) and optionally key signatures (include_keys: a ...
Bar numbers <-> positions, time signatures (read by Dorico's own equality API, cached) and optionally key signatures (include_keys: a ...
No parameter schema in public metadata yet.
read_musicNotes, chords, rests (explicit and implicit), grace notes, tuplets, slurs and articulations per voice, with exact positions, durations ...
Notes, chords, rests (explicit and implicit), grace notes, tuplets, slurs and articulations per voice, with exact positions, durations ...
No parameter schema in public metadata yet.
read_markingsDynamics (levels incl. sfz/rfz/fz, hairpins), slurs, clefs, ottavas, text, tempo (text, bpm), holds, rehearsal marks, repeats, breaks ...
Dynamics (levels incl. sfz/rfz/fz, hairpins), slurs, clefs, ottavas, text, tempo (text, bpm), holds, rehearsal marks, repeats, breaks ...
No parameter schema in public metadata yet.
read_context_atWhat is in force at a point: time signature, key signature, clef, dynamic level (and a hairpin running through the point), ottava, the last ...
What is in force at a point: time signature, key signature, clef, dynamic level (and a hairpin running through the point), ottava, the last ...
No parameter schema in public metadata yet.
check_voice_leadingVoice-leading check of the score: parallel and contrary fifths/octaves/unisons, hidden fifths/octaves in the outer voices, crossings ...
Voice-leading check of the score: parallel and contrary fifths/octaves/unisons, hidden fifths/octaves in the outer voices, crossings ...
No parameter schema in public metadata yet.
score_changesWhat changed in a flow: without since, take a snapshot and return its token; with since=<token>, list the events added, removed and changed ...
What changed in a flow: without since, take a snapshot and return its token; with since=<token>, list the events added, removed and changed ...
No parameter schema in public metadata yet.
get_selectionThe current selection in Dorico (event type and, if available, its properties).
The current selection in Dorico (event type and, if available, its properties).
No parameter schema in public metadata yet.
get_optionsHouse-style options: kind kEngraving (per score), kNotation (per flow: flow_id), kLayout (per layout: layout_id).
House-style options: kind kEngraving (per score), kNotation (per flow: flow_id), kLayout (per layout: layout_id).
No parameter schema in public metadata yet.
add_notesWrite notes, chords and rests one after another from a position.
Write notes, chords and rests one after another from a position.
No parameter schema in public metadata yet.
delete_rangeDelete the notes, rests, grace notes and tuplets of a voice in a range (bars inclusive, or positions [from_pos, to_pos)); slurs, text and ...
Delete the notes, rests, grace notes and tuplets of a voice in a range (bars inclusive, or positions [from_pos, to_pos)); slurs, text and ...
No parameter schema in public metadata yet.
delete_eventsDelete events by id: notes, rests or markings (dynamics, hairpins, slurs, text, clefs, octave lines...).
Delete events by id: notes, rests or markings (dynamics, hairpins, slurs, text, clefs, octave lines...).
No parameter schema in public metadata yet.
set_pitchChange one note's pitch and spelling (e.g. "F#4", "Ebb5") in place: it keeps its id, rhythm, slurs and articulations.
Change one note's pitch and spelling (e.g. "F#4", "Ebb5") in place: it keeps its id, rhythm, slurs and articulations.
No parameter schema in public metadata yet.
set_durationChange a note's or rest's duration (crotchets or w h q e s t with dots).
Change a note's or rest's duration (crotchets or w h q e s t with dots).
No parameter schema in public metadata yet.
edit_notesApply an edit to notes: pitch_up/pitch_down (diatonic steps x count), chromatic_up/down, octave_up/down, respell_above/below ...
Apply an edit to notes: pitch_up/pitch_down (diatonic steps x count), chromatic_up/down, octave_up/down, respell_above/below ...
No parameter schema in public metadata yet.
add_intervalAdd a note at an interval to each given note, making a chord: "3" (third above), "-3", "maj3", "min6 below", "p5", "octave".
Add a note at an interval to each given note, making a chord: "3" (third above), "-3", "maj3", "min6 below", "p5", "octave".
No parameter schema in public metadata yet.
add_grace_noteAdd a grace note before the note at the given position (value: notated length, default quaver).
Add a grace note before the note at the given position (value: notated length, default quaver).
No parameter schema in public metadata yet.
copy_rangeCopy (or move) notes and rests of a range to another place or voice/staff (markings are not copied).
Copy (or move) notes and rests of a range to another place or voice/staff (markings are not copied).
No parameter schema in public metadata yet.
add_tupletA tuplet typed with Dorico's note input, overwriting what is there: ratio "3:2", "5:4"; unit = the tuplet's note value (e, q, s, h); notes ...
A tuplet typed with Dorico's note input, overwriting what is there: ratio "3:2", "5:4"; unit = the tuplet's note value (e, q, s, h); notes ...
No parameter schema in public metadata yet.
swap_voicesExchange the notes and rests of two voices in a range (e.g. divisi lines trading places), one undo step.
Exchange the notes and rests of two voices in a range (e.g. divisi lines trading places), one undo step.
No parameter schema in public metadata yet.
add_voiceStart a new voice on the same staff as `voice` (e.g. a second, stems-down voice), typing `notes` (add_notes syntax, plain or single-dotted ...
Start a new voice on the same staff as `voice` (e.g. a second, stems-down voice), typing `notes` (add_notes syntax, plain or single-dotted ...
No parameter schema in public metadata yet.
add_articulationstaccato, staccatissimo, tenuto, accent, marcato, stress, unstress, staccato_tenuto on notes.
staccato, staccatissimo, tenuto, accent, marcato, stress, unstress, staccato_tenuto on notes.
No parameter schema in public metadata yet.
add_spanA line from one note to another in the same voice: slur, cresc, dim, messa_di_voce (hairpins), 8va, 8vb, 15ma, 15mb (octave lines) ...
A line from one note to another in the same voice: slur, cresc, dim, messa_di_voce (hairpins), 8va, 8vb, 15ma, 15mb (octave lines) ...
No parameter schema in public metadata yet.
add_hairpinA hairpin (cresc, dim, messa_di_voce) from one position to another, e.g. bar 33 beat 0 to bar 33 beat 3/2, wherever notes start (also ...
A hairpin (cresc, dim, messa_di_voce) from one position to another, e.g. bar 33 beat 0 to bar 33 beat 3/2, wherever notes start (also ...
No parameter schema in public metadata yet.
add_dynamicAn immediate dynamic (p, pp, mp, mf, f, ff, sfz, fp, ...) on the voice's instrument at a position, also where no note starts (inside a held ...
An immediate dynamic (p, pp, mp, mf, f, ff, sfz, fp, ...) on the voice's instrument at a position, also where no note starts (inside a held ...
No parameter schema in public metadata yet.
add_note_markingkind=ornament (value tr, mordent, inv, turn), hold (fermata, breath, caesura...), playing_technique (value: a name like pizz., arco, con ...
kind=ornament (value tr, mordent, inv, turn), hold (fermata, breath, caesura...), playing_technique (value: a name like pizz., arco, con ...
No parameter schema in public metadata yet.
add_textStaff text (e.g. "dolce", "espress.") attached to a voice at a position.
Staff text (e.g. "dolce", "espress.") attached to a voice at a position.
No parameter schema in public metadata yet.
add_clefA clef change on the voice's staff: clef.treble, clef.bass, clef.alto, clef.tenor, clef.treble8ba .
A clef change on the voice's staff: clef.treble, clef.bass, clef.alto, clef.tenor, clef.treble8ba .
No parameter schema in public metadata yet.
set_tempoA tempo marking: "q=120", "Allegro q=132", "h.=60", "rit.", "a tempo".
A tempo marking: "q=120", "Allegro q=132", "h.=60", "rit.", "a tempo".
No parameter schema in public metadata yet.
set_time_signatureTime signature from a bar on: 3/4, 6/8, 2+3/8, c, cut.
Time signature from a bar on: 3/4, 6/8, 2+3/8, c, cut.
No parameter schema in public metadata yet.
set_key_signatureKey signature from a bar on: "2#", "3b", "0", or names like "Eb", "F#m", "c minor".
Key signature from a bar on: "2#", "3b", "0", or names like "Eb", "F#m", "c minor".
No parameter schema in public metadata yet.
Sponsors
Readme
doricomcp
Talk to your Dorico score. doricomcp connects Claude to a live Dorico 6 project, so you can ask about the music and have it edited for you:
Details
- Repository
- github.com/mka142/doricomcp
- Package
doricomcp- Transport
- STDIO
- Registry
- MCP registry, active