Skip to main content
Glama

Cesure

Server Details

Write, edit, transpose and play guitar tabs and staff notation in Cesure.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

Score is being calculated.

Available Tools

14 tools
create_scoreCreate a scoreInspect

Create a score you write as a .cesure and open it as a draft, e.g. {"version":2,"score":{"title":"Song","tempo":96,"tracks":[{"name":"Guitar","instrument":"GUITAR","measures":[{"staves":[{"voices":["(0.6 2.5 2.4).2 r.2"]}]}]},{"name":"Bass","instrument":"BASS","tuning":[{"note":"G","octave":2},{"note":"D","octave":2},{"note":"A","octave":1},{"note":"E","octave":1}],"measures":[{"staves":[{"voices":["0.4.2 r.2"]}]}]}]}} (a track without tuning is a guitar in standard tuning; tuning lists the open strings from string 1). Every measure must read and fill its time signature, or nothing is created and the refusal names each fault with its place. Measure notation (.cesure): each voice is one string of beats separated by spaces. beat = content.duration[{d | tu 3}]; content = fret.string[{note props}] | pitch | (note note …) | r. Durations, on EVERY beat: 1 whole, 2 half, 4 quarter, 8, 16, 32, 64. Strings from 1 (the highest); x as fret mutes. A pitch (C4 = middle C, F#3, Bb2) lets Cesure choose string and fret; a staff is all by pitch or all fret.string. Beat props: d dotted, tu 3 triplet on each beat of the group. Note props: t tie, h hammer/pull-off and sl slide to the next note on that string, v vibrato, b (0 4) a whole-tone bend. EACH VOICE FILLS ITS TIME SIGNATURE EXACTLY: 4/4 = 4 quarters = 8 eighths, 3/4 = 3 quarters, 6/8 = 6 eighths; complete a short one with rests. A measure without numerator/denominator is 4/4, whatever came before. A second voice (a bass under a melody) is a second string in voices. Examples (4/4): "5.3.4 7.3.4 r.2" (fret 5 then 7 on string 3 (strings from 1, the highest), quarters; a half rest); "(0.1 1.2 0.3).2 x.6.4 r.4" (a chord, a half; a muted note); "E4.8 F#4.8 G4.4 Bb3.2" (notes by pitch (C4 = middle C): Cesure chooses string and fret); "5.3.4{d} 5.3.8 2.1.8{tu 3} 3.1.8{tu 3} 5.1.8{tu 3} 7.2{h}.8 8.2.8" (dotted quarter; a triplet of eighths (each beat carries it); a hammer-on to the next note); "5.3.2 5.3{t}.4 7.2{sl}.8 9.2{v}.8" (a tie to the note before, a slide, a vibrato). A measure: {"id":"p2","numerator":3,"denominator":4,"staves":[{"voices":["0.1.8 2.1.8 3.1.4 5.1.4","0.6.2{d}"]}]}. The full format: https://cesure.app/format

ParametersJSON Schema
NameRequiredDescriptionDefault
scoreYesThe score, a .cesure written in the notation described above.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

edit_measuresEdit measures
Destructive
Inspect

Rewrite measures from..to (numbers, inclusive) of ONE track of the draft with .cesure measures, as read_score returns them; to = from - 1 inserts before from. Keep the id of each measure you keep, even rewritten: a measure written without its id is a new measure, and the one it stood for is removed with what it carried (a repeat it opened, say). Leave the id out only for a new one; a measure of the range left out is removed, and measures [] removes the whole range. Unlike the format's own advice (a range of ids, every track rewritten), the other tracks follow column by column, as in the editor: a column is inserted, removed or given a time signature on every track; its repeat signs are carried as the editor carries them, and a tempo change stays on its column (on the next one when its column is removed), so no other column changes tempo. A note may be written by its pitch (E4, Bb3) in place of fret.string: Cesure chooses its string and fret, and never moves a note written with its string. The answer names the measures written. Every measure you write must read and fill its time signature, or nothing is written and the refusal names each fault with its place; one handed back as it is (id and content) is not judged. Measure notation (.cesure): each voice is one string of beats separated by spaces. beat = content.duration[{d | tu 3}]; content = fret.string[{note props}] | pitch | (note note …) | r. Durations, on EVERY beat: 1 whole, 2 half, 4 quarter, 8, 16, 32, 64. Strings from 1 (the highest); x as fret mutes. A pitch (C4 = middle C, F#3, Bb2) lets Cesure choose string and fret; a staff is all by pitch or all fret.string. Beat props: d dotted, tu 3 triplet on each beat of the group. Note props: t tie, h hammer/pull-off and sl slide to the next note on that string, v vibrato, b (0 4) a whole-tone bend. EACH VOICE FILLS ITS TIME SIGNATURE EXACTLY: 4/4 = 4 quarters = 8 eighths, 3/4 = 3 quarters, 6/8 = 6 eighths; complete a short one with rests. A measure without numerator/denominator is 4/4, whatever came before. A second voice (a bass under a melody) is a second string in voices. Examples (4/4): "5.3.4 7.3.4 r.2" (fret 5 then 7 on string 3 (strings from 1, the highest), quarters; a half rest); "(0.1 1.2 0.3).2 x.6.4 r.4" (a chord, a half; a muted note); "E4.8 F#4.8 G4.4 Bb3.2" (notes by pitch (C4 = middle C): Cesure chooses string and fret); "5.3.4{d} 5.3.8 2.1.8{tu 3} 3.1.8{tu 3} 5.1.8{tu 3} 7.2{h}.8 8.2.8" (dotted quarter; a triplet of eighths (each beat carries it); a hammer-on to the next note); "5.3.2 5.3{t}.4 7.2{sl}.8 9.2{v}.8" (a tie to the note before, a slide, a vibrato). A measure: {"id":"p2","numerator":3,"denominator":4,"staves":[{"voices":["0.1.8 2.1.8 3.1.4 5.1.4","0.6.2{d}"]}]}. The full format: https://cesure.app/format

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesLast measure replaced; from - 1 to insert.
fromYesFirst measure replaced, from 1.
draftYesThe draft: the id a previous tool gave (draft).
trackNoThe track, from 1 (default 1).
measuresYesThe new measures, .cesure measure objects as read_score returns them; [] removes the range.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

import_scoreImport a scoreInspect

Open as a draft a score the person gives whole: a .cesure file's text, AlphaTex, or an "Open in Cesure" link. The score is taken as it is, never rewritten.

ParametersJSON Schema
NameRequiredDescriptionDefault
scoreYesThe .cesure text, AlphaTex, or Open in Cesure link, verbatim.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

list_my_scoresList my scores
Read-onlyIdempotent
Inspect

The scores of the person's linked Cesure account ("My scores"), most recently changed first, 200 a call (offset skips the first ones; when there are more, the answer's more gives the next offset): id, title, when last changed, and its tags; then every tag of the account, with how many scores carry it. Needs the account linked.

