DietBox

io.github.mcp-dirPublished by GitHub account mcp-dirv0.1.0Updated Oct 24, 2026

Patient, prescription, anthropometry, scheduling, chat and food diary management for dietitians.

Overview

AI-generated overview

Lets an assistant read and write dietetic practice data in DietBox: patients, clinical records, anamnesis, anthropometry, meal plans, prescriptions, agenda…

What you can do
A hosted MCP server exposing 36 tools for dietitians' DietBox accounts. It reads and writes patient records, clinical notes (prontuario), anamnesis questionnaires, anthropometric evaluations, supplement prescriptions, agenda appointments, chat messages, goals, food diary entries and financial transactions. Meal plans are read-only because the upstream API exposes no write endpoint. Multiple linked accounts can be selected per call.
When to use it
Useful for dietitians or clinics already using DietBox who want an assistant to look up patient data, draft anamnesis or clinical notes, log measurements, schedule appointments, message patients, or summarize the day's agenda and finances.
Requirements
A remote MCP over HTTP endpoint; no local runtime or package. Works with any MCP client that supports HTTP transport. Authentication is by magic-link login (no password) through the provider's connector flow; no API keys or environment variables are declared.
Before you install
Tools write and delete: patient create/update/delete, anamnesis and anthropometry deletion, clinical record updates, prescriptions, agenda events and chat messages sent to patients; deletions are described as irreversible. It handles sensitive health data, and returned data is sent to whichever LLM host is used, which the README names as a sub-processor outside the provider's control.

Installation

In SourceWeft

  1. Open DietBox in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.mcp-dir%2Fdietbox-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "dietbox": {
      "type": "http",
      "url": "https://api.mcp.ai/p_dietbox"
    }
  }
}

README

This repository has no README.

Tools

42

dietbox_list_accounts

List all Dietbox accounts linked to this install. Returns each account's id, email, label, and an "is_default" flag (true when only one is linked — no need to pass `account` in other tools). When multiple accounts are linked, every other dietbox_* tool accepts an optional `account` parameter; pass id, email, or label (full or partial).

Parametersaccount

dietbox_get_profile

Get the nutritionist's Dietbox profile (perfil): name, email, subscription plan, features.

Parametersaccount

dietbox_get_nutritionist

Get the nutritionist's professional profile in Dietbox: CRN, specialties, signature, subscription details.

Parametersaccount

dietbox_patient_list

Read patients in Dietbox. Actions: list (paginated, search by name), get (full detail). [Flattened action: list] Bulk support: accepts patient_ids for batched execution.

Parametersskiptakeordersearchaccountis_activepatient_idpatient_ids

dietbox_patient_get

Read patients in Dietbox. Actions: list (paginated, search by name), get (full detail). [Flattened action: get] Bulk support: accepts patient_ids for batched execution.

Parametersskiptakeordersearchaccountis_activepatient_idpatient_ids

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.

ParametersCepCpfCityNameEmailPhoneStateExpireGenderNumberAddressaccount+10 more

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.

ParametersCepCpfCityNameEmailPhoneStateExpireGenderNumberAddressaccount+10 more

dietbox_patient_delete

Permanently delete a patient from Dietbox. Irreversible. Bulk support: accepts patient_ids for batched execution.

Parametersaccountpatient_idrequiredpatient_ids

dietbox_prontuario

Get the clinical record (prontuario) for a Dietbox patient: medical history, notes. Bulk support: accepts patient_ids for batched execution.

Parametersaccountpatient_idrequiredpatient_ids

dietbox_prontuario_write

Update the clinical record (prontuario) for a Dietbox patient. Pass the text content directly (HTML supported). Returns 204 on success. Bulk support: accepts patient_ids for batched execution.

Parameterstextrequiredaccountpatient_idrequiredpatient_ids

dietbox_anamnese_list

Read anamnesis (health history questionnaire) records in Dietbox. Actions: list (paginated), get (by ID), get_latest (most recent for patient). [Flattened action: list] Bulk support: accepts patient_ids, anamnesis_ids for batched execution.

Parametersskiptakesearchaccountpatient_idpatient_idsanamnesis_idanamnesis_ids

dietbox_anamnese_get

Read anamnesis (health history questionnaire) records in Dietbox. Actions: list (paginated), get (by ID), get_latest (most recent for patient). [Flattened action: get] Bulk support: accepts patient_ids, anamnesis_ids for batched execution.

Parametersskiptakesearchaccountpatient_idpatient_idsanamnesis_idanamnesis_ids

dietbox_anamnese_get_latest

Read anamnesis (health history questionnaire) records in Dietbox. Actions: list (paginated), get (by ID), get_latest (most recent for patient). [Flattened action: get_latest] Bulk support: accepts patient_ids, anamnesis_ids for batched execution.

Parametersskiptakesearchaccountpatient_idpatient_idsanamnesis_idanamnesis_ids

dietbox_anamnese_write_create

