← WebMCP Directory

Tool tree

beatmcp.idoevergreen.me

Media & PersonalTools verified
Website
A beat sequencer you and your agent build together, via WebMCP.
Explore capabilities

    page: Every page

    set_playingAction

    Start or stop playback. The user must click Start once per page session to enable browser audio before an agent can start playback.

    View tool JSON
    {
      "name": "set_playing",
      "kind": "act",
      "impl": "imperative",
      "description": "Start or stop playback. The user must click Start once per page session to enable browser audio before an agent can start playback.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "playing": {
            "type": "boolean",
            "description": "True to start playback; false to stop it."
          }
        },
        "required": [
          "playing"
        ]
      },
      "page": "/"
    }
    reset_beatAction

    Stop playback and clear every track in every song section, returning tempo, key, and arrangement to their defaults. Saved patterns are kept.

    View tool JSON
    {
      "name": "reset_beat",
      "kind": "act",
      "impl": "imperative",
      "description": "Stop playback and clear every track in every song section, returning tempo, key, and arrangement to their defaults. Saved patterns are kept.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    finish_beatAction

    Call this as the final action after creating or editing a beat. It starts playback automatically once the user has enabled browser audio with one click on Start.

    View tool JSON
    {
      "name": "finish_beat",
      "kind": "act",
      "impl": "imperative",
      "description": "Call this as the final action after creating or editing a beat. It starts playback automatically once the user has enabled browser audio with one click on Start.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    begin_live_compositionAction

    Call before writing a beat to start the live loop. Subsequent agent track writes audition their first new sound in order, so the user hears the beat being built. The user must have clicked Start once in this page session.

    View tool JSON
    {
      "name": "begin_live_composition",
      "kind": "act",
      "impl": "imperative",
      "description": "Call before writing a beat to start the live loop. Subsequent agent track writes audition their first new sound in order, so the user hears the beat being built. The user must have clicked Start once in this page session.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    finish_songAction

    Finish the full arrangement and start playback from the selected section.

    View tool JSON
    {
      "name": "finish_song",
      "kind": "act",
      "impl": "imperative",
      "description": "Finish the full arrangement and start playback from the selected section.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    list_sectionsAnswer

    List the song's editable Intro, Verse, and Hook sections and the current arrangement order.

    View tool JSON
    {
      "name": "list_sections",
      "kind": "answer",
      "impl": "imperative",
      "description": "List the song's editable Intro, Verse, and Hook sections and the current arrangement order.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    select_sectionAction

    Select the song section that subsequent beat-writing tools will edit.

    View tool JSON
    {
      "name": "select_section",
      "kind": "act",
      "impl": "imperative",
      "description": "Select the song section that subsequent beat-writing tools will edit.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "sectionId": {
            "type": "string",
            "enum": [
              "intro",
              "verse",
              "hook"
            ]
          }
        },
        "required": [
          "sectionId"
        ]
      },
      "page": "/"
    }
    set_arrangementAction

    Set the section playback order. Use Intro, Verse, and Hook IDs; repetitions are allowed.

    View tool JSON
    {
      "name": "set_arrangement",
      "kind": "act",
      "impl": "imperative",
      "description": "Set the section playback order. Use Intro, Verse, and Hook IDs; repetitions are allowed.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "arrangement": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "string",
              "enum": [
                "intro",
                "verse",
                "hook"
              ]
            }
          }
        },
        "required": [
          "arrangement"
        ]
      },
      "page": "/"
    }
    get_song_stateAnswer

    Read the full song: arrangement order plus all section patterns.

    View tool JSON
    {
      "name": "get_song_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the full song: arrangement order plus all section patterns.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    get_pattern_stateAnswer

    Read the current beat pattern: tempo, key, scale, every track's active steps/notes, and the names of saved sounds.

    View tool JSON
    {
      "name": "get_pattern_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the current beat pattern: tempo, key, scale, every track's active steps/notes, and the names of saved sounds.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    list_instrumentsAnswer

    List every playable instrument lane available on the master pattern canvas.

    View tool JSON
    {
      "name": "list_instruments",
      "kind": "answer",
      "impl": "imperative",
      "description": "List every playable instrument lane available on the master pattern canvas.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    set_stepsAction

    Write a 64-step, four-bar pattern onto one track (kick, snare, hihat, clap, bass, piano, guitar, bell, keys, pad, lead). For drum tracks only "active" matters; for melodic tracks also provide "note" (e.g. "C2") on active steps. When live audio is enabled, this auditions the first new sound.

    View tool JSON
    {
      "name": "set_steps",
      "kind": "act",
      "impl": "imperative",
      "description": "Write a 64-step, four-bar pattern onto one track (kick, snare, hihat, clap, bass, piano, guitar, bell, keys, pad, lead). For drum tracks only \"active\" matters; for melodic tracks also provide \"note\" (e.g. \"C2\") on active steps. When live audio is enabled, this auditions the first new sound.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "track": {
            "type": "string",
            "enum": [
              "kick",
              "snare",
              "hihat",
              "clap",
              "bass",
              "piano",
              "guitar",
              "bell",
              "keys",
              "pad",
              "lead"
            ],
            "description": "Which track to write to"
          },
          "steps": {
            "type": "array",
            "description": "Exactly 64 entries, one per 16th-note step.",
            "minItems": 64,
            "maxItems": 64,
            "items": {
              "type": "object",
              "properties": {
                "active": {
                  "type": "boolean"
                },
                "note": {
                  "type": "string",
                  "description": "Note name + octave, e.g. C2. Ignored for drum tracks."
                }
              },
              "required": [
                "active"
              ]
            }
          }
        },
        "required": [
          "track",
          "steps"
        ]
      },
      "page": "/"
    }
    generate_basslineAction

    Compose a new bassline in the current (or given) key/scale and write it onto the bass track.

    View tool JSON
    {
      "name": "generate_bassline",
      "kind": "act",
      "impl": "imperative",
      "description": "Compose a new bassline in the current (or given) key/scale and write it onto the bass track.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "root": {
            "type": "string",
            "description": "Root note, e.g. C. Defaults to the current key."
          },
          "scale": {
            "type": "string",
            "enum": [
              "major",
              "minor",
              "minor-pentatonic",
              "dorian"
            ],
            "description": "Defaults to the current scale."
          }
        }
      },
      "page": "/"
    }
    set_chord_stepsAction

    Write a 64-step, four-bar chord pattern to Piano, Keys, or Pad. Each active step can hold one or more note names (for example [C4, E4, G4]).

    View tool JSON
    {
      "name": "set_chord_steps",
      "kind": "act",
      "impl": "imperative",
      "description": "Write a 64-step, four-bar chord pattern to Piano, Keys, or Pad. Each active step can hold one or more note names (for example [C4, E4, G4]).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "track": {
            "type": "string",
            "enum": [
              "piano",
              "keys",
              "pad"
            ]
          },
          "steps": {
            "type": "array",
            "minItems": 64,
            "maxItems": 64,
            "items": {
              "type": "object",
              "properties": {
                "active": {
                  "type": "boolean"
                },
                "notes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "active",
                "notes"
              ]
            }
          }
        },
        "required": [
          "track",
          "steps"
        ]
      },
      "page": "/"
    }
    generate_melodyAction

    Compose a melodic line for the lead track. Mood controls note density.

    View tool JSON
    {
      "name": "generate_melody",
      "kind": "act",
      "impl": "imperative",
      "description": "Compose a melodic line for the lead track. Mood controls note density.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "mood": {
            "type": "string",
            "enum": [
              "sparse",
              "balanced",
              "busy"
            ],
            "description": "Defaults to balanced."
          },
          "root": {
            "type": "string",
            "description": "Defaults to the current key."
          },
          "scale": {
            "type": "string",
            "enum": [
              "major",
              "minor",
              "minor-pentatonic",
              "dorian"
            ]
          }
        }
      },
      "page": "/"
    }
    suggest_chord_progressionAction

    Suggest a 4-chord progression for the current key and a given mood. Does not modify the grid.

    View tool JSON
    {
      "name": "suggest_chord_progression",
      "kind": "act",
      "impl": "imperative",
      "description": "Suggest a 4-chord progression for the current key and a given mood. Does not modify the grid.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "root": {
            "type": "string",
            "description": "Defaults to the current key."
          },
          "mood": {
            "type": "string",
            "enum": [
              "happy",
              "sad",
              "chill",
              "tense"
            ],
            "description": "Defaults to chill."
          }
        }
      },
      "page": "/"
    }
    humanize_trackAction

    Add subtle timing/velocity variation to a track's active steps so it feels less robotic.

    View tool JSON
    {
      "name": "humanize_track",
      "kind": "act",
      "impl": "imperative",
      "description": "Add subtle timing/velocity variation to a track's active steps so it feels less robotic.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "track": {
            "type": "string",
            "enum": [
              "kick",
              "snare",
              "hihat",
              "clap",
              "bass",
              "piano",
              "guitar",
              "bell",
              "keys",
              "pad",
              "lead"
            ]
          },
          "amount": {
            "type": "number",
            "description": "0 (none) to 1 (maximum wobble). Defaults to 0.5."
          }
        },
        "required": [
          "track"
        ]
      },
      "page": "/"
    }
    save_soundAction

    Save the current contents of a track as a named, reusable sound/pattern.

    View tool JSON
    {
      "name": "save_sound",
      "kind": "act",
      "impl": "imperative",
      "description": "Save the current contents of a track as a named, reusable sound/pattern.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "track": {
            "type": "string",
            "enum": [
              "kick",
              "snare",
              "hihat",
              "clap",
              "bass",
              "piano",
              "guitar",
              "bell",
              "keys",
              "pad",
              "lead"
            ]
          }
        },
        "required": [
          "name",
          "track"
        ]
      },
      "page": "/"
    }
    list_soundsAnswer

    List all saved sounds/patterns by name, track, and who created them.

    View tool JSON
    {
      "name": "list_sounds",
      "kind": "answer",
      "impl": "imperative",
      "description": "List all saved sounds/patterns by name, track, and who created them.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    load_soundAction

    Load a previously saved sound back onto its track (or a different target track).

    View tool JSON
    {
      "name": "load_sound",
      "kind": "act",
      "impl": "imperative",
      "description": "Load a previously saved sound back onto its track (or a different target track).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "targetTrack": {
            "type": "string",
            "enum": [
              "kick",
              "snare",
              "hihat",
              "clap",
              "bass",
              "piano",
              "guitar",
              "bell",
              "keys",
              "pad",
              "lead"
            ]
          }
        },
        "required": [
          "name"
        ]
      },
      "page": "/"
    }
    set_tempo_and_keyAction

    Change the tempo (BPM) and/or the key/scale of the whole pattern.

    View tool JSON
    {
      "name": "set_tempo_and_key",
      "kind": "act",
      "impl": "imperative",
      "description": "Change the tempo (BPM) and/or the key/scale of the whole pattern.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "tempo": {
            "type": "number",
            "description": "40-200 BPM"
          },
          "root": {
            "type": "string"
          },
          "scale": {
            "type": "string",
            "enum": [
              "major",
              "minor",
              "minor-pentatonic",
              "dorian"
            ]
          }
        }
      },
      "page": "/"
    }