ParametersJSON Schema
NameRequiredDescriptionDefault
offsetNoHow many scores to skip, most recent first (default 0): the answer's more gives the next.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

open_in_cesureOpen in Cesure
Read-onlyIdempotent
Inspect

Show the draft in the Cesure player, to read and hear it: call it once the score is ready. Where the host draws apps, the player plays the draft in the conversation; everywhere, the answer gives the short link that opens it in Cesure, with no account, and the score's summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
draftYesThe draft: the id a previous tool gave (draft).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

organize_my_scoresOrganize my scores
DestructiveIdempotent
Inspect

Organize the scores of the linked account with tags, in ONE batch applied whole or not at all (at most 500 changes, counting the tags add creates): create_tags creates tags, add puts a tag on a score (creating the tag if the account has none of that name; names compare without case), remove takes it off, delete_unused_tags deletes tags no score carries. BEFORE calling it, show the person your plan grouped by tag and what you will not do, and wait for their yes. It never renames, deletes or changes a score, and no score's date moves. To reverse an organizing, call it again with the opposite changes (remove what was added, delete_unused_tags for the tags it created). Needs the account linked.

ParametersJSON Schema
NameRequiredDescriptionDefault
addNoTags to put on scores.
removeNoTags to take off scores.
create_tagsNoTags to create, by name.
delete_unused_tagsNoTags to delete if no score carries them, by name.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

