mcp-veggie
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., "@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: nutrition-mcp-server
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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/lovettbarron/mcp-veggiebox'
If you have feedback or need assistance with the MCP directory API, please join our Discord server