Automate Mealie Recipe Import and Weekly Meal Planning with Claude
I run Mealie, a self-hosted recipe manager, in Docker on a home server. Mealie is good, but it isn't zero-effort: there's a learning curve and ongoing administration just to keep a recipe library populated. My wife is Spanish, so many of her recipes are in her native language. We also have recipes as handwritten notes, WhatsApp messages, photos, and transcribed cooking videos. Translating the Spanish recipes accurately was beyond my ability, and I had no interest in typing everything into Mealie's editor by hand. I built a custom MCP server that exposes Mealie's API to Claude as a set of tools, along with a project-level skill that encodes our household rules: no mushrooms or celery for me, no ginger or coriander for my wife, a child who is fussy about fish, a pizza oven that only comes out at weekends, and batch cooking that needs to cover school lunches. Now I can give Claude a batch of recipes in whatever form they arrive and in any language. It translates them, restructures them into Mealie's schema, checks for duplicates, and writes them straight into the database. There's no manual entry, and I've never needed Mealie's own foodstuffs database. Ingredients stay as plain text, which is one less thing to maintain. For weekly planning, Claude reads recent meal-plan history from Mealie so that meals do not repeat too soon. It pulls the full ingredients for every candidate recipe rather than trusting the recipe name—a "Veggie Traybake" might contain mushrooms—and drafts the week against our constraints. The plan covers seven family dinners, five weekday lunches for the two of us, and two weekend family lunches. School lunches for the kids are often something we've batch-cooked, so that is built in too. Nothing is written to Mealie until I confirm the draft. After I confirm it, Claude seeds the plan into Mealie, merges ingredients across every meal, rounds them to sensible pack sizes, and groups everything by supermarket aisle. The output feeds through to Home Assistant, so the weekly plan and shopping list appear on our wall-mounted display and mobile phones. Step-by-step: 1. Create a self-hosted instance of Mealie in Docker on a home server. 2. Build a custom MCP server that exposes Mealie's API to Claude. 3. Create a project-level skill that encodes our dietary preferences, cooking setup, and usual meal structure. 4. Batch-feed Claude recipes in any format and language, including photos, WhatsApp messages, video transcripts, and handwritten notes. 5. Skip Mealie's structured foodstuffs database and keep ingredients as plain text while Claude parses them into Mealie's recipe schema. 6. Ask Claude to translate recipes, check for duplicates, and write the structured recipes into Mealie. 7. Ask Claude to read recent meal-plan history, check candidate ingredients against our preferences, and draft a new weekly plan covering our required dinners and lunches. 8. Make changes through chat, and confirm the draft before anything is written to Mealie. 9. Have Claude seed the confirmed plan into Mealie, merge ingredients across every meal, round them to sensible pack sizes, and create a categorised shopping list. 10. Install the Mealie integration in Home Assistant to display the plan, recipes, and shopping list on your devices.
0 comments