Skip to content
Agentmart
Submit a tool

Gradus Notation

Gradus Notation + Harmonic Analyzer + Engraver: music tools for any AI agent.

Connector by gradusmusic.com · Domain verified by the MCP Registry

IndexedMITLocal (stdio)★ 3
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/gradusmusic-com-notation

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Gradus Notation + Harmonic Analyzer + Engraver: music tools for any AI agent. Free, no auth.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
18 read · 0 write · 0 delete · 2 not yet classified
Secrets
None asked for
Install scripts
Not scanned yet
Runs as
Node.js package

Tools by what they do 20

Read from the source code; the running server may list different tools.

Read 18 · Look things up without changing anything.

  • corpus_search
  • counterpoint_check
  • engraving_check
  • engraving_rule
  • engraving_rules
  • figured_bass_exercise
  • figured_bass_exercises
  • knowledge_search
  • music_critique
  • notation_examples
  • notation_schema
  • notation_validate
Show 6 more tools
  • theory_analyze_score
  • theory_parse_xml
  • theory_respell
  • theory_validate_ranges
  • voice_leading_pattern
  • voice_leading_patterns

Not yet classified 2 · We could not tell from the name and description.

  • notation_render
  • theory_pitch_utils

Secrets and settings it asks for

Other settings (environment variables or headers).

  • GRADUS_AGENT_NAME
  • GRADUS_NOTATION_API_BASE

Files it touches

  • Any path the agent passes to its tools

