← WebMCP Directory

tonic.stranica.workers.dev

tonic.stranica.workers.dev

live Unverified (seed import) Health & Education 37 tools imperative implementation

Learn piano fundamentals on your computer keyboard or a MIDI piano, with your own AI agent as the tutor. Built on WebMCP. Nothing you play leaves your browser.

First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com

Answer 13 · Act 24 · Transact 0 · Score: Not yet scored

Tool inspector

start_exercise

act imperative

Start an exercise on screen for the student to play on their computer keyboard or MIDI keyboard. Timed kinds (scale, chords, melody, rhythm) count in one bar with clicks, light up each target key in time, and end on their own. Untimed kinds (find_note, ear_training) go prompt by prompt. Returns immediately. When the student says they are done, call get_attempt_results. Keep beginners at 50–70 bpm and within the playable range from get_input_status. For a song from the library use kind "song" with song_id, a section id (or "all"), hands and tempo_percent.

Page: /

Input schema

PropertyTypeRequiredDescription
kind string yes scale, chords, melody and rhythm are timed with a metronome. find_note and ear_training are prompt-by-prompt.
name string no Short title shown to the student.
bpm number no Tempo 30–240. Beginners: 50–70.
root string no scale: root like "C4" or "F#3". ear_training: reference note (default C4).
mode string no scale: major, minor, harmonic_minor, melodic_minor, major_pentatonic, minor_pentatonic, blues, dorian, mixolydian, lydian, phrygian, chromatic.
octaves integer no scale: default 1.
direction string no scale: default up_down.
note_value string no scale: beats per note, default quarter.
progression array no chords: chord symbols (C, Am, G7, Fmaj7, C/E) or roman numerals (I, ii, V7, vii°). Numerals need `key`.
key string no chords: key for roman numerals, e.g. "G" or "A minor".
beats_per_chord number no chords: default 4.
notes array no melody: note names in order. rhythm: the single note to tap (default C4). find_note: exact notes to ask for.
rhythm array no melody / rhythm: beats per note, e.g. [1, 1, 0.5, 0.5, 2].
melody string no melody: built-in tune id: ode_to_joy, twinkle, mary.
count integer no find_note / ear_training: number of prompts, default 5.
show_hints boolean no find_note: light up the answer key.
intervals array no ear_training: intervals to draw from: m2 M2 m3 M3 P4 TT P5 m6 M6 m7 M7 P8.
low string no find_note: lowest note to ask for (default C4).
high string no find_note: highest note to ask for (default B4).
include_black_keys boolean no find_note: also ask for sharps and flats. Default false (white keys only).
song_id string no song: id from search_songs, e.g. "fur_elise".
section string no song: section id from get_song, or "all" for the whole piece. Default: first section.
hands string no song: default right. "both" only where get_song shows a left-hand part.
tempo_percent number no song: percent of the song tempo. Start learners at 60–70.
path_step string no Learning-path step id from get_learning_paths. Pass path exercises unchanged so progress is tracked.
Raw JSON schema
{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "scale",
        "chords",
        "melody",
        "rhythm",
        "find_note",
        "ear_training",
        "song"
      ],
      "description": "scale, chords, melody and rhythm are timed with a metronome. find_note and ear_training are prompt-by-prompt."
    },
    "name": {
      "type": "string",
      "description": "Short title shown to the student."
    },
    "bpm": {
      "type": "number",
      "description": "Tempo 30–240. Beginners: 50–70."
    },
    "root": {
      "type": "string",
      "description": "scale: root like \"C4\" or \"F#3\". ear_training: reference note (default C4)."
    },
    "mode": {
      "type": "string",
      "description": "scale: major, minor, harmonic_minor, melodic_minor, major_pentatonic, minor_pentatonic, blues, dorian, mixolydian, lydian, phrygian, chromatic."
    },
    "octaves": {
      "type": "integer",
      "minimum": 1,
      "maximum": 3,
      "description": "scale: default 1."
    },
    "direction": {
      "type": "string",
      "enum": [
        "up",
        "down",
        "up_down"
      ],
      "description": "scale: default up_down."
    },
    "note_value": {
      "type": "string",
      "enum": [
        "quarter",
        "eighth",
        "half"
      ],
      "description": "scale: beats per note, default quarter."
    },
    "progression": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "chords: chord symbols (C, Am, G7, Fmaj7, C/E) or roman numerals (I, ii, V7, vii°). Numerals need `key`."
    },
    "key": {
      "type": "string",
      "description": "chords: key for roman numerals, e.g. \"G\" or \"A minor\"."
    },
    "beats_per_chord": {
      "type": "number",
      "description": "chords: default 4."
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "melody: note names in order. rhythm: the single note to tap (default C4). find_note: exact notes to ask for."
    },
    "rhythm": {
      "type": "array",
      "items": {
        "type": "number"
      },
      "description": "melody / rhythm: beats per note, e.g. [1, 1, 0.5, 0.5, 2]."
    },
    "melody": {
      "type": "string",
      "description": "melody: built-in tune id: ode_to_joy, twinkle, mary."
    },
    "count": {
      "type": "integer",
      "description": "find_note / ear_training: number of prompts, default 5."
    },
    "show_hints": {
      "type": "boolean",
      "description": "find_note: light up the answer key."
    },
    "intervals": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "ear_training: intervals to draw from: m2 M2 m3 M3 P4 TT P5 m6 M6 m7 M7 P8."
    },
    "low": {
      "type": "string",
      "description": "find_note: lowest note to ask for (default C4)."
    },
    "high": {
      "type": "string",
      "description": "find_note: highest note to ask for (default B4)."
    },
    "include_black_keys": {
      "type": "boolean",
      "description": "find_note: also ask for sharps and flats. Default false (white keys only)."
    },
    "song_id": {
      "type": "string",
      "description": "song: id from search_songs, e.g. \"fur_elise\"."
    },
    "section": {
      "type": "string",
      "description": "song: section id from get_song, or \"all\" for the whole piece. Default: first section."
    },
    "hands": {
      "type": "string",
      "enum": [
        "right",
        "left",
        "both"
      ],
      "description": "song: default right. \"both\" only where get_song shows a left-hand part."
    },
    "tempo_percent": {
      "type": "number",
      "minimum": 30,
      "maximum": 150,
      "description": "song: percent of the song tempo. Start learners at 60–70."
    },
    "path_step": {
      "type": "string",
      "description": "Learning-path step id from get_learning_paths. Pass path exercises unchanged so progress is tracked."
    }
  },
  "required": [
    "kind"
  ],
  "additionalProperties": false
}

Similar websites

pocketgull.app

pocketgull.app

Pocket Gull is a real-time clinical AI consult engine powered by Google Gemini. Features 10D multi-paradigm strategy, FHIR R4 export & 3D spatial anatomy.

live Unverified Health & Education Transact tools
98 tools A20 / Act75 / T3 Not yet scored Seen 2026-11-05
generate_medical_summary translate_clinical_text get_current_patient_data navigate_to_body_part inject_clinical_note
Inspect tools
webmcp-six-lac.vercel.app

webmcp-six-lac.vercel.app

AI Navigation Layer: Model Context Protocol (MCP) Semantic DOM integration for intelligent, safe, and observable web navigation.

live Unverified Health & Education
93 tools A4 / Act89 / T0 Not yet scored Seen 2026-11-05
ver_certificados ver_certificado_react meus_cursos abrir_curso_react abrir_curso_nextjs
Inspect tools
ghqsandbox.net

ghqsandbox.net

Interactive math and physics tools an AI agent can drive directly through WebMCP.

live Unverified Health & Education
91 tools A22 / Act69 / T0 Not yet scored Seen 2026-11-05
list_learning_tools open_tool list_expressions add_expression plot_point
Inspect tools
app.formative.com

app.formative.com

Formative classroom assessment and learning platform

live Unverified Health & Education Transact tools
86 tools A41 / Act36 / T9 Not yet scored Seen 2026-11-05
addFolder addFormative addFormativeItem addOneRoster addOrg
Inspect tools

Related on Influzer