Healthy Pokes

Healthy Pokes

A calorie tracking MCP server that processes food photos and text descriptions to automatically log nutrition data to Google Sheets. Integrates with Apple Health for fitness metrics and provides SMS interface for convenient meal logging.

Category
Visit Server

README

Healthy Pokes

A calorie tracking MCP (Model Context Protocol) server that integrates meal logging with nutrition data and health metrics.

Features

  • 📸 Process food photos and text descriptions using GPT-4o Vision
  • 🥗 Automatic nutrition estimation via OpenNutrition MCP
  • 📊 Google Sheets integration for personalized tracking
  • 🏃 Apple Health integration for activity and weight data
  • 📱 SMS interface via Poke platform

Architecture

This MCP server acts as a bridge between multiple services:

  1. OpenAI GPT-4o: Extracts food items from photos/text
  2. OpenNutrition MCP: Provides nutrition data
  3. Google Sheets: Stores user data persistently
  4. Apple Health MCP: Retrieves fitness metrics
  5. Poke Platform: Handles messaging interface

Setup

Prerequisites

  • Python 3.9+
  • Google Cloud Project with Sheets & Drive APIs enabled
  • OpenAI API key
  • Poke API key

Installation

# Clone the repository
git clone https://github.com/mattattacks/healthy-pokes.git
cd healthy-pokes

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Set up environment variables
cp .env.example .env
# Edit .env with your API keys

Environment Variables

Create a .env file with:

OPENAI_API_KEY=your_openai_key
POKE_API_KEY=your_poke_key
GOOGLE_SERVICE_ACCOUNT_JSON={"type":"service_account"...}
HEALTH_DATA_DIR=/path/to/health/exports  # Optional

Usage

Running Locally

python server.py

The MCP server will be available at http://localhost:8000/mcp

Deploying to Render

This project includes a render.yaml for easy deployment to Render.

MCP Tools

  • connect_user(email) - Set up Google Sheet for user
  • ingest_image(image_url) - Process food photo
  • parse_text(text) - Process text description
  • estimate_from_items(items) - Get nutrition data
  • log_rows(rows) - Save to Google Sheet
  • today_total() - Calculate daily intake
  • health_summary() - Get Apple Health metrics
  • send_message(text) - Reply via Poke

Development

Project Structure

healthy-pokes/
├── server.py           # Main MCP server
├── tools/              # MCP tool implementations
│   ├── __init__.py
│   ├── google_sheets.py
│   ├── nutrition.py
│   ├── vision.py
│   └── messaging.py
├── utils/              # Helper functions
├── requirements.txt    # Python dependencies
├── render.yaml        # Render deployment config
└── .env.example       # Environment template

Testing

pytest tests/

Contributing

Pull requests are welcome! Please ensure all tests pass and follow the existing code style.

License

MIT

Acknowledgments

Built for the HackMIT Poke Challenge

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured