Skip to main content
Glama

Sonatina Piano Camps

Build a prefilled enrollment form link

build_enrollment_link
Read-only

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

NameRequiredDescriptionDefault
answersYesQuestion key → answer. Addresses are objects; everything else is a string.
programYes
productIdNoA week from get_enrollment_form. Omit to let them pick on the form.
paymentOptionNoOne of the week's paymentOptions labels, e.g. 'Pay Deposit'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnlyHint annotation: it discloses that answers are not stored or logged, that the link does nothing transactional on its own, and it names the three diagnostic response fields (skipped, missingRequired, warnings) and what each means. This is exactly the extra behavioral context the annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads what the tool produces, then the negative scope, then the return-field semantics. Three dense sentences with little waste, though the final sentence packing three field names is slightly listy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description fully covers the return-value semantics (skipped, missingRequired, warnings), the side-effect profile, and the key vocabulary source. Nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75% and the description adds real meaning on top: answers must use keys from get_enrollment_form, productId is a week and may be omitted to let the person choose, and paymentOption corresponds to a week's paymentOptions label. Enum and nested-object shape are left to the schema, which is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('builds a link to the program's Jotform with the person's answers filled in') and immediately clarifies the scope boundary against what an agent might assume (does not enroll, reserve, or charge). Easily distinguished from get_enrollment_form and get_catalog.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent to get_enrollment_form for the valid answer keys and explains that the recipient must still open, review, accept waivers, pay, and submit themselves. It gives clear context for when this tool is the right call, though it does not contrast against get_catalog or state prerequisites for the program/product pairing beyond the schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources