Skip to main content
Glama

Register for an arrangement

register_for_event

Register a person for an arrangement or course: session_id for one session or arrangement_id for the whole one (from list_events), pricing_tier_id when it has tiers, and the person's name, mobile number and e-mail. A code goes to the person; confirm_with_code registers them and, for a paid arrangement, answers with the payment link.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "name": "<name>",
      "phone": "<phone>",
      "email": "<email>"
    },
    "name": "register_for_event"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYesThe person's full name, as they say it.
noteNoA short note to the clinic in the person's words. Never health details.
emailYesThe person's e-mail: the confirmation and any payment link go there.
phoneYesThe person's mobile number. The code goes there by SMS.
guestsNoPeople who come with the person (an open-house or time-slot arrangement); 0 for the person alone.
localeNoAnswer language: nb (Norwegian) or en.nb
session_idNoOne session (session_id from list_events).
arrangement_idNoThe whole arrangement (arrangement_id from list_events).
payment_methodNoHow the person pays on the payment link: card or Vipps.card
pricing_tier_idNo

Output Schema

NameRequiredDescriptionDefault
statusYescode_sent: ask the person for the code, then call confirm_with_code.
channelYessms or email.
purchaseYes
expires_atYesWhen the code stops working.
code_sent_toYesThe masked phone or email the code went to.
confirmation_idYesPass it to confirm_with_code with the code.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only say non-read-only, non-idempotent, open-world. The description adds real behavioral context: a verification code is sent to the person, the registration is not completed until confirm_with_code, and paid arrangements yield a payment link. It still doesn't say what happens to an unconfirmed code (expiry, repeat attempts), so it's not exhaustive.

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

Conciseness5/5

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

Two dense sentences, no filler, with the required identity fields and the id-scoping decision front-loaded before the code/confirm step. Every clause carries information an agent needs.

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

Completeness4/5

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

For a 10-parameter mutation with annotations and an output schema, the description covers the call's purpose, the branching scope choice, and the two-step completion flow. Remaining details (payment_method, locale, guests) are adequately handled by the schema, though the confirmation-code lifecycle is left implicit.

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

Parameters3/5

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

Schema description coverage is 90%, so the schema already explains name, email, phone/SMS, note, guests, locale and payment_method. The description's parameter content (session vs arrangement scope, tiers) largely restates what the schema says. Baseline 3 for high-coverage schema with marginal added meaning.

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+resource ('Register a person for an arrangement or course') and immediately distinguishes the two registration scopes via session_id vs arrangement_id, pointing at list_events as the source. An agent can tell this apart from book_appointment and confirm_with_code without reading the schema.

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?

Gives concrete selection rules: session_id for one session, arrangement_id for the whole arrangement, pricing_tier_id 'when it has tiers'. It also names the follow-up sibling confirm_with_code and the condition that selects it. It stops short of an explicit when-not-to-use rule against book_appointment or join_waitlist, so not a 5.

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