WebDiet

WebDiet

56 tools for nutritionists to manage patients, meal plans, prescriptions, clinical records, and anthropometry via MCP clients like Claude and Cursor.

Category
访问服务器

README

WebDiet

WebDiet para Claude, Cursor e agentes de IA

Gestão de pacientes, planos alimentares, prescrições, prontuário e antropometria para nutricionistas.

  • 📊 56 ferramentas
  • ✏️ Leitura e escrita
  • 💬 Funciona com qualquer cliente MCP: Claude Desktop, Cursor, VS Code, Cline, Continue
  • 🔑 Login via magic-link (sem senha)

English version · Documentação completa · Skill pra agentes


Instalar em 1 clique

Claude (Web e Desktop)

A Anthropic unificou a instalação de MCPs em claude.ai/customize/connectors. O mesmo link serve pra Claude Web e Claude Desktop (basta estar logado):

➕ Abrir no Claude e conectar

Manual (se o deeplink não abrir): claude.ai/customize/connectors+Adicionar conector personalizado → cole Nome WebDiet e URL https://api.mcp.ai/p_webdiet.

Cursor

➕ Instalar WebDiet no Cursor

VS Code (Copilot Chat)

➕ Instalar WebDiet no VS Code

ChatGPT, Manus, OpenClaw e mais 40+ clientes

Funciona em qualquer cliente MCP que suporte MCP over HTTP. A URL do servidor é sempre:

https://api.mcp.ai/p_webdiet

Detalhes por cliente: INSTALL.md.


Exemplos de uso

Liste meus pacientes e a próxima consulta de cada um
Crie uma prescrição alimentar de 1800 kcal pra paciente Maria
Busque alimentos com alta proteína no banco TACO

56 ferramentas disponíveis

