Skip to main content
Glama

dietbox_patient_write_update

Create or update patients in Dietbox. Actions: create (Name required, uses POST), update (partial fields, uses PATCH — no need to send all fields). Gender: Masculino or Feminino (converted to boolean for the API). Observation field for notes. Endereço, dados civis e de acesso (Address, Number, Complement, Neighborhood, State, City, Cep, MaritalStatus, Occupancy, Expire) são suportados em create e update — use os mesmos nomes de campo retornados pelo dietbox_patient (get); o adapter mapeia internamente a divergência de nomes do endpoint de update.

Phone / MobilePhone são normalizados automaticamente para E.164 em create e update (o endpoint update/PATCH /patients rejeita HTTP 400 "'Body Mobile Phone Value' is not in format 'E.164'" quando recebe número sem prefixo internacional). Envie "67991234567", "(67) 99123-4567" ou "+5567991234567" indistintamente — o adapter ajusta para "+5567991234567" antes de chamar a API. Para números não-brasileiros, envie já com "+{código}".

For destructive removal use dietbox_patient_delete.

[Flattened action: update]

Bulk support: accepts patient_ids for batched execution.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
CepNo
CpfNo
CityNo
NameNo
EmailNo
PhoneNo
StateNo
ExpireNo
GenderNo
NumberNo
AddressNo
accountNo
BirthdayNo
IsActiveNo
OccupancyNo
ComplementNo
patient_idNo
MobilePhoneNo
ObservationNo
patient_idsNo
NeighborhoodNo
MaritalStatusNo

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed10 schema fields changed
    • addedInput schema / properties / Address
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / Cep
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / City
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / Complement
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / Expire
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / MaritalStatus
      Added value: +{
      +  "type": "number"
      +}
    • addedInput schema / properties / Neighborhood
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / Number
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / Occupancy
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / State
      Added value: +{
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only show readOnlyHint=false, but description adds many behavioral details: HTTP methods (POST/PATCH), gender conversion to boolean, phone normalization to E.164 with warnings about 400 errors, address field mapping, and bulk support. No contradiction with annotations.

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?

The description is well-structured with clear sections for actions, gender, address fields, phone normalization, and bulk. It front-loads the main purpose. Slightly lengthy but each sentence adds value. Could be trimmed slightly for conciseness.

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?

Given 22 parameters, no output schema, and 0% schema coverage, the description covers many aspects: dual action, normalization, address mapping, bulk. It lacks description of return values or error handling beyond the phone normalization warning, but overall is quite complete for a complex write tool.

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

Parameters5/5

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

With 0% schema coverage, the description compensates by explaining critical parameters: Name (required for create), Gender (enum mapping to boolean), Phone/MobilePhone (E.164 normalization), and address fields (use same names as get). Also mentions Observation. Though not all 22 params are detailed, the most important ones are well-documented, making the tool usable.

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?

The description clearly states it creates or updates patients in Dietbox, distinguishing between create (POST, Name required) and update (PATCH, partial fields). It differentiates from sibling tools like dietbox_patient_delete for destructive removal. Purpose is specific and well-defined.

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?

The description explains when to use create vs update (Name required for create, partial fields for update) and mentions bulk support via patient_ids. It explicitly refers to dietbox_patient_delete for destructive actions. Lacks explicit 'when not to use' but provides adequate guidance.

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.

TDQS

B3/5.0
Disambiguation2/5

Many tools have nearly identical descriptions, differing only by a single action name (e.g., dietbox_agenda_list vs dietbox_agenda_summary, multiple anamnesis read tools). This makes it hard for an agent to choose the correct tool. The splitting of CRUD operations into separate tools per action creates significant overlap.

Naming Consistency3/5

Most Dietbox tools follow a consistent `dietbox_<entity>_<action>` snake_case pattern, but tools like `authenticate`, `connect`, `marketplace`, `report_bug`, `show_version`, and `toolkit_info` break this, making naming partially inconsistent. Overall, the pattern is clear for the core domain.

Tool Count2/5

With 42 tools, the server is overburdened. Many tools are redundant due to splitting actions (e.g., three read tools for anamnesis), and non-domain tools (marketplace, bug reporting) inflate the count unnecessarily. A more streamlined set of 15-20 tools would be more appropriate.

Completeness3/5

The server covers a wide range of nutrition practice features: patients, appointments, anamnesis, anthropometry, chat, food diary, goals, finances, meal plans (read-only), prescriptions, and clinical records. However, notable write operations are missing (meal plans, goals, finance transactions), and some read-only tools lack corresponding edits.