{"ok":true,"site":{"host":"chiptunes.app","url":"https://chiptunes.app/#webmcp","type":"live","desc":"Create or listen to complete Game Boy songs, composed automatically in your browser and played through an emulation of the original sound chip.","tools":[{"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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/radio"]},{"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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/radio"]},{"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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/radio"]},{"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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/radio"]},{"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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/radio"]},{"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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/radio"]},{"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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/radio"]},{"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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/radio"]},{"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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/radio"]},{"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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/radio"]},{"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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/radio"]},{"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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/radio"]},{"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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/radio"]},{"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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/radio"]},{"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},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/radio"]}],"category":"Media & Personal","favicon":"/favicons/chiptunes.app.png","apiSurface":"spec","toolCount":15}}