Sonatina Piano Camps

Piano camp programs, dates and tuition, and prefilled enrollment forms for Sonatina camps.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
68%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~688Tokens (tool definitions)
~1017 BTypical response size
Moderate attention impact (0.54% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "sonatina": {
      "url": "https://www.sonatina.com/mcp"
    }
  }
}

Remote endpoints

https://www.sonatina.com/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_catalog

This year's programs with session dates and tuition, next year's under `nextYear` once its dates are posted, the online offerings, and the policy FAQ (payment deadlines, cancellations). Session dates carry no year: take it from `year` or `nextYear.year`. Some of this year's sessions may be over; get_enrollment_form lists only weeks still ahead. Read-only. No seat counts.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_enrollment_form(program)

Everything needed to interview someone for one program's enrollment form: the upcoming weeks on the form (productId, dates, pay-in-full / deposit prices, whether enrollment is open), the questions you may prefill (key, what to ask, kind, choices, required), who must fill it in, and what they still have to do on the form themselves. Read-only. Programs: sonata = The Sonatas (adult week-long camps); intermezzo = The Intermezzi (adult long weekends); capriccio = The Capriccios & Suites (adult); sonatina = Summer Sonatina (children); virtual = Virtual courses and camps.

Input Schema

{
  "type": "object",
  "properties": {
    "program": {
      "type": "string",
      "enum": [
        "sonata",
        "intermezzo",
        "capriccio",
        "sonatina",
        "virtual"
      ]
    }
  },
  "required": [
    "program"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢build_enrollment_link(program, productId, paymentOption, answers)

Builds a link to the program's Jotform with the person's answers filled in and, if given, the week and the pay-in-full / deposit choice preselected. This does NOT enroll, reserve a seat or charge anything: the person must open the link, check the answers, accept the waivers, pay and submit on the form. Answers are not stored or logged. Use keys from get_enrollment_form; unknown keys and invalid answers are returned in `skipped`, required questions not yet answered in `missingRequired` (they can still answer them on the form), and answers to confirm with the person before handing over the link in `warnings`.

Input Schema

{
  "type": "object",
  "properties": {
    "program": {
      "type": "string",
      "enum": [
        "sonata",
        "intermezzo",
        "capriccio",
        "sonatina",
        "virtual"
      ]
    },
    "productId": {
      "description": "A week from get_enrollment_form. Omit to let them pick on the form.",
      "type": "string"
    },
    "paymentOption": {
      "description": "One of the week's paymentOptions labels, e.g. 'Pay Deposit'.",
      "type": "string"
    },
    "answers": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "string"
            }
          }
        ]
      },
      "description": "Question key → answer. Addresses are objects; everything else is a string."
    }
  },
  "required": [
    "program",
    "answers"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools