Skip to content

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.

Deletes · 2Changes · 7

17 tools: 2 can delete or cancel things, 7 change things and 8 only read.

Scanned Oct 21, 2026

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/mcp

Findings

Matches of fixed checks, with the text they matched.

3 warn
  • The server marks "export_song" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The description's first verb is "create": a word for a change.

    What this check looks for
  • The server marks "render_audio" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The description's first verb is "create": a word for a change.

    What this check looks for
  • The server marks "import_midi" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "import_midi" says "import": a word for a change.

    What this check looks for

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

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The description's first verb is "create": a word for a change.

      What this check looks for
    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".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "import_midi" says "import": a word for a change.

      What this check looks for
    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".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The description's first verb is "create": a word for a change.

      What this check looks for
    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/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

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