read_my_scoreOpen one of my scoresInspect

Open one score of the linked account as a draft, by the id list_my_scores gives: the answer is the draft and the score's summary; read_score reads its measures. Needs the account linked.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe score's id, as list_my_scores gives it.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

read_scoreRead measures
Read-onlyIdempotent
Inspect

Read measures from..to of a track of the draft (all by default, 200 at most a call: past them, the answer's more says where to go on) as .cesure measures — id, time signature, voices in the compact notation (second voice, hands, ties included) — with the repeat signs and tempo changes of those measures, by id, a summary of the score and one of the track.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoLast measure (default the last; at most 200 are read a call).
fromNoFirst measure, from 1 (default 1).
draftYesThe draft: the id a previous tool gave (draft).
trackNoThe track, from 1 (default 1).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

refingerPlace the notes again
Destructive
Inspect

Place the notes of the draft again on the neck (string and fret), keeping their pitches: mode auto, standard (lowest frets) or optimized (fewest hand moves); searchCapo lets it choose a capo.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoauto (default), standard or optimized.
draftYesThe draft: the id a previous tool gave (draft).
trackNoThe track, from 1 (default every track).
searchCapoNoLet the placement choose a capo (default false).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

save_new_scoreSave as a new scoreInspect

Save the draft as a NEW score in the linked account's library (never overwrites one; a free account keeps 3 scores), under a title (default the score's own). Needs the account linked.

ParametersJSON Schema
NameRequiredDescriptionDefault
draftYesThe draft: the id a previous tool gave (draft).
titleNoThe title in the library (default the score's own).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

search_catalogSearch the catalog
Read-onlyIdempotent
Inspect

Search Cesure's catalog of free pieces by title or composer; returns title, artist, licence and link.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoWords of a title or a composer; empty lists the catalog.
languageNoen (default), fr or es.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

transposeTranspose
Destructive
Inspect

Shift the notes of the draft by some semitones; the placement follows. A note no string of its track can carry once shifted stays where it was: the answer counts them (notesLeftInPlace).

ParametersJSON Schema
NameRequiredDescriptionDefault
draftYesThe draft: the id a previous tool gave (draft).
semitonesYesSemitones, -24 to 24.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

undo_last_changeUndo the last change
Destructive
Inspect

Give the draft back the score it held before its last change (edit_measures, transpose, refinger, or an undo): the score it holds now becomes the one before, so calling it again redoes. One step only, and only when Cesure had room to keep that score; it says so when it had not.

ParametersJSON Schema
NameRequiredDescriptionDefault
draftYesThe draft: the id a previous tool gave (draft).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

update_my_scoreSave over my score
Destructive
Inspect

Write the draft back over the score of the linked account's library it was opened from (read_my_score), as saving in the app does: refused, nothing overwritten, when the score was saved in Cesure since. The library keeps the score's earlier version. Needs the account linked.

ParametersJSON Schema
NameRequiredDescriptionDefault
draftYesThe draft: the id a previous tool gave (draft).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 14 tool updates
    • First observedcreate_score
    • First observededit_measures
    • First observedimport_score
    • First observedlist_my_scores
    • First observedopen_in_cesure
    • First observedorganize_my_scores
    • First observedread_my_score
    • First observedread_score
    • First observedrefinger
    • First observedsave_new_score
    • First observedsearch_catalog
    • First observedtranspose
    • First observedundo_last_change
    • First observedupdate_my_score

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources