Piano camp programs, dates and tuition, and prefilled enrollment forms for Sonatina camps.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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`.
Question key → answer. Addresses are objects; everything else is a string.
A week from get_enrollment_form. Omit to let them pick on the form.
One of the week's paymentOptions labels, e.g. 'Pay Deposit'.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http sonatina https://www.sonatina.com/mcp
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`.
| Argument | Type | Description |
|---|---|---|
| answers* | object | Question key → answer. Addresses are objects; everything else is a string. |
| program* | string | |
| productId | string | A week from get_enrollment_form. Omit to let them pick on the form. |
| paymentOption | string | One of the week's paymentOptions labels, e.g. 'Pay Deposit'. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"program",
"answers"
],
"properties": {
"answers": {
"type": "object",
"description": "Question key → answer. Addresses are objects; everything else is a string.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
]
}
},
"program": {
"enum": [
"sonata",
"intermezzo",
"capriccio",
"sonatina",
"virtual"
],
"type": "string"
},
"productId": {
"type": "string",
"description": "A week from get_enrollment_form. Omit to let them pick on the form."
},
"paymentOption": {
"type": "string",
"description": "One of the week's paymentOptions labels, e.g. 'Pay Deposit'."
}
}
}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.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}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.
| Argument | Type | Description |
|---|---|---|
| program* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"program"
],
"properties": {
"program": {
"enum": [
"sonata",
"intermezzo",
"capriccio",
"sonatina",
"virtual"
],
"type": "string"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 2, 2026.