yes_chef_mcp
Allows importing recipes from a Mealie instance.
Click on "Deploy 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., "@yes_chef_mcpsearch my recipes for low-carb chicken dishes"
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.
Yes Chef MCP
Self-hosted meal planning optimization server with macro-nutrient targeting. Exposes both a REST API (for web UIs) and an MCP server (for Claude Desktop) from a single process. It enables AI assistants (like Claude) to seamlessly integrate with your personal recipe database to search recipes, compose nutritionally balanced meals, optimize full-week plans based on member-specific macro targets, and generate consolidated grocery lists.
Key Features
Hybrid Recipe Search: Combines Full-Text Search (FTS5) for keyword matching with semantic vector similarity (
sqlite-vec) using Reciprocal Rank Fusion (RRF).Macro Optimization: Uses a tiered solving strategy (Mixed Integer Linear Programming via
python-mip, followed by greedy heuristics and continuous relaxation) to find the best recipe combinations to meet per-member macro goals. Always returns a result.Interactive UI (MCP Apps): Provides embedded React-based UI components (like a macro target setter, recipe selector, and grocery checklist) that render directly within compatible MCP clients.
Family Planning: Supports individual macro targets for different family members, calculating per-member serving sizes for shared meals.
Smart Grocery Lists: Consolidates ingredients across meal plans, automatically merging similar items and excluding common pantry staples.
Nutrition Enrichment: Auto-populate macro data from USDA FoodData Central or Nutritionix.
Multi-source Import: Pull recipes from AnyList, Mealie, CSV, or enter manually.
Related MCP server: spoonacular-mcp
Prerequisites
Python: 3.12 or higher.
Package Manager: uv is recommended for Python dependency management.
Node.js & npm: Required for building the React-based interactive UI components.
Database: SQLite is used as the primary data store, leveraging the
sqlite-vecextension for vector embeddings.
Quickstart
1. Install Python Dependencies
Navigate to the server directory and sync dependencies using uv:
cd backend
uv sync --all-extras2. Build Frontend Views
The interactive MCP App components must be built before running the server:
cd frontend
npm install
npm run build3. Run the Application
Start the unified FastAPI + FastMCP server:
cd backend
uv run python -m yes_chef_mcp.app
# OR
uv run uvicorn yes_chef_mcp.app:app --reloadBy default, the server runs on http://127.0.0.1:8000.
REST API:
http://127.0.0.1:8000/api/*Static Views:
http://127.0.0.1:8000/views/static/*MCP HTTP Endpoint:
http://127.0.0.1:8000/mcp
Claude Desktop Integration
Add to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"yes-chef": {
"url": "http://localhost:8000/mcp"
}
}
}Configuration
Database path: defaults to
data/yes_chef_mcp.db, configurable viaYES_CHEF_DB_PATHenv var orconfigure_db_path()incore/db.pyNutrition APIs (optional): USDA FoodData Central and Nutritionix keys are passed to
NutritionEnricherat construction time
Development
cd backend
# Install with dev dependencies
uv sync --all-extras
# Run tests
uv run pytest
# Lint & format
uv run ruff check .
uv run ruff format .
# Type check
uv run mypy yes_chef_mcp/Architecture
backend/yes_chef_mcp/
├── app.py # Unified FastAPI + FastMCP entry point
├── api/ # REST API routes and HTML view controllers
│ └── routes.py # REST API endpoints
├── mcp/ # MCP server definition and tool wrappers (`server.py`)
│ └── server.py # MCP tool definitions
├── core/ # Core domain logic
│ ├── models.py # Domain models (dataclasses)
│ ├── schemas.py # API schemas (Pydantic)
│ ├── db.py # Async SQLite connection pooling (WAL mode)
│ ├── recipe_store.py # Recipe CRUD, FTS, and vector embeddings
│ ├── search.py # Hybrid and macro-distance search algorithms
│ ├── meal_composer.py # Ad-hoc meal composition and macro calculations
│ ├── planner.py # Meal plan CRUD and scheduling
│ ├── optimizer.py # MILP and greedy optimization engines
│ ├── constraint_relaxer.py # Logic for relaxing optimization constraints
│ └── grocery.py # Smart grocery list generation
├── pipeline/ # Data ingestion (Nutrition APIs, Mealie/AnyList imports)
│ ├── embeddings.py # Sentence-transformer embeddings
│ ├── nutrition.py # External nutrition APIs
│ └── providers/ # Recipe import plugins
└── tests/ # Comprehensive test suite for all core logic
frontend/ # React/Vite source for interactive UI components
├── src/
│ ├── components/ # Shared React components
│ ├── entries/ # Per-page entry points
│ ├── bridge.ts # API communication
│ ├── theme.ts # Design token exports
│ └── types.ts # Shared TypeScript types
└── dist/ # Vite build output (served by FastAPI)Key Design Choices
Pydantic at edges, dataclasses internally — validation where data enters the system, lightweight models everywhere else
Tiered optimization — MILP solver with progressive constraint relaxation, falling back to heuristics. Always returns a result.
Hybrid search — FTS5 keyword search + 384-dim vector similarity fused via Reciprocal Rank Fusion
Single process — FastAPI and FastMCP share one ASGI app, one SQLite database in WAL mode
Async-first — aiosqlite for non-blocking database access, httpx for external API calls
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Recipe search, ingredient matching, nutrition filters and a private cookbook for any AI agent.
Search, save, organize, cook, and share recipes with any AI assistant.
Search structured recipes, scale servings, match pantry ingredients, and build shopping lists.
Household-aware cooking brain: pantry, meal suggestions, dietary safety, recipes, shopping lists.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to interact with Mealie recipe databases, allowing users to manage and query their recipes through natural language conversations.7 npmMIT
- AlicenseBqualityDmaintenanceEnables AI assistants to search for recipes, get nutritional information, find ingredients, and more through the Spoonacular Food API using natural language.620 npm6ISC
- AlicenseNot gradedqualityCmaintenanceEnables AI-driven weekly meal planning with structured recipes, cooking steps, and grocery lists.1MIT
- AlicenseAqualityAmaintenanceEnables AI assistants to manage Plan to Eat recipes, meal plans, and shopping lists through natural language, with full CRUD operations.36232 npm1MIT