Nutrition MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Nutrition MCPlog my lunch: chicken salad, 450 cal"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Nutrition MCP
A remote MCP server for personal nutrition tracking — log meals, track macros, and review nutrition history through conversation.
Quick Start
Already hosted and ready to use — just connect it to your MCP client:
https://nutrition-mcp.com/mcpOn Claude.ai: Customize → Connectors → + → Add custom connector → paste the URL → Connect
On first connect you'll be asked to register with an email and password. Your data persists across reconnections.
Demo

Read the story behind it: How I Replaced MyFitnessPal and Other Apps with a Single MCP Server
Tech Stack
Bun — runtime and package manager
Hono — HTTP framework
MCP SDK — Model Context Protocol over Streamable HTTP
Supabase — PostgreSQL database + user authentication
OAuth 2.0 — authentication for Claude.ai connectors
MCP Tools
Tool | Description |
| Log a meal with description, type, calories, macros, notes |
| Get all meals logged today |
| Get meals for a specific date (YYYY-MM-DD) |
| Get meals between two dates (inclusive) |
| Daily nutrition totals + goal progress for a date range |
| Update any fields of an existing meal |
| Delete a meal by ID |
| Set daily calorie, macro, and water targets |
| Get the current daily targets |
| Get intake vs. targets for a given day (default: today) |
| Log a hydration entry in milliliters |
| Get today's water intake total and entries |
| Get water intake for a specific date |
| Delete a water log entry by ID |
| 7/14/30-day averages, std dev, streaks, day-of-week, best/worst day |
| Pre-aggregated behavioural patterns (breakfast effect, late dinner, weekend vs weekday, outliers) |
| Set the user's IANA timezone (e.g. |
| Get the user's configured timezone |
| Permanently delete account and all associated data |
MCP Resources
URI | Description |
| Rolling 7-day digest (averages vs targets, best/roughest day) for proactive pulls |
Self-hosting
1. Supabase setup
Create a Supabase project.
Enable Email Auth (Authentication → Providers → Email) and disable email confirmation.
Apply the schema. The full schema lives in
supabase/migrations/. With the Supabase CLI:supabase link --project-ref <your-project-ref> supabase db pushThis creates every table, index, RLS policy, and foreign key the app needs. No local Postgres is involved — migrations run against your hosted project.
Copy the service role key from Project Settings → API and use it as
SUPABASE_SECRET_KEY.
2. Environment variables
Variable | Description |
| Your Supabase project URL |
| Supabase service role key (bypasses RLS) |
| Random string for OAuth client identification |
| Random string for OAuth client authentication |
| Server port (default: |
Note: The HTML files in
public/include a Google Analytics tag (G-1K4HRB2R8X). If you're self-hosting, remove or replace the gtag snippet inpublic/index.html,public/login.html, andpublic/privacy.html.
Generate OAuth credentials:
openssl rand -hex 16 # use as OAUTH_CLIENT_ID
openssl rand -hex 32 # use as OAUTH_CLIENT_SECRETDevelopment
bun install
cp .env.example .env # fill in your credentials
bun run dev # starts with hot reload on http://localhost:8080Connect to Claude.ai
Open Claude.ai and click Customize
Click Connectors, then the + button
Click Add custom connector
Fill in:
Name: Nutrition Tracker
Remote MCP Server URL:
https://nutrition-mcp.com/mcp
Click Connect — sign in or register when prompted
After signing in, Claude can use your nutrition tools. If you reconnect later, sign in with the same email and password to keep your data.
API Endpoints
Endpoint | Description |
| Health check |
| OAuth metadata discovery |
| Dynamic client registration |
| OAuth authorization (shows login page) |
| Login/register handler |
| Token exchange |
| Server icon |
| MCP endpoint (authenticated) |
Deploy
The project includes a Dockerfile for container-based deployment.
Push your repo to a hosting provider (e.g. DigitalOcean App Platform)
Set the environment variables listed above
The app auto-detects the Dockerfile and deploys on port
8080Point your domain to the deployed URL
License
Latest Blog Posts
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/akutishevsky/nutrition-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server