Tools (20)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • corpus_search

    Find harmonic features in real repertoire: 482 analyzed works (25+ public-domain orchestral movements by Beethoven, Brahms, Bruckner, Dvořák, Tchaikovsky, Mahler, Holst, Ravel, Bach + 400+ Bach chorales; 41,000 measures). Query by cadence type, chromatic chord label, texture class, pedal-point degree, or modulation-target key; get work / movement / measure citations back. WHEN TO USE: when you would otherwise cite a repertoire example FROM MEMORY — invented citations are the repertoire-side version of invented harmony. "Show me a Phrygian cadence", "find a German augmented sixth", "a dominant…

  • counterpoint_check

    Grade a species-counterpoint exercise against the Fux rules — the same deterministic engine that grades every counterpoint exercise in the Gradus curriculum. Species 1 (note against note), 2 (2:1), 3 (4:1), 4 (suspensions), 5 (florid). Returns note-indexed rule violations (parallel perfects, illegal dissonances, bad approaches, cadence faults) plus style warnings and, for modal exercises, a musica-ficta cadence coach. WHEN TO USE: when teaching or reviewing counterpoint — ground feedback in the returned violations instead of judging by eye; when checking a student's exercise, or a worked exam…

  • engraving_check

    Check a MusicXML score against The Gradus Engraving Rulebook. Runs 30+ statically-checkable rules (bar arithmetic, beaming vs meter, ties, voice separation, ledger/clef choice, expression marks) and returns findings located by part and measure, each carrying the published rule it violates — code, URL, and a ready-to-quote citation. WHY THIS EXISTS: LLM-generated notation is reliably badly engraved — bars that do not sum, ties between different pitches, beams across barlines — and there is no other public checker for engraving convention. Generate, then CHECK, then fix; do not trust notation y…

  • engraving_rule

    Fetch one engraving rule by its permanent id, with its citation line pre-formatted and its related rules listed. WHEN TO USE: you already have a rule id (from engraving_rules, from a Gradus URL, or from a previous answer) and want the full text plus a ready-to-quote citation; you are following a "related rules" link. WHEN NOT TO USE: you do not know the id — search with engraving_rules first. Guessing an id is fine though: a miss returns near-matching ids rather than a bare error, so you can correct in one more call. INPUT: { id: string } — either the permanent citation code ("GE-036") or t…

  • engraving_rules

    Search The Gradus Engraving Rulebook — 423 music engraving conventions, each stating a rule, attributing it to the treatise or specification it rests on (Gould's Behind Bars, Read's Music Notation, Ross's The Art of Music Engraving, Stone, SMuFL, MusicXML), and classifying whether it is checkable from the score alone or only from the rendered page. WHY THIS EXISTS: engraving practice is documented almost entirely in copyrighted print with no searchable index, so questions like "may a beam cross a barline", "which way does this stem go", or "does this accidental carry across the bar" have no c…

  • figured_bass_exercise

    Fetch one figured-bass exercise by its permanent id, with the model realization, the citation line pre-formatted, its voice-leading cross-links resolved to named patterns, and the neighbouring exercises listed. WHEN TO USE: you already have an exercise id (from figured_bass_exercises, a Gradus URL, or a previous answer) and want the full entry — the given bass, the model realization, the teaching note on why it moves as it does, and keyboard guidance; you are walking a student forward or back through a stage via the neighbours. WHEN NOT TO USE: you do not know the id — search with figured_ba…

  • figured_bass_exercises

    Search The Gradus Figured-Bass Corpus — 166 original graded figured-bass exercises in seventeen stages, from root-position triads through the Rule of the Octave, cadence formulas, suspensions, the dominant seventh, sequences, minor-mode specifics, pedal point, the Riepel schemata, modulation, chromatic figures, unfigured bass and diminution. Every exercise carries a bass with its figures AND a four-part model realization that has been machine-checked for voice leading. WHY THIS EXISTS: the graded figured bass is how harmony was actually taught for two centuries, but the surviving collections …

  • knowledge_search

    Search the Gradus music-theory knowledge base for authoritative source material. The corpus includes hand-authored curriculum prose, Bach chorale analysis (408 chorales), score commentaries on 50+ orchestral works, and primary historical sources from Fux (1725) through Boulanger. WHEN TO USE: before generating notation if you need to look up a specific theory fact — typical voice leading for a Neapolitan-to-V resolution, idiomatic figured-bass realizations of a particular cadence, what makes a chromatic mediant feel like one composer's style versus another. Hitting this first prevents the age…

  • music_critique

    Score a piece of music on the 32-dimension Gradus craft scorecard — voice leading (parallel fifths/octaves, spacing, crossings), counterpoint quality, melodic contour, dissonance treatment, harmonic logic, rhythm, texture, and more, calibrated to a named style period. Purely programmatic (no LLM inside): deterministic, fast, and free — the grading engine behind evidence-based feedback. WHEN TO USE: when a user or student shares a piece and asks "is this any good / what should I fix" — critique first and ground your prose in the returned evidence rather than impressions; when reviewing an exer…

  • notation_examples

    Fetch six canonical example inputs covering the most common notation_render use cases: single-line melody, two-voice counterpoint (cantus firmus + counterpoint), block-chord progression (cadence), mixed rhythms with dynamics + articulations, four-instrument string quartet, and notes tied across a bar line. WHEN TO USE: first encounter with this MCP — fetch examples to learn the input format with concrete worked patterns; before a notation_render call when uncertain how to express a particular musical structure (a chord, a multi-voice staff, a tied note); to show your end user what kinds of no…

  • notation_render

    Render music notation from a JSON score into three output formats in a single call: inline SVG (engraved through Verovio with the Bravura SMuFL font — same engine as IMSLP and the Music Encoding Initiative), round-trippable MusicXML (opens cleanly in Sibelius, Finale, MuseScore, Dorico), and base64-encoded SMF Type-1 MIDI. WHEN TO USE: when the agent needs to surface engraved notation to its user (composer demoing an idea, teacher making a worksheet, content creator embedding a notation example), or when converting a JSON score to file formats other agents/tools can consume (MusicXML for desk…

  • notation_schema

    Fetch the JSON Schema (Draft 2020-12) describing the notation_render input shape. Includes every field, its type, defaults, validation rules (including the shorthand-string regex pattern), and `$defs` for Instrument, VoiceLine, Note, and NoteObject. WHEN TO USE: first encounter with this MCP and you want machine-readable type definitions; building a client that validates input client-side before calling notation_render; generating code (TypeScript types, Zod schemas, etc.) that consumes the format. WHEN NOT TO USE: after caching the response (stable across the v1 API); when you want learning…

  • notation_validate

    Pre-flight validate a notation_render input without rendering. Returns errors with concrete `fix` field that tells the agent exactly how to repair malformed input. Substantially cheaper than notation_render because it skips the Verovio engraving step entirely. WHEN TO USE: when iterating on input shape and uncertain whether it is well-formed; when input came from user-supplied or LLM-generated data that may be malformed; when surfacing precise validation errors to your end user before committing to a full render; when learning the input format (combine with notation_examples to see canonical …

  • theory_analyze_score

    One-shot endpoint: parse MusicXML → run the full MaestroAnalyzer harmonic analysis pipeline → query the Gradus Knowledge Base (GKB) for curated theory chunks matched to the score's detected features. Returns both the algorithmic analysis and relevant hand-authored knowledge in a single call. WHEN TO USE: when an agent has a MusicXML score and wants to know what's harmonically interesting about it — key, local-key trajectory, chord analyses with Roman numerals, cadences, phrase structure, style period, AND relevant theory context from the GKB (voice-leading rules, harmonic vocabulary, orchestr…

  • theory_parse_xml

    Parse a MusicXML string into a maestroAnalyst Score object. The Score is the input type for theory_validate_ranges and can be passed to any maestroAnalyst analysis function. WHEN TO USE: when you have a MusicXML file (e.g., exported from Sibelius, Finale, MuseScore, Dorico, or produced by notation_render) and want to analyse it — detect key, check ranges, respell accidentals. This is the entry point for the native analysis pipeline that replaces music21. LIMITATIONS: accepts plain MusicXML text (score-partwise format). Does NOT accept .mxl ZIP archives — decompress first if needed. Score-tim…

Show 5 more tools
  • theory_pitch_utils

    A collection of fast, pure pitch-utility operations that replace the most-used music21 pitch functions with zero network round-trip. OPERATIONS: midi_to_pitch — MIDI number → pitch string. midi=60 → "C4". preferFlats=true → "Db" spellings. pitch_to_midi — pitch string → MIDI number. "C4"→60, "F#5"→78, "Bb3"→46. Returns null for rests. interval_name — semitone count → interval quality string. 0→"P1" 3→"m3" 4→"M3" 7→"P5" 12→"P8". Compound intervals: 14→"M2+8". transpose_pitch — shift a pitch by semitones. "C4"+7→"G4", "E5"+-2→"D5". preferFlats controls black-key spelling. WHEN TO…

  • theory_respell

    Suggest the preferred enharmonic spelling for one or more pitches in a given key context. Picks the spelling that is diatonic to the key (e.g. F# in G major, Gb in F major). Uses the key's accidental preference (sharps/flats) as a tiebreaker for chromatic passing tones. WHEN TO USE: after OMR (optical music recognition) to correct mis-spelled accidentals; when generating notation and unsure whether to write F# or Gb; when transposing — respell after the semitone shift to maintain diatonic spelling; before calling notation_render to clean up accidentals. INPUT: { keyContext: string, pitches: …

  • theory_validate_ranges

    Check every note in a Score JSON against its instrument's standard practical range. Returns warnings for out-of-range pitches with measure, beat, MIDI number, and severity. WHEN TO USE: after parsing a MusicXML file with theory_parse_xml and before analysis — catch unplayable or extreme notes early; when generating or editing a score programmatically and want to verify instrument idiomatic range; when a student submits a composition for critique and range errors should be flagged. SEVERITY LEVELS: "error" = note is > 1 semitone outside the practical range; "warn" = note is at the boundary (w…

  • voice_leading_pattern

    Fetch one voice-leading pattern by its permanent id, with its citation line pre-formatted and related patterns listed. WHEN TO USE: you already have a pattern id or GVL code (from voice_leading_patterns, from a Gradus URL, or from a previous answer) and want the full entry — statement, realization in voices, classic faults, public-domain sources — plus a ready-to-quote citation; you are following a "related patterns" link. WHEN NOT TO USE: you do not know the id — search with voice_leading_patterns first. Guessing an id is fine though: a miss returns near-matching ids rather than a bare erro…

  • voice_leading_patterns

    Search The Gradus Voice-Leading Reference — citable voice-leading and thoroughbass patterns across six families (part-writing norms, the species frameworks, suspensions and dissonance treatment, cadences, the Rule of the Octave, sequences and bass motions). Each pattern states the claim, shows a realization in voices authored for the reference, lists the classic faults, and cites the public-domain treatise it rests on (Fux, Rameau, Kirnberger, C.P.E. Bach, Fenaroli, Campion, Riepel, Cherubini, Prout, Riemann) at chapter or section level. WHY THIS EXISTS: the craft of voice leading was codifie…

Signals

Stars
3
Forks
0
Open issues
0
Weekly downloads
34
Last commit
Aug 26, 2026 (2 months ago)
Last release
Aug 26, 2026 (2 months ago)
Last package publish
Aug 26, 2026 (2 months ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
com.gradusmusic/notation
Version
0.8.0
Auth
No auth
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026
Cite this page

Gradus Notation MCP server. Agent Mart. https://agentmart.dev/connectors/gradusmusic-com-notation (last updated 2026-10-24)