Skip to main content
Glama

DoctoFam Medical Clinic

Add a patient

create_patient
DestructiveIdempotent

Use this when someone asks to add a new patient to their clinic. Returns the patient's id, name, clinic and language; the phone and email given are stored but never returned. Not for a patient already on file.

Input Schema

NameRequiredDescriptionDefault
nameYesThe patient's full name.
emailNoEmail address.
phoneNoMobile number, with the country code when known.
clinicIdNoId of the clinic, from list_clinics. Leave it out when the user has one clinic.
languageNoLanguage for their messages, as a code such as en or it. Leave it out for the clinic language.
requestIdYesA unique id you choose for this patient, such as a UUID. Calling again with the same requestId returns the first patient instead of adding a second.

Output Schema

NameRequiredDescriptionDefault
statusYes
patientYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4/5.0
Behavior4/5

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

Annotations cover readOnly=false, destructive=true, idempotent=true and openWorld=false. The description goes beyond them by disclosing the return shape (id, name, clinic, language) and a non-obvious side effect: phone and email are stored but never returned. It does not restate the idempotency contract, though the requestId schema already explains it.

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?

Three short sentences, each doing distinct work: trigger, return/persistence contract, and exclusion. The usage trigger is front-loaded with zero filler.

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?

With an output schema and 100% parameter coverage, most burden is already carried elsewhere; the description still adds the persistence caveat and the scope exclusion. Minor gaps remain, such as permission requirements or what happens on a duplicate name, but nothing that blocks a correct call.

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 coverage is 100%, so all six parameters are already documented, including the requestId dedupe behavior and clinicId/language defaults. The description adds one useful fact about phone/email persist-but-not-returned, but supplies no field-level detail beyond the schema, matching the baseline for fully documented schemas.

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

Purpose4/5

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

The description opens with a specific verb and resource ('add a new patient to their clinic') and adds a boundary ('Not for a patient already on file') that separates it from update_patient and find_patient. It stops short of naming those siblings explicitly, so the agent must infer which tool handles existing patients.

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?

Both a when-to-use trigger ('when someone asks to add a new patient') and a when-not condition ('Not for a patient already on file') are stated. No alternative tool is named, so routing for the existing-patient case is left to inference from the sibling list.

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