Skip to main content
Glama

Ask the clinic

send_inquiry

Send one clinic a question or a call-back request for a person when a booking does not fit: a treatment the clinic books after a consultation, a question the facts do not answer, or "call me". Give clinic_id, the message in the person's words, their name and mobile number or email, and treatment_id when it is about one. A code goes to the person with the clinic's privacy notice; then confirm_with_code sends it to the clinic's inbox. The clinic contacts the person: never promise a time.

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": {
      "message": "<message>",
      "name": "<name>"
    },
    "name": "send_inquiry"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYesThe person's full name, as they say it.
emailNoThe person's email address. Optional.
phoneNoThe person's mobile number. The code goes there; without one, to the email.
localeNoAnswer language: nb (Norwegian) or en.nb
messageYesThe question or request in the person's own words.
callbackNotrue: the person asks the clinic to call them back.
clinic_idNoThe clinic_id find_clinics returns. Never build it from a name. A clinic site needs none.
treatment_idNoThe treatment it is about, from search_treatments.
preferred_contactNoHow the person wants the answer; a call-back is by phone.

Output Schema

NameRequiredDescriptionDefault
statusYescode_sent: ask the person for the code, then call confirm_with_code.
channelYessms or email.
inquiryYes
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.5/5.0
Behavior5/5

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

Discloses the non-obvious two-step behavior that annotations cannot convey: this call only issues a code to the person with the clinic's privacy notice, and nothing reaches the clinic's inbox until confirm_with_code runs. It also flags the open-world/async consequence that the clinic, not the agent, makes contact and no time can be promised, which is exactly the context an agent needs before invoking a non-idempotent, non-read-only call.

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-loaded with the action and the disqualifying condition, then the inputs, then the follow-up mechanics — a sensible triage order with no filler. It is dense in the middle (a long run-on list of inputs), so it stops just short of ideal scannability.

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 9-parameter, non-idempotent, open-world flow with a downstream confirmation step, the description covers the essential arc: when to use, what to supply, what actually happens, and what the agent must not promise. The presence of an output schema means return values need no explanation; only the code-delivery fallback and answer language are left implicitly to the schema.

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 100%, so the baseline is 3. The description groups the key inputs ('clinic_id, the message in the person's words, their name and mobile number or email, and treatment_id when it is about one') and adds the conditional qualifier 'when it is about one', but it omits locale, callback, and preferred_contact, and adds no format or constraint detail beyond what the schema already documents.

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 ('Send one clinic a question or a call-back request') and immediately bounds the scope against booking: use it when a booking does not fit, with three concrete cases (post-consultation treatment, unanswered question, 'call me'). An agent can tell this apart from book_appointment or join_waitlist without opening any schema.

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

Usage Guidelines5/5

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

Explicit when-to-use framing ('when a booking does not fit') with enumerated alternatives that would otherwise be confused with it, plus the required follow-up step ('confirm_with_code sends it to the clinic's inbox'). It also gives a use-side constraint: 'The clinic contacts the person: never promise a time.'

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