Skip to main content
Glama

Server Details

ScanSing reads printed sheet music. Give Claude a PDF or a photo of a score and it gets back MusicXML, the format MuseScore, Sibelius, Finale and Dorico open. It is the recogniser inside the ScanSing app for choir singers, offered as a connector.

Once a score is recognised, Claude can answer questions about it without recognising it again:

  • what the key, time signature, tempo and length are, and each part's range, clefs and lyrics;

  • one voice on its own, for example just the alto line of a choir piece;

  • the score or a part moved to another key, with notes respelled for the new key signature;

  • a MIDI file, one track per part, to listen to or rehearse with;

  • a short-lived download link to open the result in a browser or notation app.

It handles PDFs up to 40 pages and PNG, JPEG, HEIC, TIFF and WebP images, can recognise selected pages of a long PDF, and can split a songbook into one MusicXML per piece. A file can be given as a web link or a small image; in Claude Code, a file on your computer is sent through a one-time upload link.

Recognition spends pages from your ScanSing plan, so it is the only tool that is not read-only. Everything else works on the stored result and is free. The first connection with a new email comes with 20 free pages; paid plans start at $9 a month for 300 pages. Scores and results are deleted about an hour after recognition and are never used for training.

Ownership verified
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A3.9/5.0

Scored across 14 tools

Disambiguation4/5

Most tools have clearly distinct roles across recognition, inspection, description, export, and transformation. There is some potential confusion between get_musicxml, extract_part, get_download_link, export_midi, and export_score because several return or link to score representations, but the descriptions mostly clarify the differences.

Naming Consistency5/5

All tool names use snake_case and follow a predictable verb_noun pattern such as describe_score, export_midi, get_musicxml, and transpose_score. The naming is consistent throughout with no mixed casing or vague standalone verbs.

Tool Count5/5

The 14 tools are well scoped for a sheet-music recognition and export server. Recognition, status, description, export, transposition, labeling, upload, and quota operations each justify their place.

Completeness4/5

The surface covers the core lifecycle: inspect, recognize, check status, describe, retrieve MusicXML, export, transpose, extract parts, label notes, and manage upload links and usage. A minor gap is the lack of a tool to list or rediscover earlier recognitions, which could leave users stranded if they lose an id.

Publisher details

Operator
Andrei Bocharnikov (ScanSing) · Publisher source
Vendor relationship
First-party · Publisher source
Trust center
Not available
Restrictions
Requires a ScanSing account (sign in with OAuth or an API key). New accounts get 20 free pages; more pages need a paid plan from $9/month. · Publisher source

Available Tools

14 tools
describe_scoreDescribe a scoreA
Read-onlyIdempotent
Inspect

What is in a recognised score: title, composer, key, time signature, tempo, duration, and per part its name, range (lowest/highest note), clefs and lyrics. key is the signature as printed; keyName and mode say major or minor as the engine reads it off the music (e.g. 'E minor'; mode null when it cannot tell). Cheaper than reading the MusicXML; nothing is recognised again.

Inputs: recognition_id (required), file. Returns: object

export_midiExport MIDIA
Read-onlyIdempotent
Inspect

A link to the score as a MIDI file (one track per part) to listen to or rehearse with; optionally one part and transposed. Repeats are played once.

Inputs: recognition_id (required), key, file, part, +2 more. Returns: object

export_scoreExport PDF or PNGA
Read-onlyIdempotent
Inspect

A short-lived link to the score engraved as sheet music to print or view: a PDF of every page, or PNG pages. Works on any recognition: the original, one from label_notes (its names are engraved under the notes), and optionally one part, transposed or labelled on the way. The score is laid out anew from the MusicXML, not drawn over the scan. Nothing is recognised again, no pages are charged.

Inputs: recognition_id (required), key, file, page, +7 more. Returns: object

extract_partExtract a partA
Read-onlyIdempotent
Inspect

The MusicXML of one part (or a few) of a recognised score, e.g. the alto line of a choir piece. Part names are in describe_score.

Inputs: part (required), recognition_id (required), file, save_to. Returns: object

fit_rangeDoes it fit a rangeA
Read-onlyIdempotent
Inspect

Whether a part (default: the whole score) lies within a range, a singer's voice, an instrument's compass, a kalimba's tines, and how to make it: lowest/highest are its notes now, fits every transposition that puts them inside low…high, nearest first, with the key it lands in (empty: no shift fits). Pass a shift's semitones to transpose_score. Nothing is recognised again, no pages are charged.

Inputs: low (required), high (required), recognition_id (required), file, +1 more. Returns: object

get_musicxmlGet MusicXMLA
Read-onlyIdempotent
Inspect

The MusicXML of an earlier recognition, a slice at a time (or saved to a local file). With labels, each note's name is written under it (see label_notes); no pages are charged.

Inputs: recognition_id (required), labels, offset, save_to, +2 more. Returns: object

get_recognitionGet a recognitionA
Read-onlyIdempotent
Inspect

Status and summary of an earlier recognition.

Inputs: recognition_id (required). Returns: object

get_usagePages left this monthA
Read-onlyIdempotent
Inspect

Pages this key has used and has left this month, and its plan. Shared keys (plan owner/shared) have no quota and report nulls.

Inputs: no named parameters. Returns: object

inspect_scoreCount pagesA
Read-onlyIdempotent
Inspect

The kind and page count of a file, without recognising it or charging pages. Use it to pick pages for a long PDF or to check the quota (get_usage) first. Calls the ScanSing API, see https://scansing.app/mcp/.

Inputs: url, path, attachment, file_base64. Returns: object

label_notesLabel notesAInspect

A new recognition whose MusicXML has each printed note's name written under it as a lyric line of its own, as method books print it for beginners: a chord is named top to bottom, sung words stay where they are. letters and solfege-fixed name the pitch; movable-do, degrees and kalimba count from the key's tonic. The returned id is the labelled result (use it with export_score for a printable PDF, extract_part, transpose_score…); the original labelledFrom stays as it was. Nothing is recognised again, no pages are charged.

Inputs: recognition_id (required), key, scheme, save_to. Returns: object

recognize_sheet_musicRecognize sheet musicAInspect

Recognize a PDF or image of sheet music and return its MusicXML with a summary (pages, parts, measures, warnings). Give exactly one of url, attachment, file_base64 or path. A file on the user's own machine (a remote server cannot read it, and a PDF is too big for base64): use get_upload_link instead. Calls the ScanSing API, see https://scansing.app/mcp/.

Inputs: url, mode, path, pages, +7 more. Returns: object

transpose_scoreTransposeA
Read-onlyIdempotent
Inspect

The MusicXML moved to another key: by semitones (-2 = a tone down) or to a key (nearest direction; give both to choose the octave). Notes are respelled for the new key signature; chord symbols move too.

Inputs: recognition_id (required), key, file, part, +2 more. Returns: object

Tool Schema Changelog

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

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      A
      quality
      D
      maintenance
      Enables Claude AI to convert, edit, and analyze MuseScore files (.mscz, .musicxml, MIDI) through natural language commands, supporting format conversion, transposition, harmony analysis, and more.
      20
      1
      -
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI tools to convert music scores between MusicXML, MIDI, ABC, MEI and Humdrum while verifying each result note by note and reporting exactly what was kept or lost. Also supports rendering printable sheet music and audio previews, transposing, extracting parts or bars, validating bars, and comparing versions across formats.
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      An MCP server that transcribes audio files into MIDI and MusicXML scores, converts MIDI to notation, and extracts playable note data for DAWs. It enables Claude to turn raw recordings into editable, shareable music scores via three simple tools.
      1
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables Claude to compose real music from chord-symbol descriptions into MIDI files and audio previews, with musicology cross-checks on every chord.
      1
      AGPL 3.0
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.

    Resources