mcp-veggie
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., "@mcp-veggiewhat's in this week's box?"
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.
mcp-veggie
MCP server for tracking weekly Aarstiderne veggie box deliveries. Translates Danish produce names, provides USDA-sourced freshness windows, generates zero-waste recipes via local LLM, and alerts when items are about to expire.
Built for a family of 3 in Denmark (two adults, one texture-sensitive 7-year-old). Deployed on a K3s cluster alongside an Ollama instance.
Tools
Tool | Description |
| Fetch this week's box contents with translations, freshness data, and eating order |
| Zero-waste recipes using current box items, with kid-friendly strategies |
| 7-day structured plan scheduling perishable items first |
| Items nearing expiration with specific waste-rescue advice |
| Items at risk of going to waste with preservation suggestions |
| Mark an item as consumed |
| Priority list by perishability (with knowledge-base tiebreaker) |
| Full freshness report with storage tips and ethylene warnings |
| Correct a freshness estimate from experience |
| Configure the Aarstiderne box URL |
Related MCP server: shelfwatch
Produce Knowledge Base
A 151-item knowledge base (src/seed/produce-knowledge.json) provides Denmark-specific produce intelligence loaded into memory at startup. Each entry includes:
Danish season data — peak months, source (Danish farm vs import)
Yield notes — practical quantities for meal planning ("500g carrots = 400ml soup base for 2")
Preservation methods — 2-4 practical methods per item with effort level and shelf life
Waste rescue — specific "it's going soft, do THIS now" advice per item
Flavor pairings — what goes well together and what to avoid
Kid strategy — acceptance level, texture notes, winning preparations, and hiding methods for a texture-sensitive child
Ethylene data — producer/sensitive classification drives storage co-location warnings
Box priority —
days_to_use_first_in_box(1-3) used as eating-order tiebreaker
This data enriches LLM prompts for recipes and meal plans, powers waste-rescue suggestions in alerts, and provides ethylene storage warnings in freshness reports.
Setup
cp .env.example .env
# Edit .env with your Ollama host and box URL
npm install
npm run build
npm startRequires:
Node.js 22+
Ollama running with
qwen3.6:27b(or any model viaLLM_MODELenv var)An Aarstiderne box subscription URL
Configuration
Variable | Default | Description |
| 3006 | HTTP server port |
| ./data/veggie.db | SQLite database path |
| Ollama API base URL | |
| qwen3.6:27b | Model for translations/recipes |
| 120000 | LLM request timeout (ms) |
Architecture
Transport: Streamable HTTP (MCP SDK 1.29.0) -- stateless per-request
Database: SQLite with WAL mode, Drizzle ORM
LLM: Ollama native API with
think: falsefor fast structured outputProvider: Aarstiderne BOM API (no auth required)
Translation: Seed cache of 93 Danish produce names + LLM fallback
Freshness: 151-item USDA dataset + LLM fallback with conservative bias
Produce Knowledge: 151-item in-memory knowledge base with Danish-specific context, kid strategies, ethylene data, and preservation methods
K8s Deployment
kubectl apply -f k8s/The deployment expects:
A PVC named
mcp-veggie-datafor the SQLite fileOllama accessible at the
LLM_BASE_URLin the configmapghcr-credsimagePullSecret for the container image
Connecting via Hermes
Register the MCP server endpoint in your Hermes gateway configuration:
servers:
- name: mcp-veggie
url: http://mcp-veggie.mcp-veggie.svc.cluster.local:3006/mcp
transport: streamable-httpLicense
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
AI-powered kitchen management — pantry, recipes, meal plans, shopping lists
Household-aware cooking brain: pantry, meal suggestions, dietary safety, recipes, shopping lists.
AI meal plans that fill your Kroger/Instacart cart - pantry-aware lists, all from chat.
USDA FoodData Central nutrient lookup, FDA recall watch, EU FMCG labelling via remote MCP
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to search recipes, compose nutritionally balanced meals, optimize weekly meal plans based on macro targets for family members, and generate consolidated grocery lists from a personal recipe database.-
- AlicenseNot gradedqualityCmaintenanceEnables automated weekly meal planning and grocery price comparison across Swedish supermarkets through a Claude/GPT interface.3MIT
- FlicenseNot gradedqualityCmaintenanceYour digital kitchen, powered by AI. Track what you have, discover what you can cook, and get guided through every recipe — step by step, timer by timer.-
- AlicenseAqualityDmaintenanceEnables AI assistants to answer food safety and shelf-life questions using USDA-grade data, with tools for shelf life, safety checks, storage tips, and waste cost calculations.634 npmMIT