SA

servas-ai/food-connectors

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

0 stars 0 forks 品質 67 トレンド 20NOASSERTION

Open connectors + CLI + MCP server for Austrian grocery & ready-meal data

概要

Open, dependency-free (Python ≥ 3.9, stdlib only) connectors, CLI and for Austrian grocery and ready-meal (Fertiggerichte) data. Every adapter returns the same schema: CLI: food search|fetch|export|sources|stores|nutri|nutriscore|company|datasets|prices. MCP (food-mcp): list_sources, search_products, fetch_ready_meals, lookup_ean, list_stores, nutri_lookup, compute_nutriscore, list_nutri_sources, company_lookup, company_children, uid_check, company_impressum, northdata_company, list_datasets, search_datasets, open_prices_lookup, myproduct_product, myproduct_search, hofer_product, hofer_search (+ per-store live tools). Available tools: list_sources, search_products, fetch_ready_meals, lookup_ean. pytest runs the offline tests. LIVE=1 pytest also runs the network tests. Please be polite and keep request rates low. These are public frontend endpoints, and each shop's terms apply. MIT licensed. food fetch --store prepmymeal --enrich (fit2go.

README

以下は原文 README の抜粋です。原文を見る。

food-connectors 🥘🇦🇹

Open, dependency-free (Python ≥ 3.9, stdlib only) connectors, CLI and MCP server for Austrian grocery and ready-meal (Fertiggerichte) data. Every adapter returns the same schema:

field meaning
name, brand, store, category product identity
price_eur, unit_price_eur, unit, size_g price, unit price (per unit), pack size in g/ml
nutrition_100g kcal, protein, fat, satfat, carbs, sugar, fiber, salt
ean, image_url GTIN and image
producer, producer_id manufacturer + Identitätskennzeichen (e.g. AT 40047 EG)
origin, source, source_id, source_url, fetched_at provenance

Connector status (live test 2026-10-13, python3 tests/live_status.py → status.json)

connector source live test reuses / credits
billa shop.billa.at product-discovery API (term=) ✅ pass (fetch via meal search stems; category path 404) —
penny penny.at, same REWE API ✅ pass —
gurkerl gurkerl.at API ✅ pass idea from pasogott/gurkerlcli (MIT), tomaspavlin/rohlik-mcp (MIT)
lidl lidl.at q/api/search ❌ fail – 401 for Python clients (TLS/bot fingerprinting, curl gets 200). Not bypassed by policy; fetchsize capped at 30. Use heisse-preise for Lidl prices —
spar interspar via heisse-preise + CDN images (cdn1.interspar.at from article id) ✅ pass (prices + images) badlogic/heissepreise (MIT)
spar-shop SPAR public product search API search-spar.spar-ics.com/fact-finder/rest/v4/search/products_lmos_at (JSON index behind the interspar.at shop; no robots.txt on host, no login/cookies; interspar.at HTML never requested). Exact lookup by article number (interspar.at/p/), CLI food search … --store spar-shop, MCP spar_product ✅ live (current + regular price, €/kg, brand, category, stock status, CDN image; code-internal is a SPAR-internal 88… code, not a GTIN; no nutrition) SPAR Österreich; endpoint as used by badlogic/heissepreise (MIT)
denns denn’s BioMarkt AT public offer feed denns-biomarkt.at/page-data/angebote/page-data.json (Gatsby page-data the site itself loads; robots Allow: /, no login/cookies). CLI food fetch --store denns / food search … --store denns, MCP denns_offers ✅ live (weekly offers only: article no., brand, pack, Aktionspreis + Normalpreis, €/kg, validity, vegan flags, official image images.dennree.de; no GTIN/nutrition → off) denn’s Biomarkt GmbH
GitHub で README 全文を見る

インストール

This server does not publish a one-line install command.

Open the repository installation guide MCP 初心者?mcpskill.org のガイドから始めましょう →

設定

{"mcpServers": {"food": {"command": "food-mcp"}}}