Create or update an anamnesis (health history questionnaire) in Dietbox. Actions: - create: cria nova anamnese. Obrigatório: patient_id. Opcional: descricao, texto_livre (HTML), tipo (1=completa default, 2=simplificada), data (ISO), overrides (map com qualquer campo extra: fuma, diabetes, medicamentos, alergias, ...). - update: atualiza uma anamnese existente. Obrigatório: anamnesis_id. Demais campos sobrescrevem os atuais. Retorna { id } da anamnese criada/atualizada. [Flattened action: create] Bulk support: accepts patient_ids, anamnesis_ids for batched execution.

Parametersdatatipoaccountdescricaooverridespatient_idpatient_idstexto_livreanamnesis_idanamnesis_ids

dietbox_anamnese_write_update

Create or update an anamnesis (health history questionnaire) in Dietbox. Actions: - create: cria nova anamnese. Obrigatório: patient_id. Opcional: descricao, texto_livre (HTML), tipo (1=completa default, 2=simplificada), data (ISO), overrides (map com qualquer campo extra: fuma, diabetes, medicamentos, alergias, ...). - update: atualiza uma anamnese existente. Obrigatório: anamnesis_id. Demais campos sobrescrevem os atuais. Retorna { id } da anamnese criada/atualizada. [Flattened action: update] Bulk support: accepts patient_ids, anamnesis_ids for batched execution.

Parametersdatatipoaccountdescricaooverridespatient_idpatient_idstexto_livreanamnesis_idanamnesis_ids

dietbox_anamnese_delete

Remove uma anamnese do Dietbox. Ação irreversível. Bulk support: accepts anamnesis_ids, patient_ids for batched execution.

Parametersaccountpatient_idpatient_idsanamnesis_idrequiredanamnesis_ids

dietbox_antropometria_list

Read anthropometric evaluations in Dietbox (weight, height, BMI, body composition). Actions: list (paginated, filter by tipo), get (by ID), get_latest (current measurements). [Flattened action: list] Bulk support: accepts patient_ids, anthropometry_ids for batched execution.

Parametersskiptaketipoaccountpatient_idpatient_idsanthropometry_idanthropometry_ids

dietbox_antropometria_get

Read anthropometric evaluations in Dietbox (weight, height, BMI, body composition). Actions: list (paginated, filter by tipo), get (by ID), get_latest (current measurements). [Flattened action: get] Bulk support: accepts patient_ids, anthropometry_ids for batched execution.

Parametersskiptaketipoaccountpatient_idpatient_idsanthropometry_idanthropometry_ids

dietbox_antropometria_get_latest

Read anthropometric evaluations in Dietbox (weight, height, BMI, body composition). Actions: list (paginated, filter by tipo), get (by ID), get_latest (current measurements). [Flattened action: get_latest] Bulk support: accepts patient_ids, anthropometry_ids for batched execution.

Parametersskiptaketipoaccountpatient_idpatient_idsanthropometry_idanthropometry_ids

dietbox_antropometria_write

Create a new anthropometric evaluation in Dietbox. Required: patient_id, weight (kg, 0.1-1000), height (meters, 0.1-3.0). Type: 1=physical evaluation (default), 4=bioimpedance. All measurement fields (circumferences, skinfolds, bioimpedance) default to null. Bulk support: accepts patient_ids for batched execution.

Parametersdatetypeheightrequiredweightrequiredaccountpatient_idrequireddescriptionpatient_ids

dietbox_antropometria_delete

Delete an anthropometric evaluation from Dietbox. This is irreversible. Bulk support: accepts anthropometry_ids for batched execution.

Parametersaccountanthropometry_idrequiredanthropometry_ids

dietbox_meal_plan

Get the active meal plan (plano alimentar) for a patient in Dietbox. Returns the full list of meals with foods, portions, schedule, and day-of-week assignments. Each meal has: title (e.g. "Café da manhã"), time, text (food items with portions), observacao, and weekday flags. NOTE: This is different from "prescriptions" — prescriptions in Dietbox are supplement/herbal medicine prescriptions. Use this tool for food/meal plans. READ-ONLY (UPSTREAM LIMITATION): A API v2 do Dietbox não expõe endpoint público de criação/edição de plano alimentar — a interface web usa rotas MVC internas (dietbox.me/PlanoAlimentar/...) que exigem cookies de sessão do browser, inacessíveis programaticamente. Por isso não existe dietbox_meal_plan_write. Para criar/editar planos, use a UI web do Dietbox, ou considere webdiet_prescription_write (WebDiet) quando for opção. Caso a Dietbox venha a expor esse endpoint na API, o adapter será atualizado. Bulk support: accepts patient_ids for batched execution.

Parametersaccountpatient_idrequiredpatient_ids

dietbox_prescription_list

Read supplement/herbal medicine prescriptions in Dietbox (NOT meal plans — use dietbox_meal_plan for food plans). Actions: list (by patient), get (full detail by ID), list_models (reusable templates). [Flattened action: list] Bulk support: accepts patient_ids, prescription_ids for batched execution.

