← WebMCP Directory

Tool tree

chiptunes.app

Media & PersonalTools verified
Website
Create or listen to complete Game Boy songs, composed automatically in your browser and played through an emulation of the original sound chip.
Explore capabilities

    page: Every page

    what_can_i_do_hereAnswer

    What this page offers and how to use it. Call this when the user asks what they can do here, what this site is, or how it works — and consider calling it once when you first encounter this page, to introduce it to the user. Returns a short introduction meant to be relayed. Answers instantly, even before the page has finished loading.

    View tool JSON
    {
      "name": "what_can_i_do_here",
      "kind": "answer",
      "impl": "imperative",
      "description": "What this page offers and how to use it. Call this when the user asks what they can do here, what this site is, or how it works — and consider calling it once when you first encounter this page, to introduce it to the user. Returns a short introduction meant to be relayed. Answers instantly, even before the page has finished loading.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      },
      "page": "/"
    }
    chiptunes_now_playingAnswer

    What the station is playing right now: title, tempo, position, whether it is paused, which screen face is on, and whether the editor is open.

    View tool JSON
    {
      "name": "chiptunes_now_playing",
      "kind": "answer",
      "impl": "imperative",
      "description": "What the station is playing right now: title, tempo, position, whether it is paused, which screen face is on, and whether the editor is open.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      },
      "page": "/"
    }
    chiptunes_play_moodAction

    Compose a complete song for a mood word and play it. Use chiptunes_now_playing to see the available moods.

    View tool JSON
    {
      "name": "chiptunes_play_mood",
      "kind": "act",
      "impl": "imperative",
      "description": "Compose a complete song for a mood word and play it. Use chiptunes_now_playing to see the available moods.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "mood": {
            "type": "string"
          }
        },
        "required": [
          "mood"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    chiptunes_transportAction

    Control playback: next, previous, play, pause or toggle.

    View tool JSON
    {
      "name": "chiptunes_transport",
      "kind": "act",
      "impl": "imperative",
      "description": "Control playback: next, previous, play, pause or toggle.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "enum": [
              "next",
              "previous",
              "toggle",
              "play",
              "pause"
            ]
          }
        },
        "required": [
          "action"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    chiptunes_current_songAction

    The document of the song on air. It is the whole arrangement as a string, and it round-trips: hand it to chiptunes_play_song, to a share link, or to the Node API to edit or export it.

    View tool JSON
    {
      "name": "chiptunes_current_song",
      "kind": "act",
      "impl": "imperative",
      "description": "The document of the song on air. It is the whole arrangement as a string, and it round-trips: hand it to chiptunes_play_song, to a share link, or to the Node API to edit or export it.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      },
      "page": "/"
    }
    chiptunes_play_songAction

    Put a specific song document on the deck and play it, with its visuals and transport, exactly as a shared link would.

    View tool JSON
    {
      "name": "chiptunes_play_song",
      "kind": "act",
      "impl": "imperative",
      "description": "Put a specific song document on the deck and play it, with its visuals and transport, exactly as a shared link would.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "document": {
            "type": "string"
          }
        },
        "required": [
          "document"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    chiptunes_editorAction

    Open the tracker on the song that is playing, on a given document, or on an empty song; or close it and hand the screen back to the station.

    View tool JSON
    {
      "name": "chiptunes_editor",
      "kind": "act",
      "impl": "imperative",
      "description": "Open the tracker on the song that is playing, on a given document, or on an empty song; or close it and hand the screen back to the station.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "enum": [
              "open",
              "open_blank",
              "close"
            ]
          },
          "document": {
            "type": "string",
            "description": "optional: open this song instead of the one playing"
          }
        },
        "required": [
          "action"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    chiptunes_variantAction

    Make a version of the song on air with a different feeling and play it: sadder for a death screen, intense for a boss, calmer for a menu. The original document is returned too, so you can go back.

    View tool JSON
    {
      "name": "chiptunes_variant",
      "kind": "act",
      "impl": "imperative",
      "description": "Make a version of the song on air with a different feeling and play it: sadder for a death screen, intense for a boss, calmer for a menu. The original document is returned too, so you can go back.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "mood": {
            "type": "string",
            "description": "happier, sadder, darker, brighter, calmer, intense, sparser, dreamier"
          }
        },
        "required": [
          "mood"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    chiptunes_screenAction

    Choose the display: crt (Modern), dmg (Game Boy), nes, or mix to let it re-roll on every track.

    View tool JSON
    {
      "name": "chiptunes_screen",
      "kind": "act",
      "impl": "imperative",
      "description": "Choose the display: crt (Modern), dmg (Game Boy), nes, or mix to let it re-roll on every track.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "mode": {
            "type": "string",
            "enum": [
              "crt",
              "dmg",
              "nes",
              "mix"
            ]
          }
        },
        "required": [
          "mode"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    chiptunes_capabilitiesAction

    Every word this understands and every knob it has: scenes, moods, musical genres, game genres, forms, techniques, the hundred-odd game titles it can read as a style, the transform operations, and the things it deliberately cannot do. Read this BEFORE composing rather than guessing at vocabulary.

    View tool JSON
    {
      "name": "chiptunes_capabilities",
      "kind": "act",
      "impl": "imperative",
      "description": "Every word this understands and every knob it has: scenes, moods, musical genres, game genres, forms, techniques, the hundred-odd game titles it can read as a style, the transform operations, and the things it deliberately cannot do. Read this BEFORE composing rather than guessing at vocabulary.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      },
      "page": "/"
    }
    chiptunes_askAction

    Describe music in a sentence and hear it: "a dungeon theme like Castlevania, 40 seconds, no drums", "a gloomy song about exploring a cave", or a change to what is on air like "make it much slower". Returns exactly what it understood, what it ignored, and anything it refused, so you can tell the user the truth rather than guessing whether it worked.

    View tool JSON
    {
      "name": "chiptunes_ask",
      "kind": "act",
      "impl": "imperative",
      "description": "Describe music in a sentence and hear it: \"a dungeon theme like Castlevania, 40 seconds, no drums\", \"a gloomy song about exploring a cave\", or a change to what is on air like \"make it much slower\". Returns exactly what it understood, what it ignored, and anything it refused, so you can tell the user the truth rather than guessing whether it worked.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "description": "the request, in plain English"
          },
          "apply_to_current": {
            "type": "boolean",
            "description": "treat it as a change to the song on air rather than a new one"
          },
          "play": {
            "type": "boolean",
            "description": "put the result on the deck (default true)"
          }
        },
        "required": [
          "text"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    chiptunes_composeAction

    Compose from a structured brief rather than a sentence: a scene, a length in seconds, a key and mode, voices to leave out. Anything it could not satisfy comes back in `unmet` instead of being quietly dropped.

    View tool JSON
    {
      "name": "chiptunes_compose",
      "kind": "act",
      "impl": "imperative",
      "description": "Compose from a structured brief rather than a sentence: a scene, a length in seconds, a key and mode, voices to leave out. Anything it could not satisfy comes back in `unmet` instead of being quietly dropped.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "scene": {
            "type": "string",
            "description": "title, menu, overworld, town, shop, cave, battle, boss, victory, game_over, credits"
          },
          "seconds": {
            "type": "number"
          },
          "bars": {
            "type": "number"
          },
          "key": {
            "type": "string",
            "description": "C, D, F#, A# ..."
          },
          "mode": {
            "type": "string",
            "enum": [
              "major",
              "minor"
            ]
          },
          "exclude": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "lanes to leave out: Melody, Harmony, Bass, Drums"
          },
          "play": {
            "type": "boolean"
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "page": "/"
    }
    chiptunes_variationsAction

    Compose several DIFFERENT songs from one brief and get them all back, unranked, each with its measurements. This is the thing that is cheap here and expensive everywhere else: twenty complete songs take about thirty milliseconds and cost nothing, so you can offer the user a real choice instead of one take. Nothing is scored or pre-selected; the choosing is yours.

    View tool JSON
    {
      "name": "chiptunes_variations",
      "kind": "act",
      "impl": "imperative",
      "description": "Compose several DIFFERENT songs from one brief and get them all back, unranked, each with its measurements. This is the thing that is cheap here and expensive everywhere else: twenty complete songs take about thirty milliseconds and cost nothing, so you can offer the user a real choice instead of one take. Nothing is scored or pre-selected; the choosing is yours.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "scene": {
            "type": "string"
          },
          "seconds": {
            "type": "number"
          },
          "key": {
            "type": "string"
          },
          "mode": {
            "type": "string",
            "enum": [
              "major",
              "minor"
            ]
          },
          "n": {
            "type": "number",
            "description": "how many, 1 to 20"
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "page": "/"
    }
    chiptunes_analyseAction

    Measure a song instead of listening to it: how major or minor its pitch material is, whether its phrases climb or fall, how much the melody agrees with the chords under it, how high it sits, how busy it is, whether it ends on the tonic. You cannot hear the output; this is how you check that what you asked for is what you got.

    View tool JSON
    {
      "name": "chiptunes_analyse",
      "kind": "act",
      "impl": "imperative",
      "description": "Measure a song instead of listening to it: how major or minor its pitch material is, whether its phrases climb or fall, how much the melody agrees with the chords under it, how high it sits, how busy it is, whether it ends on the tonic. You cannot hear the output; this is how you check that what you asked for is what you got.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "document": {
            "type": "string",
            "description": "omit to measure whatever is on air"
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "page": "/"
    }
    chiptunes_exportAction

    Take the music away: a share link that carries the whole arrangement in the URL, a Standard MIDI file, or a 32 KB .gb cartridge that boots on real Game Boy hardware. The link needs no server and stores nothing; the files are built in the page and handed straight to the user.

    View tool JSON
    {
      "name": "chiptunes_export",
      "kind": "act",
      "impl": "imperative",
      "description": "Take the music away: a share link that carries the whole arrangement in the URL, a Standard MIDI file, or a 32 KB .gb cartridge that boots on real Game Boy hardware. The link needs no server and stores nothing; the files are built in the page and handed straight to the user.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "format": {
            "type": "string",
            "enum": [
              "link",
              "midi",
              "rom"
            ]
          },
          "document": {
            "type": "string",
            "description": "omit to export whatever is on air"
          }
        },
        "required": [
          "format"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }