Skip to main content
Glama
smeet666

mcp-bbc-goodfood

mcp-bbc-goodfood

CI npm licence MIT

Ein MCP-Server, der Rezepte auf BBC Good Food liest. Nur lesend, ohne API-Schlüssel, ohne Konto.

Französische Version


Warum es das gibt

BBC Good Food akzeptiert jeden Wert auf einer Suchfacette und antwortet auf einen unbekannten Wert mit einer Gesamtzahl von null. Fragt man nach glutenfree statt gluten-free, sagt die Seite, dass nichts übereinstimmt, mit derselben Sicherheit, mit der sie sagt, dass 48 Rezepte zur korrekten Schreibweise passen. Ein Modell, das eine Schreibweise errät, erhält eine selbstbewusste Abwesenheit statt einer Ablehnung.

Dieser Server veröffentlicht das Vokabular, damit die Frage richtig gestellt werden kann.

Related MCP server: mcp-spoonacular

Das Werkzeug

list_filters

Listet die Achsen auf, entlang derer eine Rezeptsuche eingegrenzt werden kann, mit den Werten, die jede annimmt, und wie viele Rezepte sie tragen.

Argument

Typ

Bedeutung

query

Zeichenkette, optional

Misst die Zählungen innerhalb dieser Suche. Ohne ihn gilt das gesamte Verzeichnis der Seite.

Die Seite zählt ihre Facetten über die Zeilen, die eine Suche zurückgibt, also beantworten die beiden verschiedene Fragen. Innerhalb von chicken meldet diet gluten-free 48. Über das gesamte Verzeichnis meldet es gluten-free 2810. Keines ist mit dem anderen vergleichbar, und die Antwort sagt, welchen Umfang sie gemessen hat.

{
  "query": "chicken",
  "filters": [
    {
      "name": "diet",
      "label": "Diets",
      "options": [{ "value": "gluten-free", "label": "Gluten-free", "count": 48 }],
      "option_count": 10
    }
  ],
  "filter_count": 9,
  "total_available": 363,
  "total_is_ceiling": false,
  "rows_seen": 30,
  "matched_rows": 30,
  "source": "BBC Good Food",
  "notes": ["…"]
}

Was die Antworten nicht überbewerten

Die veröffentlichten Werte sind eine Auswahlliste. Die Seite zeigt die zehn häufigsten Werte auf einer Achse und akzeptiert andere, die sie nie auflistet: cuisine=mexican grenzt eine Suche auf 306 Rezepte ein, ohne unter den zehn zu erscheinen. Die Antwort sagt, dass die Liste ein Auszug ist, statt sie die Menge der akzeptierten Werte zu nennen, denn ein Server, der sie so nennen würde, würde Werte ablehnen, die funktionieren.

Eine Gesamtzahl kann eine Untergrenze sein. Die Seite liefert höchstens 10 000 Zeilen für eine Suche und hört dort auf. Eine Gesamtzahl, die genau auf diese Zahl fällt, wurde abgeschnitten, also nennt sie eine Untergrenze statt einer Zählung, und total_is_ceiling sagt das.

Eine Zählung, für die die Seite nichts veröffentlicht hat, ist null, nie 0. Auf einer Skala, die bei null beginnt, wären die beiden nicht zu unterscheiden.

Die Seite beantwortet einen Begriff, für den sie nichts hat, mit Zeilen, die alle gleich sind. Die Suche nach foobar liefert sieben Rezepte — darunter einen Rhabarber-Fizz und einen Flapjack-Riegel —, die über Fragmente abgeglichen wurden, ohne dass etwas die Antwort als Fehlschlag kennzeichnet. Jede Antwort meldet daher rows_seen und matched_rows: wie viele Zeilen die Seite geliefert hat und wie viele davon ein Wort der Suche tragen. Wenn die zweite null ist und die erste nicht, sagt eine Anmerkung, dass die Zählung beschreibt, was die Seite angeboten hat, statt was übereinstimmte.

Zwei Zählungen statt eines Urteils. Eine legitime Suche kann in keinem Titel vorkommen, und ein Leser, der 2 von 30 sieht, urteilt besser als eine Markierung, die für ihn urteilt.

Installation

npx mcp-bbc-goodfood

Claude Code

claude mcp add bbc-goodfood -- npx -y mcp-bbc-goodfood

Jeder MCP-Client

{
  "mcpServers": {
    "bbc-goodfood": {
      "command": "npx",
      "args": ["-y", "mcp-bbc-goodfood"]
    }
  }
}

Container

docker build -t mcp-bbc-goodfood .
docker run -i --rm mcp-bbc-goodfood

Der Container muss www.bbcgoodfood.com erreichen können und sonst nichts. Er nimmt keine Anmeldedaten entgegen, weil es keine zu nehmen gibt.

Einstellungen

Jede Einstellung ist eine Umgebungsvariable, und keine ist erforderlich. Ein Wert außerhalb seines Bereichs wird mit einer Zeile auf stderr abgelehnt, und der Standardwert bleibt bestehen: Eine Einstellung, die nicht wirksam werden kann, sagt das, statt stillschweigend begrenzt zu werden.