Parametersskiptakesearchaccountpatient_idpatient_idsprescription_idprescription_ids

dietbox_prescription_get

Read supplement/herbal medicine prescriptions in Dietbox (NOT meal plans — use dietbox_meal_plan for food plans). Actions: list (by patient), get (full detail by ID), list_models (reusable templates). [Flattened action: get] Bulk support: accepts patient_ids, prescription_ids for batched execution.

Parametersskiptakesearchaccountpatient_idpatient_idsprescription_idprescription_ids

dietbox_prescription_list_models

Read supplement/herbal medicine prescriptions in Dietbox (NOT meal plans — use dietbox_meal_plan for food plans). Actions: list (by patient), get (full detail by ID), list_models (reusable templates). [Flattened action: list_models] Bulk support: accepts patient_ids, prescription_ids for batched execution.

Parametersskiptakesearchaccountpatient_idpatient_idsprescription_idprescription_ids

dietbox_prescription_write

Create a new supplement/herbal medicine prescription in Dietbox. For meal plans, use dietbox_meal_plan (read-only — Dietbox não expõe escrita via API). Required: title (nome da prescrição) and patient_id. Without title the API returns 400 "'Title' deve ser informado / 'Title' não pode ser nulo". "data" is a JSON string with the remaining prescription payload (Items, Orientations etc.); title and patient_id são mesclados automaticamente antes do POST. Bulk support: accepts patient_ids for batched execution.

Parametersdatatitlerequiredaccountpatient_idrequiredpatient_ids

dietbox_agenda_list

Read schedule/agenda in Dietbox. Actions: list (filter by date range/patient), summary (today's overview). [Flattened action: list] Bulk support: accepts patient_ids for batched execution.

Parametersendstartaccounttimezonepatient_idpatient_ids

dietbox_agenda_summary

Read schedule/agenda in Dietbox. Actions: list (filter by date range/patient), summary (today's overview). [Flattened action: summary] Bulk support: accepts patient_ids for batched execution.

Parametersendstartaccounttimezonepatient_idpatient_ids

dietbox_agenda_write

Create a new event/appointment in the Dietbox agenda. Requires Start and End as ISO datetime strings. Timezone defaults to America/Sao_Paulo (IANA format). Valid Tipo values: "consulta" (appointment), "retorno" (follow-up), "bloqueio" (block). Bulk support: accepts patient_ids for batched execution.

Parametersendrequiredtipostartrequiredtituloaccounttimezonetodo_diadescricaopatient_idpatient_ids

dietbox_chat_list

Read chat conversations in Dietbox. Actions: list (conversations, filter by patient/unread), messages (message history for patient). [Flattened action: list] Bulk support: accepts patient_ids for batched execution.

Parameterstakeunreadaccountpatient_idpatient_ids

dietbox_chat_messages

Read chat conversations in Dietbox. Actions: list (conversations, filter by patient/unread), messages (message history for patient). [Flattened action: messages] Bulk support: accepts patient_ids for batched execution.

Parameterstakeunreadaccountpatient_idpatient_ids

dietbox_chat_write

Send a chat message to a patient in Dietbox. Pass message data as a JSON string.

Parametersdatarequiredaccount

dietbox_list_goals

List nutrition/health goals for a Dietbox patient: weight targets, habit goals, custom objectives. Bulk support: accepts patient_ids for batched execution.

Parametersskiptakeaccountpatient_idrequiredpatient_ids

dietbox_get_goal_progress

Get goal progress for a Dietbox patient: completion percentages, streaks, recent activity. Bulk support: accepts patient_ids for batched execution.

Parametersaccounttimezonepatient_idrequiredpatient_ids

dietbox_list_diario

List food diary entries for a Dietbox patient on a specific date. Shows what the patient ate, meal photos, comments. Bulk support: accepts patient_ids for batched execution.

Parametersdaterequiredskiptakeaccountpatient_idrequiredpatient_ids

dietbox_list_finance_transactions

List financial transactions in Dietbox: payments, receivables, filtered by date and status.

Parameterspaidaccountcategoryend_datestart_date

show_version

Show Version

Show the current MCP platform and adapter versions.

Takes no parameters.

report_bug

Report Bug

Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.

Parameterscontextmessagerequiredconversation

connect

Connection Status

Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.

Takes no parameters.

toolkit_info

Toolkit Info

Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.

Takes no parameters.

marketplace

Marketplace

The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/<slug> link that opens without login.

Parameterslimitqueryactionmcp_idmessagetool_idargumentsimmediatetier_slugprompt_bodyprompt_slugprompt_tool+11 more

authenticate

Authenticate

MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <token>` for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "<jwt>" } after the user pastes, or with no args to get the link.

Parameterstoken

Version history

1
  1. v0.1.0LatestSep 16, 2026

Score

75% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • License10 pts

    Declare a license in the repository or the registry entry.