New Your team’s decisions, in one playbook every coding agent works from. Never answer your agent twice

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 s...

SERVERGradus Notation SOURCE@gradusmusic/notation-mcp
Low RISK CLASS
Category Read
Parameters 61 required
Recommended Allowedsee the rule below
Registry record Grade C, identity unverified Pull the record →

This record as markdown: /tools/com-gradusmusic-notation/notation-validate.md

What notation_validate does on Gradus Notation

AI agents call notation_validate to retrieve information from Gradus Notation without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

ParameterTypeRequiredDescription
tempo number
title string
composer string
instruments array Yes Same shape as notation_render. See notation_schema for the full JSON Schema.
keySignature string
timeSignature array

Parameters from the server's own tool schema.

Why notation_validate is rated Low

This tool purely validates input and returns diagnostic information (errors and fixes). It has no side effects—it does not modify data, execute external operations, delete anything, or commit financial obligations. It is a read-like operation that queries the structure and validity of notation input, making it the safest category.

From the tool's definition Tool performs pre-flight validation without rendering or modifying data. Description states it 'Pre-flight validate a notation_render input without rendering' and 'Returns errors with concrete fix field'.

Questions about notation_validate

What does the notation_validate tool do? +

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 inputs). WHEN NOT TO USE: if input is known to be valid (just call notation_render directly — it validates internally too); if you have not learned the schema yet (call notation_schema or notation_examples first to see the format). INPUT: identical shape to notation_render. instruments array required (each with name and notes or voices). OUTPUT (JSON, valid): { ok: true, requestId, valid: true, warnings: ValidationIssue[], meta: { measureCount, instrumentCount, voiceCount, durationBeats }, attribution }. Warnings are non-blocking notices (e.g. unusual time signature handling). OUTPUT (JSON, invalid): { ok: false, requestId, valid: false, errors: ValidationIssue[], warnings, attribution }. Each ValidationIssue: { path: "instruments[0].voices[0].notes[3]", code: "BAD_PITCH"|"BAD_DURATION"|"MISSING_FIELD"|"BAD_KEY_SIG"|..., message, fix: "Use scientific notation: letter A-G + optional # or b + octave number, e.g. C4, F#5, Bb3.", severity: "error"|"warning" }. Surface the fix to your user or use it to auto-repair. EXAMPLE INPUT: { "instruments": [{ "name": "Violin", "notes": ["C5/q","D5/q","E5/q","F5/q"] }] } TYPICAL LATENCY: 30-100 ms (no Verovio render; pure JSON-to-Score conversion + bar-line arithmetic). It is categorised as a Read tool in the Gradus Notation MCP Server, which means it retrieves data without modifying state.

What parameters does notation_validate accept? +

notation_validate accepts 6 parameters: tempo, title, composer, instruments, keySignature, timeSignature. Required: instruments. The full parameter table on this page comes from the server's own tool schema.

How do I enforce a policy on notation_validate? +

Register the Gradus Notation MCP server in PolicyLayer and add a rule for notation_validate: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Gradus Notation. Nothing to install.

What risk level is notation_validate? +

notation_validate is a Read tool with low risk. Read-only tools are generally safe to allow by default.

Can I rate-limit notation_validate? +

Yes. Add a rate_limit block to the notation_validate rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block notation_validate completely? +

Set action: deny in the PolicyLayer policy for notation_validate. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides notation_validate? +

notation_validate is provided by the Gradus Notation MCP server (@gradusmusic/notation-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

More on Gradus Notation, and thousands of servers like it.

// THE MCP REGISTRY

PolicyLayer tracks 44,603 MCP servers and 515,000+ tools.

Every server has a live record: who publishes it, whether it answers without auth, its risk grade, every tool classified, the recommended policy. This page is one line of Gradus Notation's. Pull the full record:

Teams ship this data inside their own products. See what a licence covers →

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.