Tool tree
gradeNot graded
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": "/"
}