Canada's Food Guide
A nutrition analysis platform integrating Canada's Food Guide recipes with Health Canada's official nutrition databases.
🍲 Canada's Food Guide - MCP Server
📝 Description
The FoodGuide MCP Server bundles three powerful Health Canada resources into a single toolset for comprehensive nutritional analysis:
- Official Recipes: Search and scrape the Canada's Food Guide recipe database.
- CNF Database: Fetch exact nutrient data for ingredients from the Canadian Nutrient File API.
- DRI Calculations: Use cached Dietary Reference Intake tables to calculate demographic-specific macronutrient targets and energy requirements (EER).
| Example | Video |
|---|---|
| Find Themed recipes for a week | |
| Suggest recipes from an image of your groceries | |
| Calculate your estimated macros intake and energy requirements | |
| Calculate Macros for a recipe |
Two setup modes:
| Mode | Tools available | DB/Storage? | Best for |
|---|---|---|---|
| HTTP (remote/self-hosted) | Scraping + calculation tools (24 tools) | No | Most users -- nutrition lookups, recipe search, EER/DRI calculations |
| stdio (full) | All tools incl. SQLite (46 tools) | Yes | Power users -- recipe macro analysis, favorites, user profiles |
Check IMPLEMENTATIONS.MD if you'd like to contribute or collaborate! Always looking for suggestions!
You can use this google sheet to verify EER and CNF calculations shown in the trailer videos in the current repository.
📑 Table of Contents
📥 Installation
-
Prerequisites:
-
Clone the repository:
git clone https://github.com/Aryan-Jhaveri/mcp-foodguidecanada cd mcp-foodguidecanada -
Install dependencies:
pip3 install -r requirements.txt -
Find your Python path (needed for client config):
which python3 -
Get the absolute path to the project:
pwd
HTTP mode -- scraping + calculation, no DB (24 tools)
Start the server in a terminal and leave it running:
python3 src/server.py --transport http --port 8000
# Server running at http://0.0.0.0:8000/mcp
Then configure your client to connect to http://localhost:8000/mcp -- see Setup by Client below.
Full mode -- all tools incl. SQLite (46 tools)
Run via stdio -- no separate server process needed. Configure your client with the stdio snippets in Setup by Client.
🚀 Setup by Client
| Mode | DB tools? | Tools available |
|---|---|---|
| HTTP (start server first) | No | Scraping + calculation (24 tools) |
| stdio (full) | Yes | All tools incl. SQLite (46 tools) |
HTTP mode -- scraping + calculation (no DB)
Before configuring your client: start the server in a separate terminal:
python3 src/server.py --transport http --port 8000Keep it running while using your client.
Most clients use mcp-proxy to bridge stdio to HTTP. Claude Code connects natively.
Claude Desktop
Navigate to: Claude Desktop → Settings (⌘,) → Developer → Edit Config
{
"mcpServers": {
"FoodGuideSousChef": {
"command": "uvx",
"args": ["mcp-proxy", "--transport", "streamablehttp", "http://localhost:8000/mcp"]
}
}
}
Restart Claude Desktop after saving.
Claude Code
claude mcp add FoodGuideSousChef --transport http http://localhost:8000/mcp
Cursor
In .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"FoodGuideSousChef": {
"command": "uvx",
"args": ["mcp-proxy", "--transport", "streamablehttp", "http://localhost:8000/mcp"]
}
}
}
VS Code (GitHub Copilot)
In .vscode/mcp.json:
{
"servers": {
"FoodGuideSousChef": {
"type": "stdio",
"command": "uvx",
"args": ["mcp-proxy", "--transport", "streamablehttp", "http://localhost:8000/mcp"]
}
}
}
Full mode -- all tools incl. SQLite DB
No separate server process needed. The client launches the server directly via stdio.
Replace <python-path> and <project-path> with your actual paths from the Installation steps.
Common Python paths by system:
- Homebrew (Mac):
/opt/homebrew/bin/python3 - System Python (Mac):
/usr/bin/python3 - Anaconda:
/opt/anaconda3/bin/python3 - Linux:
/usr/bin/python3
Claude Desktop
Navigate to: Claude Desktop → Settings (⌘,) → Developer → Edit Config
{
"mcpServers": {
"FoodGuideSousChef": {
"command": "<python-path>",
"args": ["<project-path>/src/server.py"],
"cwd": "<project-path>"
}
}
}
Restart Claude Desktop after saving.
Claude Code
claude mcp add FoodGuideSousChef -- <python-path> <project-path>/src/server.py
Cursor
In .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"FoodGuideSousChef": {
"command": "<python-path>",
"args": ["<project-path>/src/server.py"],
"cwd": "<project-path>"
}
}
}
VS Code (GitHub Copilot)
In .vscode/mcp.json:
{
"servers": {
"FoodGuideSousChef": {
"type": "stdio",
"command": "<python-path>",
"args": ["<project-path>/src/server.py"],
"cwd": "<project-path>"
}
}
}
Optional flags
# HTTP mode with custom port
python3 src/server.py --transport http --port 9000 --host 0.0.0.0
# Environment variable alternative (for deployment)
MCP_TRANSPORT=http PORT=8000 python3 src/server.py
Troubleshooting
- If the server doesn't appear, check the Claude Desktop logs for error messages
- Verify Python 3.10+ is installed:
python3 --version - For HTTP mode, verify the server is running:
curl http://localhost:8000/mcp/
Made with ❤️ for Canada's Food Guide
Health Canada's Canadian Nutrient File
Health Canada's Dietary Reference Intakes
Built using FastMCP関連サーバー
MySQL
MySQL database integration with configurable access controls and schema inspection
Apache AGE MCP Server
A server for Apache AGE, a graph database extension for PostgreSQL.
LoanPro MCP Server
An MCP server providing read-only access to LoanPro financial data.
SqlAugur
MCP server providing AI assistants with safe, read-only access to SQL Server databases. Built with C#/.NET 10, it uses AST-based query validation (Microsoft's T-SQL parser) to ensure only SELECT statements execute - blocking INSERT/UPDATE/DELETE/DROP/EXEC at the syntax tree level. Features include schema exploration, PlantUML/Mermaid ER diagram generation, rate limiting, and integrated DBA diagnostic toolsets (First Responder Kit, DarlingData, sp_WhoIsActive).
Snowflake
Interact with Snowflake databases to query and manage data.
Nodit MCP Server
Provides structured, context-ready blockchain data across multiple networks through Nodit's Web3 infrastructure.
MCP PGVector Server
Provides semantic search capabilities for PostgreSQL databases using the pgvector extension, with support for multiple embedding providers.
CData Sync
A Model Context Protocol server for CData Sync, enabling data replication and transformation.
Aster Info MCP
Provides structured access to Aster DEX market data, including candlesticks, order books, trades, and funding rates.
CData Oracle Eloqua
A read-only MCP server to query live Oracle Eloqua data. Requires a separate CData JDBC Driver for Oracle Eloqua.