Tool Descrição
webdiet_list_accounts List all WebDiet 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 the user wants to add another WebDiet account, return add_account_url (no payload) como link clicável — abre o form de login no dashboard.
webdiet_patient_list Read patients in WebDiet. Actions: list (search by keyword — returns id, nome, link, with pagination), get (full profile with address, phone, links to panel sections). Both actions return a permanent "link" identifier and direct URLs when available (antropometria, prescriptions, etc.). IMPORTANT: Patient list search may be paginated — for writes, pass the numeric id from webdiet_patient get/list, the portal "link" number, or a unique phone/name keyword; the adapter falls back to dadosPaciente.php when the id is not on the first list page. [Flattened action: list] Bulk support: accepts patient_ids for batched execution.
webdiet_patient_get Read patients in WebDiet. Actions: list (search by keyword — returns id, nome, link, with pagination), get (full profile with address, phone, links to panel sections). Both actions return a permanent "link" identifier and direct URLs when available (antropometria, prescriptions, etc.). IMPORTANT: Patient list search may be paginated — for writes, pass the numeric id from webdiet_patient get/list, the portal "link" number, or a unique phone/name keyword; the adapter falls back to dadosPaciente.php when the id is not on the first list page. [Flattened action: get] Bulk support: accepts patient_ids for batched execution.
webdiet_patient_write_create Create or update patients in WebDiet. Actions: create (nome + nascimento required — returns patient_id), update (partial fields). IMPORTANT: nascimento (birth date DD/MM/YYYY) is REQUIRED for create — WebDiet uses it to calculate age in prescriptions. Without it, metodoPlanning.php crashes with a Fatal Error. For destructive removal use webdiet_patient_delete. [Flattened action: create] Bulk support: accepts patient_ids for batched execution.
webdiet_patient_write_update Create or update patients in WebDiet. Actions: create (nome + nascimento required — returns patient_id), update (partial fields). IMPORTANT: nascimento (birth date DD/MM/YYYY) is REQUIRED for create — WebDiet uses it to calculate age in prescriptions. Without it, metodoPlanning.php crashes with a Fatal Error. For destructive removal use webdiet_patient_delete. [Flattened action: update] Bulk support: accepts patient_ids for batched execution.
webdiet_patient_delete Permanently delete a WebDiet patient (uses removerPaciente — resolves id/link from a fresh list first). Irreversible. Bulk support: accepts patient_ids for batched execution.
webdiet_get_consultations Load food diary entries, meal reactions, attachments, or orientations for a patient. Use tipo to select: diario (food diary), reacoes (meal reactions), anexos (attachments), orientacoes (guidelines/orientations sent to patient). Bulk support: accepts patient_ids for batched execution.
webdiet_prontuario Get the clinical record (prontuario) for a WebDiet patient. Returns decoded text with sections: Identificacao, Triagem, Anamnese alimentar, etc. Bulk support: accepts patient_ids for batched execution.
webdiet_prontuario_write Save the clinical record (prontuario) for a WebDiet patient. Pass texto as a JSON array of HTML strings, one per section. Bulk support: accepts patient_ids for batched execution.
webdiet_anamnese List all anamnesis records for a WebDiet patient WITH the full Q/A content. Each item carries: - id, titulo, data - texto → plain-text Q/A (readable, line-broken — best for AI consumption / RAG) - texto_html → original HTML (<b>...</b><br>...) preserved for rich rendering - interpretacao / interpretacao_html → nutritionist's notes when present WebDiet stores the answers as URL-encoded HTML (<b>question</b><br>answer<br><br>); this tool decodes both representations so the agent can read e.g. food frequency, complaints, goals, allergies for the patient. For pre-consultation questionnaire responses NOT yet linked to a patient, use webdiet_preconsulta action=list_responses. Bulk support: accepts patient_ids for batched execution.
webdiet_anamnese_write_save Create / update anamnesis records in WebDiet. Actions: save (create or update — anamnese_id empty = new), save_interpretation (save AI/nutritionist interpretation), duplicate (copy existing record). For destructive removal use webdiet_anamnese_delete. [Flattened action: save] Bulk support: accepts patient_ids, anamnese_ids for batched execution.
webdiet_anamnese_write_save_interpretation Create / update anamnesis records in WebDiet. Actions: save (create or update — anamnese_id empty = new), save_interpretation (save AI/nutritionist interpretation), duplicate (copy existing record). For destructive removal use webdiet_anamnese_delete. [Flattened action: save_interpretation] Bulk support: accepts patient_ids, anamnese_ids for batched execution.
webdiet_anamnese_write_duplicate Create / update anamnesis records in WebDiet. Actions: save (create or update — anamnese_id empty = new), save_interpretation (save AI/nutritionist interpretation), duplicate (copy existing record). For destructive removal use webdiet_anamnese_delete. [Flattened action: duplicate] Bulk support: accepts patient_ids, anamnese_ids for batched execution.
webdiet_anamnese_delete Permanently delete an anamnesis record in WebDiet. Irreversible. Bulk support: accepts patient_ids, anamnese_ids for batched execution.
webdiet_preconsulta_list_templates Read pre-consultation questionnaires (Pré-consulta) in WebDiet. Actions: - list_templates → list all questionnaire templates the nutritionist publishes. Each item returns nome, descricao, perguntas[] (decoded), modelo, codigo, "link" (the public short URL https://nutr.se/<short> to share with patients) and "preview_url" (panel preview). USE THIS when the user asks for "o link do questionário de pré-consulta" / "link do formulário". - list_responses → list patient submissions to ANY template. Each response has id, id_code, template_nome, origem (anamnese
webdiet_preconsulta_list_responses Read pre-consultation questionnaires (Pré-consulta) in WebDiet. Actions: - list_templates → list all questionnaire templates the nutritionist publishes. Each item returns nome, descricao, perguntas[] (decoded), modelo, codigo, "link" (the public short URL https://nutr.se/<short> to share with patients) and "preview_url" (panel preview). USE THIS when the user asks for "o link do questionário de pré-consulta" / "link do formulário". - list_responses → list patient submissions to ANY template. Each response has id, id_code, template_nome, origem (anamnese
webdiet_preconsulta_get_response Read pre-consultation questionnaires (Pré-consulta) in WebDiet. Actions: - list_templates → list all questionnaire templates the nutritionist publishes. Each item returns nome, descricao, perguntas[] (decoded), modelo, codigo, "link" (the public short URL https://nutr.se/<short> to share with patients) and "preview_url" (panel preview). USE THIS when the user asks for "o link do questionário de pré-consulta" / "link do formulário". - list_responses → list patient submissions to ANY template. Each response has id, id_code, template_nome, origem (anamnese
webdiet_preconsulta_write_link_to_patient Vincular (link) a pre-consultation response to an existing patient in WebDiet. Action: link_to_patient — imports the response content into the patient's chart. WebDiet routes automatically based on the response's "origem": • origem=anamnese → response becomes a new anamnese (importarPreanamnese.php) • origem=questionario → response becomes a new diagnostico (criarDiagnosticoPre.php) This is the API-equivalent of the panel's "Vincular ao paciente" button on the Respostas dos questionários page. After linking, the response remains in the responses list — use webdiet_preconsulta_delete to remove it if desired. Tip: when the response's respondedor.nome differs from the patient's nome (e.g. "DALILA JULIAO MARTINS" vs "Dalila CG"), match by telefone or nascimento via webdiet_patient list before linking. [Flattened action: link_to_patient] Bulk support: accepts patient_ids, response_ids for batched execution.
webdiet_preconsulta_delete Permanently delete a pre-consultation response in WebDiet. Templates are NOT affected. Irreversible. Bulk support: accepts response_ids for batched execution.
webdiet_antropometria_list Read anthropometry (body measurement) records for a WebDiet patient. Actions: list (all records with id, date, type, direct URL), get (full measurements from a specific record including weight, height, skinfolds, circumferences, bioimpedance, BMI, body fat %, classifications + direct URL). Each record includes a "url" field with the direct link to the record in WebDiet (e.g. https://pt.webdiet.com.br/painel/v4/antropometria.php?id=...). Use this to analyze patient body composition evolution over time. For creating/saving records, use webdiet_create_antropometria + webdiet_save_antropometria. [Flattened action: list] Bulk support: accepts patient_ids, antropometria_ids for batched execution.
webdiet_antropometria_get Read anthropometry (body measurement) records for a WebDiet patient. Actions: list (all records with id, date, type, direct URL), get (full measurements from a specific record including weight, height, skinfolds, circumferences, bioimpedance, BMI, body fat %, classifications + direct URL). Each record includes a "url" field with the direct link to the record in WebDiet (e.g. https://pt.webdiet.com.br/painel/v4/antropometria.php?id=...). Use this to analyze patient body composition evolution over time. For creating/saving records, use webdiet_create_antropometria + webdiet_save_antropometria. [Flattened action: get] Bulk support: accepts patient_ids, antropometria_ids for batched execution.
webdiet_create_antropometria Create a new body measurement record for a patient. Returns the record ID needed for webdiet_save_antropometria. Types: adulto (adult), infantil (child), gestacional (pregnancy). Bulk support: accepts patient_ids for batched execution.
webdiet_save_antropometria Save body measurements (anthropometry) for a patient. Call webdiet_create_antropometria first to get the antropometria_id. All numeric values are strings. Provide raw measurements — calculated fields (IMC, GC%, density, fat mass, lean mass, classifications) are computed automatically server-side using the chosen formula. Sections: basic (peso/altura), skinfolds (10 dobras in mm), circumferences (20 fields in cm, bilateral pairs for limbs), bone diameters (3 fields in cm), bioimpedance (9 fields from scale). Formulas for body fat %: pollock3 (default), pollock7, guedes, petroski, durnin, faulkner, nenhuma. Density conversion: brozek (default) or siri. Side for CMB: esquerdo (default) or direito. Bulk support: accepts patient_ids, antropometria_ids for batched execution.
webdiet_get_planner Load the nutritionist's calendar/agenda for a date: appointments, overdue tasks, birthdays, events. Defaults to today.
webdiet_prescription_list Read meal plan prescriptions in WebDiet. Actions: list (all recent prescriptions — each includes "url" with the full direct link), get_detail (full meals/foods from a prescription URL). Always show the "url" field to the user when they ask for a prescription link. [Flattened action: list]
webdiet_prescription_get_detail Read meal plan prescriptions in WebDiet. Actions: list (all recent prescriptions — each includes "url" with the full direct link), get_detail (full meals/foods from a prescription URL). Always show the "url" field to the user when they ask for a prescription link. [Flattened action: get_detail]
webdiet_prescription_write_create Create, save or publish meal plan prescriptions in WebDiet. Actions: create (new prescription for patient), save (meals/foods JSON to existing prescription), publish (release prescription to patient — makes it visible on the patient portal/app). IMPORTANT: After creating and saving foods, you MUST call publish to make the prescription visible to the patient. ═══ MÉTODO DE PRESCRIÇÃO — escolha no create ═══ WebDiet tem 3 métodos: • "Convencional" (UI: "Por alimentos", URL: metodoPlanning.php) — DEFAULT e RECOMENDADO. Alimento-por-alimento. Para cálculo de macros automático (proteínas/lipídios/carboidratos/calorias) na tabela "Alimentos prescritos" detalhada, cada alimento DEVE incluir o campo "id" com o WebDiet food-DB ID numérico. Sem id, o alimento AINDA é salvo no método Convencional e aparece no card expandido da refeição com nome + medida caseira, mas sem macros. NÃO vai para a seção qualitativa — o save retorna um warning explicando. • "Equivalentes" (UI: "Por equivalentes", URL: metodoWebdiet.php) — avançado. Prescrição por grupos de equivalentes. Requer IDs do banco. • "Qualitativo" (UI: "Qualitativa", URL: metodoQualitativo.php) — texto livre por refeição. A página do Qualitativo usa estrutura de dados diferente (refs com objetos cardapio) que este adapter ainda não gera corretamente via save. Para prescrições qualitativas, recomendado: criar via UI ou usar metodo="Convencional" sem food IDs (os alimentos aparecem como texto na refeição sem macros, efeito semelhante). ═══ prescricao_json (para o save) ═══ JSON array de refeições. Cada refeição: {nome, horario, alimentos:[...]}. Cada alimento: {nome, quantidade, medida_caseira, peso_gramas, id?}. AUTO-RESOLVE: se "id" não for enviado, o adapter procura automaticamente o melhor match no banco WebDiet (mesmo catálogo do webdiet_food_search) pelo campo "nome" e preenche o id antes de salvar — com isso os macros são calculados mesmo sem pré-chamar webdiet_food_search. O save retorna auto_resolved_foods {resolved, not_found, unresolved[]} indicando quais nomes não tiveram correspondência. Para controle fino (variante específica do banco, gramagem da medida caseira etc.), ainda é recomendado chamar webdiet_food_search e enviar o "id" explicitamente. Para evitar duplicação na UI ("2 2 fatias (50g)"), use quantidade numérica em "quantidade" e medida_caseira SEM repetir esse número e SEM sufixo "(Xg)" — ex.: quantidade="2", medida_caseira="fatias", peso_gramas="50". O MCP também normaliza automaticamente se você enviar texto completo. Exemplo sem ids (o adapter resolve automaticamente; nomes pouco específicos podem não encontrar match): [{"nome":"Café da Manhã","horario":"07:00","alimentos":[{"nome":"Pão integral","quantidade":"2","medida_caseira":"fatias","peso_gramas":"60"}]}] Exemplo com ids (pula o auto-resolve — ideal quando você já escolheu a variante exata): [{"nome":"Almoço","horario":"12:00","alimentos":[{"id":"9153","nome":"Arroz branco cozido","quantidade":"4","medida_caseira":"4 colheres de sopa (100g)","peso_gramas":"100"},{"id":"9168","nome":"Feijão carioca cozido","quantidade":"2","medida_caseira":"2 colheres (50g)","peso_gramas":"50"}]}] O save retorna {ok, metodo, warnings[], raw, auto_resolved_foods}. warnings avisa sobre alimentos sem id e alimentos não encontrados no banco. [Flattened action: create] Bulk support: accepts patient_ids, prescription_ids for batched execution.
webdiet_prescription_write_save Create, save or publish meal plan prescriptions in WebDiet. Actions: create (new prescription for patient), save (meals/foods JSON to existing prescription), publish (release prescription to patient — makes it visible on the patient portal/app). IMPORTANT: After creating and saving foods, you MUST call publish to make the prescription visible to the patient. ═══ MÉTODO DE PRESCRIÇÃO — escolha no create ═══ WebDiet tem 3 métodos: • "Convencional" (UI: "Por alimentos", URL: metodoPlanning.php) — DEFAULT e RECOMENDADO. Alimento-por-alimento. Para cálculo de macros automático (proteínas/lipídios/carboidratos/calorias) na tabela "Alimentos prescritos" detalhada, cada alimento DEVE incluir o campo "id" com o WebDiet food-DB ID numérico. Sem id, o alimento AINDA é salvo no método Convencional e aparece no card expandido da refeição com nome + medida caseira, mas sem macros. NÃO vai para a seção qualitativa — o save retorna um warning explicando. • "Equivalentes" (UI: "Por equivalentes", URL: metodoWebdiet.php) — avançado. Prescrição por grupos de equivalentes. Requer IDs do banco. • "Qualitativo" (UI: "Qualitativa", URL: metodoQualitativo.php) — texto livre por refeição. A página do Qualitativo usa estrutura de dados diferente (refs com objetos cardapio) que este adapter ainda não gera corretamente via save. Para prescrições qualitativas, recomendado: criar via UI ou usar metodo="Convencional" sem food IDs (os alimentos aparecem como texto na refeição sem macros, efeito semelhante). ═══ prescricao_json (para o save) ═══ JSON array de refeições. Cada refeição: {nome, horario, alimentos:[...]}. Cada alimento: {nome, quantidade, medida_caseira, peso_gramas, id?}. AUTO-RESOLVE: se "id" não for enviado, o adapter procura automaticamente o melhor match no banco WebDiet (mesmo catálogo do webdiet_food_search) pelo campo "nome" e preenche o id antes de salvar — com isso os macros são calculados mesmo sem pré-chamar webdiet_food_search. O save retorna auto_resolved_foods {resolved, not_found, unresolved[]} indicando quais nomes não tiveram correspondência. Para controle fino (variante específica do banco, gramagem da medida caseira etc.), ainda é recomendado chamar webdiet_food_search e enviar o "id" explicitamente. Para evitar duplicação na UI ("2 2 fatias (50g)"), use quantidade numérica em "quantidade" e medida_caseira SEM repetir esse número e SEM sufixo "(Xg)" — ex.: quantidade="2", medida_caseira="fatias", peso_gramas="50". O MCP também normaliza automaticamente se você enviar texto completo. Exemplo sem ids (o adapter resolve automaticamente; nomes pouco específicos podem não encontrar match): [{"nome":"Café da Manhã","horario":"07:00","alimentos":[{"nome":"Pão integral","quantidade":"2","medida_caseira":"fatias","peso_gramas":"60"}]}] Exemplo com ids (pula o auto-resolve — ideal quando você já escolheu a variante exata): [{"nome":"Almoço","horario":"12:00","alimentos":[{"id":"9153","nome":"Arroz branco cozido","quantidade":"4","medida_caseira":"4 colheres de sopa (100g)","peso_gramas":"100"},{"id":"9168","nome":"Feijão carioca cozido","quantidade":"2","medida_caseira":"2 colheres (50g)","peso_gramas":"50"}]}] O save retorna {ok, metodo, warnings[], raw, auto_resolved_foods}. warnings avisa sobre alimentos sem id e alimentos não encontrados no banco. [Flattened action: save] Bulk support: accepts patient_ids, prescription_ids for batched execution.
webdiet_prescription_write_publish Create, save or publish meal plan prescriptions in WebDiet. Actions: create (new prescription for patient), save (meals/foods JSON to existing prescription), publish (release prescription to patient — makes it visible on the patient portal/app). IMPORTANT: After creating and saving foods, you MUST call publish to make the prescription visible to the patient. ═══ MÉTODO DE PRESCRIÇÃO — escolha no create ═══ WebDiet tem 3 métodos: • "Convencional" (UI: "Por alimentos", URL: metodoPlanning.php) — DEFAULT e RECOMENDADO. Alimento-por-alimento. Para cálculo de macros automático (proteínas/lipídios/carboidratos/calorias) na tabela "Alimentos prescritos" detalhada, cada alimento DEVE incluir o campo "id" com o WebDiet food-DB ID numérico. Sem id, o alimento AINDA é salvo no método Convencional e aparece no card expandido da refeição com nome + medida caseira, mas sem macros. NÃO vai para a seção qualitativa — o save retorna um warning explicando. • "Equivalentes" (UI: "Por equivalentes", URL: metodoWebdiet.php) — avançado. Prescrição por grupos de equivalentes. Requer IDs do banco. • "Qualitativo" (UI: "Qualitativa", URL: metodoQualitativo.php) — texto livre por refeição. A página do Qualitativo usa estrutura de dados diferente (refs com objetos cardapio) que este adapter ainda não gera corretamente via save. Para prescrições qualitativas, recomendado: criar via UI ou usar metodo="Convencional" sem food IDs (os alimentos aparecem como texto na refeição sem macros, efeito semelhante). ═══ prescricao_json (para o save) ═══ JSON array de refeições. Cada refeição: {nome, horario, alimentos:[...]}. Cada alimento: {nome, quantidade, medida_caseira, peso_gramas, id?}. AUTO-RESOLVE: se "id" não for enviado, o adapter procura automaticamente o melhor match no banco WebDiet (mesmo catálogo do webdiet_food_search) pelo campo "nome" e preenche o id antes de salvar — com isso os macros são calculados mesmo sem pré-chamar webdiet_food_search. O save retorna auto_resolved_foods {resolved, not_found, unresolved[]} indicando quais nomes não tiveram correspondência. Para controle fino (variante específica do banco, gramagem da medida caseira etc.), ainda é recomendado chamar webdiet_food_search e enviar o "id" explicitamente. Para evitar duplicação na UI ("2 2 fatias (50g)"), use quantidade numérica em "quantidade" e medida_caseira SEM repetir esse número e SEM sufixo "(Xg)" — ex.: quantidade="2", medida_caseira="fatias", peso_gramas="50". O MCP também normaliza automaticamente se você enviar texto completo. Exemplo sem ids (o adapter resolve automaticamente; nomes pouco específicos podem não encontrar match): [{"nome":"Café da Manhã","horario":"07:00","alimentos":[{"nome":"Pão integral","quantidade":"2","medida_caseira":"fatias","peso_gramas":"60"}]}] Exemplo com ids (pula o auto-resolve — ideal quando você já escolheu a variante exata): [{"nome":"Almoço","horario":"12:00","alimentos":[{"id":"9153","nome":"Arroz branco cozido","quantidade":"4","medida_caseira":"4 colheres de sopa (100g)","peso_gramas":"100"},{"id":"9168","nome":"Feijão carioca cozido","quantidade":"2","medida_caseira":"2 colheres (50g)","peso_gramas":"50"}]}] O save retorna {ok, metodo, warnings[], raw, auto_resolved_foods}. warnings avisa sobre alimentos sem id e alimentos não encontrados no banco. [Flattened action: publish] Bulk support: accepts patient_ids, prescription_ids for batched execution.
webdiet_food_search Search WebDiet food database for numeric food ids (needed for full macros in Convencional / metodoPlanning prescriptions). Uses the same data source as the panel (carregarAlimentosAvulsos.php): the full catalog is cached per MCP session and filtered client-side (min 3 characters in keyword, same as the planning UI). Returns id, nome, grupo, origem, macros (kcal, proteinas, lipidios, carboidratos, fibras), and medidas_caseiras with gram weights.
webdiet_orientacoes_list Read "Listas e Orientações" (guidelines/orientation lists) in WebDiet. Actions: list (orientation records for a patient), list_banco (orientation bank / favorites — saved templates available to send to any patient). The orientation bank contains nutritionist's saved/favorite orientations (e.g. "Chás diuréticos", "Refeições livres") that can be sent to any patient. Use list_banco to see available names, then pass those exact names to webdiet_orientacoes_write action=send. [Flattened action: list] Bulk support: accepts patient_ids for batched execution.
webdiet_orientacoes_list_banco Read "Listas e Orientações" (guidelines/orientation lists) in WebDiet. Actions: list (orientation records for a patient), list_banco (orientation bank / favorites — saved templates available to send to any patient). The orientation bank contains nutritionist's saved/favorite orientations (e.g. "Chás diuréticos", "Refeições livres") that can be sent to any patient. Use list_banco to see available names, then pass those exact names to webdiet_orientacoes_write action=send. [Flattened action: list_banco] Bulk support: accepts patient_ids for batched execution.
webdiet_orientacoes_write_save Create / update / send "Listas e Orientações" in WebDiet. Actions: save (create/update an orientation for a patient), send (send orientation(s) from the bank to a patient by exact name). save: non-ASCII emojis in "texto" are encoded as HTML numeric entities so they render on the patient portal (avoids "?" placeholders). If "titulo" is set, an <h1> with the title is prepended to "texto" for the patient view (portal does not show titulo alone). [Flattened action: save] Bulk support: accepts patient_ids, orientacao_ids for batched execution.
webdiet_orientacoes_write_send Create / update / send "Listas e Orientações" in WebDiet. Actions: save (create/update an orientation for a patient), send (send orientation(s) from the bank to a patient by exact name). save: non-ASCII emojis in "texto" are encoded as HTML numeric entities so they render on the patient portal (avoids "?" placeholders). If "titulo" is set, an <h1> with the title is prepended to "texto" for the patient view (portal does not show titulo alone). [Flattened action: send] Bulk support: accepts patient_ids, orientacao_ids for batched execution.
webdiet_manipulados_list Read "Prescrição de manipulados" (compounded/magistral pharmacy formulas) in WebDiet. Actions: - list_banco → search the WebDiet formula bank (~249 pre-built templates: ~120 disponíveis + ~129 de extensões pagas). Filtros: keyword (busca livre na indicação clínica = nome da fórmula), categoria (suplementos
webdiet_manipulados_list_banco Read "Prescrição de manipulados" (compounded/magistral pharmacy formulas) in WebDiet. Actions: - list_banco → search the WebDiet formula bank (~249 pre-built templates: ~120 disponíveis + ~129 de extensões pagas). Filtros: keyword (busca livre na indicação clínica = nome da fórmula), categoria (suplementos
webdiet_manipulados_get Read "Prescrição de manipulados" (compounded/magistral pharmacy formulas) in WebDiet. Actions: - list_banco → search the WebDiet formula bank (~249 pre-built templates: ~120 disponíveis + ~129 de extensões pagas). Filtros: keyword (busca livre na indicação clínica = nome da fórmula), categoria (suplementos
webdiet_manipulados_write_save Create / send / publish / duplicate manipulados in WebDiet. Actions: - save → create or update a manipulado for a patient. texto = raw HTML (tinyMCE content), nome = formula name. Omit manipulado_id to create; pass it to update an existing one. Returns id and pdf_url. - send → SHORTCUT prescribir + publicar: copia uma ou mais fórmulas do banco (por nome exato vindo de webdiet_manipulados list_banco) para o paciente como manipulados novos. Já fica liberado=true (visível no app/portal do paciente) imediatamente. Skips fórmulas bloqueadas com mensagem de erro. - publish → toggle liberar/disponibilizar status (makes the formula visible/invisible on the patient portal/app). Server toggles and returns the NEW state. - duplicate → duplicate an existing manipulado (creates a copy "(cópia)"). For destructive delete use webdiet_manipulados_delete. [Flattened action: save] Bulk support: accepts patient_ids, manipulado_ids for batched execution.
webdiet_manipulados_write_send Create / send / publish / duplicate manipulados in WebDiet. Actions: - save → create or update a manipulado for a patient. texto = raw HTML (tinyMCE content), nome = formula name. Omit manipulado_id to create; pass it to update an existing one. Returns id and pdf_url. - send → SHORTCUT prescribir + publicar: copia uma ou mais fórmulas do banco (por nome exato vindo de webdiet_manipulados list_banco) para o paciente como manipulados novos. Já fica liberado=true (visível no app/portal do paciente) imediatamente. Skips fórmulas bloqueadas com mensagem de erro. - publish → toggle liberar/disponibilizar status (makes the formula visible/invisible on the patient portal/app). Server toggles and returns the NEW state. - duplicate → duplicate an existing manipulado (creates a copy "(cópia)"). For destructive delete use webdiet_manipulados_delete. [Flattened action: send] Bulk support: accepts patient_ids, manipulado_ids for batched execution.
webdiet_manipulados_write_publish Create / send / publish / duplicate manipulados in WebDiet. Actions: - save → create or update a manipulado for a patient. texto = raw HTML (tinyMCE content), nome = formula name. Omit manipulado_id to create; pass it to update an existing one. Returns id and pdf_url. - send → SHORTCUT prescribir + publicar: copia uma ou mais fórmulas do banco (por nome exato vindo de webdiet_manipulados list_banco) para o paciente como manipulados novos. Já fica liberado=true (visível no app/portal do paciente) imediatamente. Skips fórmulas bloqueadas com mensagem de erro. - publish → toggle liberar/disponibilizar status (makes the formula visible/invisible on the patient portal/app). Server toggles and returns the NEW state. - duplicate → duplicate an existing manipulado (creates a copy "(cópia)"). For destructive delete use webdiet_manipulados_delete. [Flattened action: publish] Bulk support: accepts patient_ids, manipulado_ids for batched execution.
webdiet_manipulados_write_duplicate Create / send / publish / duplicate manipulados in WebDiet. Actions: - save → create or update a manipulado for a patient. texto = raw HTML (tinyMCE content), nome = formula name. Omit manipulado_id to create; pass it to update an existing one. Returns id and pdf_url. - send → SHORTCUT prescribir + publicar: copia uma ou mais fórmulas do banco (por nome exato vindo de webdiet_manipulados list_banco) para o paciente como manipulados novos. Já fica liberado=true (visível no app/portal do paciente) imediatamente. Skips fórmulas bloqueadas com mensagem de erro. - publish → toggle liberar/disponibilizar status (makes the formula visible/invisible on the patient portal/app). Server toggles and returns the NEW state. - duplicate → duplicate an existing manipulado (creates a copy "(cópia)"). For destructive delete use webdiet_manipulados_delete. [Flattened action: duplicate] Bulk support: accepts patient_ids, manipulado_ids for batched execution.
webdiet_manipulados_delete Permanently delete a manipulado for a patient. Irreversible. Bulk support: accepts patient_ids, manipulado_ids for batched execution.
webdiet_calculo_energetico_list Read energy expenditure calculations (Cálculo Energético) in WebDiet. Actions: list (all calculations for a patient), get (load saved data). Results: TMB (basal metabolic rate), GET (total energy expenditure) in Kcal/dia and Kcal/kg. [Flattened action: list] Bulk support: accepts patient_ids, calculo_ids for batched execution.
webdiet_calculo_energetico_get Read energy expenditure calculations (Cálculo Energético) in WebDiet. Actions: list (all calculations for a patient), get (load saved data). Results: TMB (basal metabolic rate), GET (total energy expenditure) in Kcal/dia and Kcal/kg. [Flattened action: get] Bulk support: accepts patient_ids, calculo_ids for batched execution.
webdiet_calculo_energetico_write_create Create / update energy expenditure calculations in WebDiet. Actions: create (new calculation), save (update existing calculation). Supports 24+ formulas: Harris-Benedict 1919/1984, FAO/WHO 2004, EER/IOM 2005, EER 2023, Katch-McArdle 1996, Cunningham 1980, Mifflin-St Jeor 1990, and more. Activity factors: 1.0 (none), 1.2 (sedentary), 1.375 (light), 1.55 (moderate), 1.725 (intense), 1.9 (very intense). Injury factors: 1.0 (none) up to 2.0 (burns 70-90%). [Flattened action: create] Bulk support: accepts patient_ids, calculo_ids for batched execution.
webdiet_calculo_energetico_write_save Create / update energy expenditure calculations in WebDiet. Actions: create (new calculation), save (update existing calculation). Supports 24+ formulas: Harris-Benedict 1919/1984, FAO/WHO 2004, EER/IOM 2005, EER 2023, Katch-McArdle 1996, Cunningham 1980, Mifflin-St Jeor 1990, and more. Activity factors: 1.0 (none), 1.2 (sedentary), 1.375 (light), 1.55 (moderate), 1.725 (intense), 1.9 (very intense). Injury factors: 1.0 (none) up to 2.0 (burns 70-90%). [Flattened action: save] Bulk support: accepts patient_ids, calculo_ids for batched execution.
webdiet_calculo_energetico_delete Permanently delete an energy expenditure calculation. Irreversible. Bulk support: accepts calculo_ids for batched execution.
webdiet_list_anexos Load educational slides or cloud file attachments. Use laminasAnexos for educational slides/laminas (~238 items with PDFs about nutrition topics), cloudAnexos for uploaded cloud files. For guidelines/orientations specifically, use webdiet_orientacoes action=list_banco. Bulk support: accepts patient_ids for batched execution.
webdiet_get_upload_command Returns a ready-to-run curl command that uploads a file directly to the server without reading it into context. RECOMMENDED for large files (images, PDFs, lab results). The flow: 1. Call this tool with the file_path the user provided 2. Execute the returned curl command in your code execution sandbox (or tell the user to run it) 3. The command returns a JSON with a "code" (e.g. "file-a1b2c3d4") 4. Call webdiet_upload_anexo with upload_code=that_code to attach it to the patient This avoids loading large file contents into the conversation context.
webdiet_upload_anexo Upload a file (PDF, image, etc.) to a patient's attachments in WebDiet. Three ways to provide the file (use ONE): 1. upload_code — from webdiet_get_upload_command curl (RECOMMENDED for large files) 2. file_url — direct URL to download the file (e.g. https://example.com/report.pdf) 3. file_base64 — base64-encoded file content (small files only) Supported tipos: anexo (patient attachment — default), cloud (WebDiet Cloud storage), prontuario (clinical record), antropometria (body measurement report), exame (lab exam), perfil (patient photo), evolucao (photo evolution). Bulk support: accepts patient_ids for batched execution.
webdiet_list_message_templates Load patient welcome message templates. Returns the active layout and all available template layouts.
webdiet_financeiro_list Read financial records (payments, receipts) in WebDiet. Actions: list (all records in date range — defaults to last 30 days), categories (get available categories for income/expense). Each record includes: id, nome, tipo (entrada=income, saida=expense), categoria, valor, data, observacao, recibo status, and recibo_url when receipt was generated. Use inicio/fim in YYYYMMDDHHmm format to filter by date range (e.g. "202604010000" to "202604302359" for April 2026). [Flattened action: list]
webdiet_financeiro_categories Read financial records (payments, receipts) in WebDiet. Actions: list (all records in date range — defaults to last 30 days), categories (get available categories for income/expense). Each record includes: id, nome, tipo (entrada=income, saida=expense), categoria, valor, data, observacao, recibo status, and recibo_url when receipt was generated. Use inicio/fim in YYYYMMDDHHmm format to filter by date range (e.g. "202604010000" to "202604302359" for April 2026). [Flattened action: categories]
webdiet_financeiro_write Create financial records in WebDiet. tipo: "entrada" for income (e.g. consultation payment received), "saida" for expense. Default income categories: Consulta, Retorno. Default expense categories: Internet, Aluguel. Use nova_cat to create a custom category. valor format: use comma for decimals (e.g. "300,00" or "150,50"). forma: payment method (e.g. Pix, Dinheiro, Cartão de crédito, Transferência). parcelas: number of installments (default 1). For installments, dataCobranca is the first billing date. For destructive delete use webdiet_financeiro_delete. Bulk support: accepts patient_ids for batched execution.
webdiet_financeiro_delete Permanently delete a financial record. Irreversible. Bulk support: accepts financeiro_ids for batched execution.
webdiet_recibo Generate or update a receipt (recibo) for a financial record in WebDiet. Pass the financeiro_id from webdiet_financeiro list. dados_recibo is a JSON array with 6 fields: [patient_name, cpf, address, city, nutritionist_name, crn_number]. After generating, the recibo_url in the financial record will point to the PDF receipt. Returns the receipt PDF URL that can be shared with the patient. Bulk support: accepts financeiro_ids for batched execution.

Detalhe de cada tool: docs/ferramentas.md


Preços

Grátis.


Privacidade & LGPD

  • Sub-processadores: o LLM host que você escolher (Claude, ChatGPT, Cursor, agente próprio). Lista completa em docs/privacidade-lgpd.md.
  • Os dados retornados pelas tools são enviados ao LLM host que você escolher, sub-processador fora do nosso controle. Recomendamos planos com opt-out de treinamento.

Perguntas frequentes

O servidor é open source? O servidor é proprietário (hosted). Este repositório é o wrapper público com manifestos, docs e skills — tudo MIT.

Posso usar com agente próprio (não Claude/Cursor)? Sim — qualquer cliente que suporte MCP over HTTP. URL: https://api.mcp.ai/p_webdiet.


Suporte


Licença

MIT — veja LICENSE. O servidor MCP em api.mcp.ai/p_webdiet é proprietário (hosted); este repositório (manifestos, docs, skills) é MIT.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选