Skip to main content
Glama

NutriAI MCP Server

by frotaadriano

🥗 NutriAI

App experimental de análise nutricional com OpenAI Apps SDK

OpenAI Apps SDK
License: MIT
Made with Python
Made with React


🌱 Visão geral

O NutriAI é um aplicativo educacional que analisa descrições de alimentos e retorna estimativas nutricionais (calorias, macronutrientes e insights simples).
Ele segue as Design Guidelines do OpenAI Apps SDK e usa um MCP Server em Python para orquestrar chamadas à API da OpenAI.

⚠️ Este projeto é experimental e não substitui orientação médica ou nutricional.


🧩 Arquitetura

NutriAI/ ├── app-ui/ # Front-end React (Apps SDK) │ └── layout/ │ └── NutritionTable.tsx ├── mcp-server/ # Servidor MCP em Python/FastAPI │ └── analyze_food/ │ └── schema.json └── docs/ ├── Design-Guidelines.md └── privacy.md


⚙️ Instalação e execução local

1️⃣ Clonar o repositório

git clone https://github.com/frotoadriano/NutriAI.git cd NutriAI 2️⃣ Backend (MCP Server em Python) cd mcp-server python3 -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt # Crie um arquivo .env com: # OPENAI_API_KEY=seu_token_aqui uvicorn main:app --reload 3️⃣ Frontend (React App) cd app-ui npm install npm run dev ## 🛠️ Problema de compatibilidade: OpenAI SDK & httpx Se você encontrar o erro:

TypeError: Client.init() got an unexpected keyword argument 'proxies'

ao rodar o backend, isso ocorre por incompatibilidade entre versões do pacote `httpx` e o SDK oficial da OpenAI (`openai`). **Solução:** Certifique-se de usar a versão exata `httpx==0.27.2` no arquivo `requirements.txt`. Essa versão garante compatibilidade total com o SDK OpenAI (testado com `openai>=1.50.0`). **Referência:** O NutriAI utiliza o [OpenAI Python SDK](https://github.com/openai/openai-python) para integração com a API OpenAI. Sempre confira as versões recomendadas na documentação oficial. ```txt # Exemplo de trecho do requirements.txt openai==1.51.2 httpx==0.27.2

Se precisar atualizar dependências, sempre rode:

pip install --upgrade pip pip install -r requirements.txt

🧠 Como funciona

O usuário descreve um alimento (ex.: “tapioca com queijo”).

O MCP Server envia a descrição para a API da OpenAI.

O modelo gera uma tabela nutricional e insights.

O front-end exibe os dados no formato nativo do ChatGPT Apps SDK.

🎨 Design e UX

Interface leve e responsiva.

Tons neutros e leitura fácil.

Frases curtas e empáticas (“Aqui está a estimativa para sua tapioca.”).

Mensagens de erro claras e educativas.

Mais detalhes em docs/Design-Guidelines.md .

🔒 Privacidade

O NutriAI não coleta informações pessoais. Veja a política de privacidade completa .

📚 Roadmap

Design Guidelines

Schema JSON (MCP Server)

Componente React básico

Integração OpenAI API

Validação por imagem (versão futura)

Comparação de alimentos

🤝 Contribuição

Contribuições são bem-vindas!

Faça um fork.

Crie um branch: git checkout -b feature/nova-funcionalidade.

Commit → Push → Pull Request.

🪪 Licença

Distribuído sob licença MIT. Veja o arquivo LICENSE para mais informações.

🧑‍💻 Autor

Adriano Frota – LinkedIn | GitHub


Como testar end-to-end

Backend cd mcp-server python -m venv venv venv\Scripts\activate.bat python.exe -m pip install --upgrade pip

pip install -r requirements.txt cp .env.example .env # coloque sua OPENAI_API_KEY uvicorn main:app --reload

Frontend cd app-ui cp .env.example .env # VITE_API_BASE=http://localhost:8000 npm i npm run dev

abra http://localhost:5173

-
security - not tested
A
license - permissive license
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

Enables nutritional analysis of food descriptions by integrating with OpenAI's API to provide calorie estimates, macronutrient breakdowns, and dietary insights. Designed for educational purposes and follows OpenAI Apps SDK design guidelines.

  1. 🌱 Visão geral
    1. 🧩 Arquitetura
      1. ⚙️ Instalação e execução local
        1. 1️⃣ Clonar o repositório
      2. abra http://localhost:5173

        MCP directory API

        We provide all the information about MCP servers via our MCP API.

        curl -X GET 'https://glama.ai/api/mcp/v1/servers/frotaadriano/NutriAI'

        If you have feedback or need assistance with the MCP directory API, please join our Discord server