Variable

Standard

Bereich

BGF_USER_AGENT

Ihre eigene Kennung. Die dieses Projekts bleibt angehängt, damit die Seite einen Menschen erreichen kann.

BGF_MIN_INTERVAL_MS

1500

1000 bis 60000

BGF_TIMEOUT_MS

20000

1000 bis 120000

BGF_MAX_RETRIES

3

0 bis 8

BGF_CACHE_TTL_MS

900000

0 bis 86400000, 0 schaltet den Speicher ab

BGF_CACHE_MAX_ENTRIES

200

1 bis 5000

BGF_LOG_LEVEL

error

silent, error, info, debug

Die Mindestfrequenz kann von außen nicht gesenkt werden. Die Seite ist kostenlos zu lesen und veröffentlicht keine Crawl-Verzögerung, was ein Grund zur Vorsicht ist, statt einer Lizenz, schnell zu sein.

Als Bibliothek

Die Leseschicht wird separat veröffentlicht, mit ihrer Frequenz, ihrem Speicher und ihrem Fehlervokabular und ohne angehängtes Protokoll:

import { GoodFoodClient } from "mcp-bbc-goodfood/client";

Fehler

Sechs Codes und nicht mehr. Ein Aufrufer verzweigt auf den Code, der die Meldung eröffnet.

Code

Was es bedeutet

not_found

Die Seite enthält nichts unter dieser Adresse

invalid_input

Die Argumente konnten keine Anfrage erzeugen

rate_limited

Die Seite hat diesen Client gebeten, langsamer zu machen. Es sagt nichts darüber, ob etwas übereinstimmte

parse_failure

Eine Antwort kam in einer Form an, die dieser Server nicht lesen kann

network_error

Die Anfrage konnte nicht abgeschlossen werden

timeout

Innerhalb der Frist kam keine Antwort an

Namensnennung

Rezepte, Titel und Zählungen gehören BBC Good Food. Jede Antwort trägt die Quelle, und eine Auflistung, die einem Leser gezeigt wird, sollte die Seite nennen und auf die Seite verlinken.

Mitwirken

Siehe CONTRIBUTING.md. Tests kommen zuerst, die Abdeckung hat eine Untergrenze von 100 %, und die Regel, der alles folgt, ist, dass der Server nie etwas sagt, das die Daten nicht enthalten.

Lizenziert unter MIT.


mcp-bbc-goodfood (Französisch)

Ein MCP-Server, der Rezepte von BBC Good Food liest. Nur lesend, ohne API-Schlüssel und ohne Konto.

Warum es das gibt

BBC Good Food akzeptiert jeden Wert auf einer Suchfacette und antwortet auf einen unbekannten Wert mit einer Gesamtzahl von null. Fragt man nach glutenfree statt gluten-free, antwortet die Seite, dass nichts übereinstimmt, mit der Sicherheit, mit der sie sagt, dass 48 Rezepte zur korrekten Schreibweise passen. Ein Modell, das eine Schreibweise errät, erhält eine selbstbewusste Abwesenheit statt einer Ablehnung.

Dieser Server veröffentlicht das Vokabular, damit die Frage gestellt werden kann.

Das Werkzeug

list_filters

Listet die Achsen auf, entlang derer eine Rezeptsuche eingegrenzt werden kann, mit den Werten, die jede annimmt, und der Anzahl der Rezepte, die sie tragen.

Argument

Typ

Bedeutung

query

Zeichenkette, optional

Misst die Zählungen innerhalb dieser Suche. Ohne ihn gelten sie für das gesamte Verzeichnis der Seite.

Die Seite zählt ihre Facetten über die Zeilen, die eine Suche zurückgibt, also beantworten die beiden verschiedene Fragen. Innerhalb von chicken meldet diet gluten-free 48. Über das gesamte Verzeichnis meldet es gluten-free 2810. Keines der beiden ist mit dem anderen vergleichbar, und die Antwort sagt, welchen Umfang sie gemessen hat.

Was die Antworten nicht behaupten

Die veröffentlichten Werte sind ein Auszug. Die Seite zeigt die zehn häufigsten Werte einer Achse und akzeptiert andere, die sie nie auflistet: cuisine=mexican grenzt eine Suche auf 306 Rezepte ein, ohne unter den zehn zu erscheinen. Die Antwort sagt, dass die Liste ein Auszug ist, statt sie die Menge der akzeptierten Werte zu nennen, denn ein Server, der sie so nennen würde, würde Werte ablehnen, die funktionieren.

Eine Gesamtzahl kann eine Untergrenze sein. Die Seite liefert höchstens 10 000 Zeilen für eine Suche und hört dort auf. Eine Gesamtzahl, die genau auf diese Zahl fällt, wurde abgeschnitten, also nennt sie eine Untergrenze statt einer Zählung, und total_is_ceiling sagt das.

Eine Zählung, für die die Seite nichts veröffentlicht hat, ist null, nie 0. Auf einer Skala, die bei null beginnt, wären die beiden nicht zu unterscheiden.

