Musicboxmelodies
by musicboxmelodies.com · remote · no sign-in to list tools · v1.2.0 · published by com.musicboxmelodies
Compose, save and print music box tunes for 15, 20 and 30-note music boxes.
17 tools: 2 can delete or cancel things, 7 change things and 8 only read.
Scanned Oct 21, 2026
- Deletes or cancels2Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things7Claude Code: ask: see these tools
- Only reads8Claude Code: allow: see these tools
3 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http music-box https://api.musicboxmelodies.com/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnexport_song
The server marks "export_song" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":false}; The description's first verb is "create": a word for a change.
- Warnrender_audio
The server marks "render_audio" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":false}; The description's first verb is "create": a word for a change.
- Warnimport_midi
The server marks "import_midi" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "import_midi" says "import": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
17 tools
Deletes or cancels 2Claude Code: deny
add_versionSaves a melody as the version of an existing song for one box (a song can have one version per box: 15, 20, 30 notes or freestyle).No findings
Why it is in this group
- The name "add_version" says "add": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Saves a melody as the version of an existing song for one box (a song can have one version per box: 15, 20, 30 notes or freestyle). Replaces that box's version if it exists. Works on the signed-in person's songs, or on a song saved without an account if you pass its claim_token. The melody must have no errors.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
delete_songPermanently deletes one of the signed-in person's songs (all its box versions), or a song you saved without an account (pass its claim_token).No findings
Why it is in this group
- The name "delete_song" says "delete": a word for removing or ending something.
- The description says "Permanently deletes".
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Permanently deletes one of the signed-in person's songs (all its box versions), or a song you saved without an account (pass its claim_token). This cannot be undone: tell the person which song will be deleted, ask them to confirm, then call again with confirmed: true.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
Changes things 7Claude Code: ask
create_songSaves a melody as a new private song.No findings
Why it is in this group
- The name "create_song" says "create": a word for a change.
Description, as the server wrote it Saves a melody as a new private song. The melody must have no errors (run validate_melody or fit_melody_to_box first); warnings such as notes repeated too quickly are saved and marked, as in the composer. If the person is signed in, the song goes to their account and you get a link to open it in the composer. Without an account the song is saved anonymously and you get a claim link: give it to the person so they can keep it (valid 30 days). Set save_to_my_account to true to ask the person to sign in first (apps that cannot sign in mid-conversation should save without an account and give the claim link instead). Limits: 5 songs a day without an account, 15 a day with one.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
export_songCreates a download link for one box version of a song: an MP3, a MIDI file or a printable strip PDF to cut and punch for a hand-crank music box ("pdf_long" is one continuous strip,…1 finding
Why it is in this group
- The description's first verb is "create": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "export_song" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":false}; The description's first verb is "create": a word for a change.
Description, as the server wrote it Creates a download link for one box version of a song: an MP3, a MIDI file or a printable strip PDF to cut and punch for a hand-crank music box ("pdf_long" is one continuous strip, "pdf_a4"/"pdf_letter" are sliced to fit the page). Works on the person's songs and on public tunes. Requires signing in, like exporting in the composer.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
fit_melody_to_boxAdjusts a melody so it can be played on a music box and lists every change.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Adjusts a melody so it can be played on a music box and lists every change. Strategies: "transpose" (shift the whole melody to the key that fits best), "nearest_note" (move each unplayable note to the closest playable one), "transpose_then_nearest" (default: both). Optionally snaps notes to a grid. Returns the new melody and its validation.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
import_midiConverts a MIDI file (base64, up to 512 KB) into the melody format and validates it for a box, so you can fit, edit and save it.1 finding
Why it is in this group
- The name "import_midi" says "import": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "import_midi" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "import_midi" says "import": a word for a change.
Description, as the server wrote it Converts a MIDI file (base64, up to 512 KB) into the melody format and validates it for a box, so you can fit, edit and save it. Drums are ignored. Saves nothing.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
prepare_orderPrepares a custom melody or strip design order with all its details and returns a link to the Musicboxmelodies cart, where the person reviews it, adds photos if needed, applies dis…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Prepares a custom melody or strip design order with all its details and returns a link to the Musicboxmelodies cart, where the person reviews it, adds photos if needed, applies discount codes and pays with PayPal. Nothing is charged here. The link works for 7 days. Confirm the song, the variation and the price with the person before calling it. The price is calculated by the site.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
render_audioCreates an MP3 of a melody (before or without saving it) or of a saved song, so you and the person can hear it.1 finding
Why it is in this group
- The description's first verb is "create": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "render_audio" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":false}; The description's first verb is "create": a word for a change.
Description, as the server wrote it Creates an MP3 of a melody (before or without saving it) or of a saved song, so you and the person can hear it. Pass either song_id or a melody (box, bpm, notes). Sounds: "synth" (free, the site's default sound) or "music_box" (real music box recordings for the box; PRO accounts only). Saved songs use the sound their author chose unless you pass one. Up to 5 minutes; 20 new audios a day without an account and 60 with one (the same melody again is free).
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
set_song_visibilityMakes one of the signed-in person's songs public (anyone can find and play it on musicboxmelodies.com) or private.No findings
Why it is in this group
- The name "set_song_visibility" says "set": a word for a change.
Description, as the server wrote it Makes one of the signed-in person's songs public (anyone can find and play it on musicboxmelodies.com) or private. Only make a song public when the person asked for it: ask them to confirm, then call again with confirmed: true.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
Only reads 8Claude Code: allow
get_order_statusShows the signed-in person's orders (newest first) or one order: its status, items, price and, once delivered, the links to the finished files.No findings
Why it is in this group
- The name "get_order_status" says "get": a word for reading.
Description, as the server wrote it Shows the signed-in person's orders (newest first) or one order: its status, items, price and, once delivered, the links to the finished files. Requires signing in.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
get_product_optionsLists the variations (with prices in US dollars) and the details needed to order a custom music box melody or a custom strip design.No findings
Why it is in this group
- The name "get_product_options" says "get": a word for reading.
Description, as the server wrote it Lists the variations (with prices in US dollars) and the details needed to order a custom music box melody or a custom strip design. Call it before prepare_order.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
get_songGets a music box tune with its notes in the melody format (the same one validate_melody accepts), for one box version.No findings
Why it is in this group
- The name "get_song" says "get": a word for reading.
Description, as the server wrote it Gets a music box tune with its notes in the melody format (the same one validate_melody accepts), for one box version. Works for public tunes, for the signed-in person's own songs, and for a song this agent saved anonymously (pass its claim_token). Use search_songs or list_my_songs to find song ids.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
list_music_boxesLists the music box types a melody can be written for, with their exact playable notes and rules.No findings
Why it is in this group
- The name "list_music_boxes" says "list": a word for reading.
Description, as the server wrote it Lists the music box types a melody can be written for, with their exact playable notes and rules. Call this before composing or validating a melody.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
list_my_songsLists the signed-in person's songs on Musicboxmelodies, newest first, including private ones.No findings
Why it is in this group
- The name "list_my_songs" says "list": a word for reading.
Description, as the server wrote it Lists the signed-in person's songs on Musicboxmelodies, newest first, including private ones. Requires signing in.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
list_productsLists what Musicboxmelodies sells, with current prices in US dollars and delivery times: custom music box melodies, custom printable strip designs and PRO composer accounts.No findings
Why it is in this group
- The name "list_products" says "list": a word for reading.
Description, as the server wrote it Lists what Musicboxmelodies sells, with current prices in US dollars and delivery times: custom music box melodies, custom printable strip designs and PRO composer accounts. Orders are placed and paid by the person on the website.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
search_songsSearches the public catalog of music box tunes made by the Musicboxmelodies community.No findings
Why it is in this group
- The name "search_songs" says "search": a word for reading.
Description, as the server wrote it Searches the public catalog of music box tunes made by the Musicboxmelodies community. Search by song name, artist or arranger; optionally only tunes that have a version for one box type. Returns at most 20 per page.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
validate_melodyChecks whether a melody can be played on a music box: notes outside the box, same note repeated too fast, off-grid notes, tempo and length.No findings
Why it is in this group
- The name "validate_melody" says "validate": a word for reading.
Description, as the server wrote it Checks whether a melody can be played on a music box: notes outside the box, same note repeated too fast, off-grid notes, tempo and length. Every issue names the note and how to fix it. Saves nothing. Call it before offering a melody to the person.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.2.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http music-box https://api.musicboxmelodies.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__music-box__list_music_boxes",
"mcp__music-box__search_songs",
"mcp__music-box__get_song",
"mcp__music-box__validate_melody",
"mcp__music-box__list_products",
"mcp__music-box__list_my_songs",
"mcp__music-box__get_product_options",
"mcp__music-box__get_order_status"
],
"ask": [
"mcp__music-box__fit_melody_to_box",
"mcp__music-box__create_song",
"mcp__music-box__set_song_visibility",
"mcp__music-box__export_song",
"mcp__music-box__render_audio",
"mcp__music-box__import_midi",
"mcp__music-box__prepare_order"
],
"deny": [
"mcp__music-box__add_version",
"mcp__music-box__delete_song"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as music-box. Review it before you use it.