Files
mealie-mcp/mealie_mcp/resources/import-pitfalls.md
T
Fizz f2d233b430 Initial commit: Mealie MCP server
Ports a working Hermes agent skill to an MCP server. The skill's value was not
its Mealie endpoints but ~25 operational rules found by running imports against
the live instance; those are now code with tests rather than prompt text.

The server owns deterministic mechanics — auth, the non-default User-Agent
Cloudflare requires, the `extension` field on cover uploads, PATCH instead of
the 500-ing bulk-action endpoints, decimal-comma normalization, and restoring
Swedish display text after parsing. Language and taste judgement stay with the
model, fed by the four reference notes shipped as MCP resources.

verify_recipe runs the finished-import definition as code so an agent cannot
report success on a recipe with an English ingredient line, a missing cover, or
ingredients still in the "Click Parse" state.

Home Assistant is optional and isolated; the Obsidian meal plan is out of scope.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 07:31:10 +02:00

2.9 KiB
Raw Blame History

Allrecipes post-import pitfalls

Den här referensen dokumenterar konkreta fel som observerats i live-körning mot Fredriks Mealie-instans och ska användas när recept importeras från Allrecipes eller andra engelskspråkiga receptsidor.

Verifierade problem

1. image i API betyder inte nödvändigtvis att omslagsbilden syns i UI

  • Ett recept kan ha ett icke-tomt image-fält och ändå sakna synlig omslagsbild i gränssnittet.
  • Därför måste importflödet alltid köra ett explicit bildsteg efter import.
  • För lokal upload på Fredriks Mealie-instans måste PUT /api/recipes/<slug>/image skicka med multipart-fältet extension (t.ex. jpg eller webp). Utan det kan uppladdningen fastna i validering och bilden blir inte korrekt sparad.

2. Bulk-actions för taggar/kategorier är opålitliga i denna instans

Följande endpoints gav 500-fel under verkliga körningar:

  • /api/recipes/bulk-actions/tag
  • /api/recipes/bulk-actions/categorize

Använd i stället direkt PATCH på receptets tags och recipeCategory.

3. Mealie-parsern kan förstöra svenska display-rader

Exempel på observerade fel:

  • 4,7 dl basmatiris blev något i stil med 4710 liter ...
  • parsern gav konstiga bråktecken, dubblerade enheter och skräptecken i display
  • vissa parser-resultat gav märkliga food.name-värden för svenska rader

4. Svensk decimal-komma är känsligt

Parsern hanterar ofta struktur bättre om decimal-komma först normaliseras till punkt för parseranropet, men den normaliserade raden ska inte användas som slutlig display i Mealie.

Rekommenderad motstrategi

  1. Bevara alltid en canonical svensk ingrediensrad separat.
  2. Använd parsern endast för quantity, unit, food.
  3. Återställ den mänskliga svenska raden till display och note efter parse.
  4. Om parsern ger food.name utan id och du behöver strukturen kvar efter PATCH, skapa/återanvänd riktig Mealie food först.
  5. För Allrecipes: om scrape-bild inte blir stabil i UI, ladda ner hero-bilden och använd PUT /api/recipes/<slug>/image.
  6. Om Köket.se- och YouTube-importer fortsätter att visa fungerande omslagsbilder medan Allrecipes-importer inte gör det, behandla det som ett källspecifikt Allrecipes-problem. Gå då direkt till explicit hero-bild-download + PUT /api/recipes/<slug>/image i stället för bredare generell felsökning.
  7. Om parsern fortfarande gör visningen ful efter cleanup, välj läsbarhet före struktur för just de trasiga raderna: nollställ quantity / unit / food och spara rena svenska display / note i stället för att behålla dålig automatisk rendering.

Definition av klar import

Ett importerat recept räknas inte som klart förrän:

  • svensk titel/beskrivning/instruktioner är satta
  • recipeIngredient[].display ser normala ut för människa
  • parsern inte lämnar receptet i Click Parse-läge
  • bild har satts eller verifierats explicit
  • taggar/kategorier är applicerade eller medvetet hoppade över