Die Seite beantwortet trotzdem einen Begriff, für den sie nichts hat. Die Suche nach foobar liefert sieben Rezepte, darunter einen Rhabarber-Cocktail und einen Flapjack-Riegel, die über Fragmente zusammengeführt wurden, ohne dass etwas die Antwort als Fehlschlag kennzeichnet. Jede Antwort liefert daher rows_seen und matched_rows: wie viele Zeilen die Seite geliefert hat und wie viele davon ein Wort der Suche tragen. Wenn die zweite null ist und die erste nicht, sagt eine Anmerkung, dass die Zählung beschreibt, was die Seite vorgeschlagen hat, statt was übereinstimmte.

Zwei Zählungen statt eines Urteils. Eine legitime Suche kann in keinem Titel vorkommen, und ein Leser, der 2 von 30 sieht, urteilt besser als eine Markierung, die für ihn urteilen würde.

Installation

npx mcp-bbc-goodfood

Claude Code

claude mcp add bbc-goodfood -- npx -y mcp-bbc-goodfood

Jeder MCP-Client

{
  "mcpServers": {
    "bbc-goodfood": {
      "command": "npx",
      "args": ["-y", "mcp-bbc-goodfood"]
    }
  }
}

Container

docker build -t mcp-bbc-goodfood .
docker run -i --rm mcp-bbc-goodfood

Der Container muss www.bbcgoodfood.com erreichen können und sonst nichts. Er nimmt keine Anmeldedaten entgegen, da es keine zu nehmen gibt.

Einstellungen

Jede Einstellung ist eine Umgebungsvariable, und keine ist erforderlich. Ein Wert außerhalb der Grenzen wird mit einer Zeile auf stderr abgelehnt, und der Standardwert bleibt bestehen: Eine Einstellung, die nicht wirksam werden kann, sagt das, statt stillschweigend begrenzt zu werden.

Variable

Standard

Grenzen

BGF_USER_AGENT

Ihre Kennung. Die dieses Projekts bleibt angehängt, damit die Seite eine Person erreichen kann.

BGF_MIN_INTERVAL_MS

1500

1000 bis 60000

BGF_TIMEOUT_MS

20000

1000 bis 120000

BGF_MAX_RETRIES

3

0 bis 8

BGF_CACHE_TTL_MS

900000

0 bis 86400000, 0 schaltet den Speicher aus

BGF_CACHE_MAX_ENTRIES

200

1 bis 5000

BGF_LOG_LEVEL

error

silent, error, info, debug

Die Mindestfrequenz kann von außen nicht gesenkt werden. Die Seite ist kostenlos zu lesen und veröffentlicht keine Crawl-Verzögerung, was ein Grund zur Vorsicht ist, statt einer Lizenz, schnell zu sein.

Als Bibliothek

Die Leseschicht wird separat veröffentlicht, mit ihrer Frequenz, ihrem Speicher und ihrer Fehlertaxonomie, ohne angehängtes Protokoll:

import { GoodFoodClient } from "mcp-bbc-goodfood/client";

Fehler

Sechs Codes und nicht einer mehr. Ein Aufrufer verzweigt auf den Code, der die Meldung eröffnet.

Code

Bedeutung

not_found

Die Website hat an dieser Adresse nichts

invalid_input

Die Argumente konnten keine Anfrage erzeugen

rate_limited

Die Website hat gebeten, langsamer zu machen. Das sagt nichts darüber aus, was übereinstimmt

parse_failure

Eine Antwort ist in einer Form eingetroffen, die dieser Server nicht lesen kann

network_error

Die Anfrage konnte nicht abgeschlossen werden

timeout

Innerhalb der Frist ist keine Antwort eingetroffen

Namensnennung

Die Rezepte, Titel und Konten gehören BBC Good Food. Jede Antwort führt die Quelle an, und eine Auflistung, die einem Leser gezeigt wird, muss die Website nennen und auf die Seite verlinken.

Mitwirken

Siehe CONTRIBUTING.md. Tests zuerst, eine Mindestabdeckung von 100 %, und die Regel, die alles beherrscht: Der Server sagt nie etwas, das die Daten nicht hergeben.

Lizenziert unter MIT.

Install Server
A
license - permissive license
A
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables querying food nutritional information, discovering recipes by ingredients or diet type, getting ingredient substitutions, and receiving personalized food recommendations based on mood and season.
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables browsing recipes, searching by category, and viewing detailed recipe information from the Gousto cookbook API via natural language.
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables querying Open Food Facts product database by barcode, full-text search, category, brand, or country.
    12
    MIT

View all related MCP servers

Related MCP Connectors

  • Spoonacular food API: recipes, nutrition, ingredients, meal plans. Free 150/day.

  • Recipes MCP — wraps TheMealDB API (free tier, no auth)

  • Federated commerce search across independent WooCommerce merchants. Keyless, read-only MCP server.

View all MCP Connectors

Latest Blog Posts

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/smeet666/mcp-bbc-goodfood'

If you have feedback or need assistance with the MCP directory API, please join our Discord server