Skip to main content
Glama

dietbox_patient_write_create

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: create]

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.7/5.0
Behavior5/5

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

Description adds significant behavioral context beyond annotations: explains HTTP methods, gender conversion to boolean, automatic phone normalization to E.164, and address field mapping. No contradictions 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?

Well-organized: front-loaded with main action, then details per topic. Slightly verbose but efficient given the complexity. Every sentence provides value.

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 tool with 22 parameters and no output schema, description covers create/update distinctions, data transformations, and bulk support. References sibling tool for deletion. Lacks explanation for a few parameters, but overall complete.

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?

With 0% schema coverage, description compensates well by explaining most parameters (Gender, Name, Observation, Phone, MobilePhone, address fields, patient_id, patient_ids). However, a few parameters like Email and Birthday are not detailed.

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?

Description clearly states 'Create or update patients in Dietbox' and distinguishes between create (POST) and update (PATCH) actions. It is specific about the verb and resource, and differentiates from sibling deletion tool.

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?

Explicitly states when to use create (with Name required) vs update (partial fields). Tells agent to use sibling dietbox_patient_delete for destructive removal. Provides guidance on phone number format and address field consistency.

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.