{"name":"com.gradusmusic/notation","slug":"gradusmusic-notation","title":"Gradus Notation","description":"Gradus Notation + Harmonic Analyzer + Engraver: music tools for any AI agent. Free, no auth.","url":"https://mcp.market/server/gradusmusic-notation","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"ai","tags":["ai","security"],"presence":{"score":29,"stars":3,"forks":0,"downloads_week":131,"last_push_at":"2026-08-26T00:40:47.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/delmas41/gradusnotation","website":"https://gradusmusic.com/notation-api","version":"0.8.0","remotes":[],"packages":[{"registryType":"npm","identifier":"@gradusmusic/notation-mcp","version":"0.8.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Override the API base URL. Defaults to https://gradusmusic.com.","format":"string","name":"GRADUS_NOTATION_API_BASE"},{"description":"Self-reported agent name sent in the X-Agent-Name header for telemetry attribution.","format":"string","name":"GRADUS_AGENT_NAME"}]}],"tools":[{"name":"corpus_search","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"counterpoint_check","description":"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","write_action":false,"price_micros":0,"input_schema":null},{"name":"engraving_check","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"engraving_rule","description":"Fetch one engraving rule by its permanent id, with its citation line pre-formatted and its related rules listed.","write_action":false,"price_micros":0,"input_schema":null},{"name":"engraving_rules","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"figured_bass_exercise","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"knowledge_search","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"music_critique","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"notation_examples","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"notation_render","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"notation_schema","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"notation_validate","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"theory_analyze_score","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"theory_parse_xml","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"theory_pitch_utils","description":"A collection of fast, pure pitch-utility operations that replace the most-used music21 pitch functions with zero network round-trip.","write_action":false,"price_micros":0,"input_schema":null},{"name":"theory_respell","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"theory_validate_ranges","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"voice_leading_pattern","description":"Fetch one voice-leading pattern by its permanent id, with its citation line pre-formatted and related patterns listed.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":83,"grade":"B","scanned_at":"2026-10-31T17:27:29.131Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-31T17:27:29.069Z","components":{"code":{"score":25,"max":25,"notes":["3 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":12,"max":15,"notes":["last push 67 days ago"]},"identity":{"score":5,"max":10,"notes":["namespace and repository owner differ","website matches verified namespace"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@gradusmusic/notation-mcp","version":"0.8.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":1,"publishedAt":"2026-08-26T04:02:50.680Z","repositoryUrl":"git+https://github.com/delmas41/gradusnotation.git","weeklyDownloads":131}],"repo":{"found":true,"owner":"delmas41","repo":"gradusnotation","archived":false,"pushedAt":"2026-08-26T00:40:47Z","stars":3,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/268638698?v=4","ownerCreatedAt":"2026-03-16T14:11:42Z","license":"MIT"},"icon":{"url":"https://gradusmusic.com/icon.svg?icon.0h8et47ccemt5.svg","source":"registry"},"presence":{"stars":3,"forks":0,"downloadsWeek":131,"license":"MIT","lastPushAt":"2026-08-26T00:40:47.000Z","score":29}}}},"grade_history":[{"kind":"downgrade","fromGrade":"A","toGrade":"B","reason":"score 83","createdAt":"2026-10-31T17:27:30.109Z"}],"reviews":[]}