Files
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

32 lines
1.0 KiB
Markdown

# Köket-attribution efter Mealie-import
När ett recept importeras från `koket.se` följer inte receptmakare/program alltid med på ett synligt sätt i Mealie.
Verifierat arbetssätt:
1. Importera receptet via `POST /api/recipes/create/url`.
2. Läs källsidan och hämta explicit attribution från sidan själv:
- `Av: <namn>` → använd som `extras.author`
- `Från: <program>` → använd som `extras.source`
3. Läs tillbaka receptet via slug.
4. PATCH:a receptet så att attribution sparas både som metadata och synligt:
```json
{
"extras": {
"author": "Zeina Mourtada",
"source": "Kökets middag"
},
"description": "... Recept av Zeina Mourtada. Från Kökets middag."
}
```
Varför båda behövs:
- `extras.author` / `extras.source` är API-korrekt lagring.
- En kort text i `description` gör attributionen synlig i vanliga Mealie-vyer.
Regel:
- Gissa aldrig författare eller källa.
- Ta bara värden som uttryckligen står på källsidan.
- Verifiera efter PATCH att både `extras` och `description` faktiskt uppdaterades.