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.
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:
- OpenAI GPT-4o: Extracts food items from photos/text
- OpenNutrition MCP: Provides nutrition data
- Google Sheets: Stores user data persistently
- Apple Health MCP: Retrieves fitness metrics
- 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 useringest_image(image_url)- Process food photoparse_text(text)- Process text descriptionestimate_from_items(items)- Get nutrition datalog_rows(rows)- Save to Google Sheettoday_total()- Calculate daily intakehealth_summary()- Get Apple Health metricssend_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
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.