Skip to main content
Glama
smeet666

mcp-bbc-goodfood

mcp-bbc-goodfood

CI npm licence MIT

Un servidor MCP que lee recetas en BBC Good Food. Solo lectura, sin clave de API, sin cuenta.

Versión en español


Por qué existe

BBC Good Food acepta cualquier valor en una faceta de búsqueda y responde a uno que no conoce con un total de cero. Pide glutenfree en lugar de gluten-free y el sitio dice que nada coincide, con la misma confianza con la que dice que 48 recetas coinciden con la ortografía correcta. Un modelo que adivina una ortografía recibe una ausencia confiada en lugar de un rechazo.

Este servidor publica el vocabulario, para que la pregunta pueda hacerse correctamente.

Related MCP server: mcp-spoonacular

La herramienta

list_filters

Lista los ejes a lo largo de los cuales se puede restringir una búsqueda de recetas, con los valores que toma cada uno y cuántas recetas los llevan.

Argumento

Tipo

Significado

query

cadena, opcional

Mide los recuentos dentro de esta búsqueda. Omítelo para el listado completo del sitio.

El sitio cuenta sus facetas sobre las filas que devuelve una búsqueda, por lo que las dos responden a preguntas diferentes. Dentro de chicken, diet informa gluten-free 48. En todo el listado informa gluten-free 2810. Ninguno es comparable con el otro, y la respuesta dice qué alcance midió.

{
  "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": ["…"]
}

Lo que las respuestas se niegan a exagerar

Los valores publicados son una lista corta. El sitio muestra los diez valores más frecuentes en un eje y acepta otros que nunca lista: cuisine=mexican restringe una búsqueda a 306 recetas sin aparecer entre los diez. La respuesta dice que la lista es un extracto en lugar de llamarla el conjunto de valores aceptados, porque un servidor que la llamara así rechazaría valores que funcionan.

Un total puede ser un mínimo. El sitio sirve como máximo 10 000 filas para una búsqueda y se detiene ahí. Un total que cae exactamente en esa cifra fue cortado, por lo que indica un mínimo en lugar de un recuento, y total_is_ceiling lo dice.

Un recuento para el que el sitio no publicó nada es null, nunca 0. En una escala que comienza en cero, los dos serían indistinguibles.

El sitio responde a un término del que no tiene nada con filas todas iguales. Buscar foobar devuelve siete recetas — entre ellas un refresco de ruibarbo y una barra de flapjack — coincidiendo por fragmentos, sin que nada marque la respuesta como un fallo. Por lo tanto, cada respuesta informa rows_seen y matched_rows: cuántas filas sirvió el sitio y cuántas de ellas llevan una palabra de la búsqueda. Cuando el segundo es cero y el primero no, una nota dice que el recuento describe lo que el sitio ofreció en lugar de lo que coincidió.

Dos recuentos en lugar de un veredicto. Una búsqueda legítima puede estar ausente de todos los títulos, y un lector que ve 2 de 30 juzga mejor que una bandera que juzga por él.

Instalación

npx mcp-bbc-goodfood

Claude Code

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

Cualquier cliente MCP

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

Contenedor

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

El contenedor necesita alcanzar www.bbcgoodfood.com y nada más. No toma credenciales, porque no hay ninguna que tomar.

Configuración

Cada ajuste es una variable de entorno, y ninguno es obligatorio. Un valor fuera de su rango se rechaza con una línea en stderr y el valor predeterminado se mantiene: un ajuste que no puede tener efecto lo dice en lugar de ser limitado silenciosamente.

Variable

Predeterminado

Rango

BGF_USER_AGENT

Tu propio identificador. El de este proyecto se mantiene añadido, para que el sitio pueda contactar a una persona.

BGF_MIN_INTERVAL_MS

1500

1000 a 60000

BGF_TIMEOUT_MS

20000

1000 a 120000

BGF_MAX_RETRIES

3

0 a 8

BGF_CACHE_TTL_MS

900000

0 a 86400000, 0 apaga el almacenamiento

BGF_CACHE_MAX_ENTRIES

200

1 a 5000

BGF_LOG_LEVEL

error

silent, error, info, debug

El límite mínimo de ritmo no puede reducirse desde fuera. El sitio es gratuito de leer y no publica ningún retraso de rastreo, lo cual es una razón para ser cuidadoso en lugar de una licencia para ir rápido.

Como biblioteca

La capa de lectura se publica por sí sola, con su ritmo, su almacenamiento y su vocabulario de errores, sin protocolo adjunto:

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

Errores

Seis códigos y no más. Un llamador se ramifica en el código que abre el mensaje.

Código

Qué significa

not_found

El sitio no tiene nada en esa dirección

invalid_input

Los argumentos no pudieron producir una solicitud

rate_limited

El sitio pidió a este cliente que reduzca la velocidad. No dice nada sobre si algo coincidió

parse_failure

Una respuesta llegó en una forma que este servidor no puede leer

network_error

La solicitud no pudo completarse

timeout

No llegó ninguna respuesta dentro del plazo

Atribución

Las recetas, los títulos y los recuentos pertenecen a BBC Good Food. Cada respuesta lleva la fuente, y un listado mostrado a un lector debe acreditar al sitio y enlazar la página.

Contribuciones

Ver CONTRIBUTING.md. Las pruebas van primero, la cobertura tiene un mínimo del 100%, y la regla que todo sigue es que el servidor nunca dice nada que los datos no contengan.

Licenciado bajo MIT.


mcp-bbc-goodfood (français)

Un servidor MCP que lee recetas de BBC Good Food. Solo lectura, sin clave de API y sin cuenta.

Por qué existe

BBC Good Food acepta cualquier valor en una faceta de búsqueda y responde a un valor que no conoce con un total de cero. Pide glutenfree en lugar de gluten-free y el sitio responde que nada coincide, con la seguridad que pone al decir que 48 recetas coinciden con la ortografía correcta. Un modelo que adivina una ortografía recibe una ausencia confiada en lugar de un rechazo.

Este servidor publica el vocabulario, para que la pregunta pueda plantearse.

La herramienta

list_filters

Lista los ejes a lo largo de los cuales se puede restringir una búsqueda de recetas, con los valores que toma cada uno y el número de recetas que los llevan.

Argumento

Tipo

Significado

query

cadena, opcional

Mide los recuentos dentro de esta búsqueda. Sin él, se refieren al listado completo del sitio.

El sitio cuenta sus facetas sobre las filas que devuelve una búsqueda, por lo que los dos responden a preguntas diferentes. Dentro de chicken, diet anuncia gluten-free 48. En el listado completo, anuncia gluten-free 2810. Ninguno de los dos es comparable con el otro, y la respuesta dice qué alcance midió.

Lo que las respuestas se niegan a afirmar

Los valores publicados son un extracto. El sitio muestra los diez valores más frecuentes de un eje y acepta otros que nunca lista: cuisine=mexican restringe una búsqueda a 306 recetas sin figurar entre los diez. La respuesta dice que la lista es un extracto en lugar de llamarla el conjunto de valores aceptados, porque un servidor que la llamara así rechazaría valores que funcionan.

Un total puede ser un mínimo. El sitio sirve como máximo 10 000 líneas para una búsqueda y se detiene ahí. Un total que cae exactamente en ese número fue cortado, por lo que enuncia un mínimo en lugar de un recuento, y total_is_ceiling lo dice.

Un recuento que el sitio no ha publicado vale null, nunca 0. En una escala que comienza en cero, los dos serían indistinguibles.

El sitio responde igualmente a un término del que no tiene nada. Buscar foobar devuelve siete recetas, entre ellas un cóctel de ruibarbo y una barra de flapjack, acercadas por fragmentos, sin que nada marque la respuesta como un fracaso. Cada respuesta devuelve por tanto rows_seen y matched_rows: cuántas líneas sirvió el sitio y cuántas de ellas llevan una palabra de la búsqueda. Cuando la segunda vale cero y la primera no, una nota dice que el recuento describe lo que el sitio propuso en lugar de lo que corresponde.

Dos recuentos en lugar de un veredicto. Una búsqueda legítima puede no aparecer en ningún título, y un lector que ve 2 de 30 juzga mejor que una bandera que juzgaría por él.

Instalación

npx mcp-bbc-goodfood

Claude Code

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

Cualquier cliente MCP

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

Contenedor

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

El contenedor debe alcanzar www.bbcgoodfood.com y nada más. No toma ningún identificador, ya que no hay ninguno que tomar.

Configuración

Cada ajuste es una variable de entorno, y ninguna es obligatoria. Un valor fuera de límites se rechaza con una línea en stderr y el valor predeterminado se mantiene: un ajuste que no puede tener efecto lo dice, en lugar de ser limitado en silencio.

Variable

Predeterminado

Límites

BGF_USER_AGENT

Tu identificador. El del proyecto se mantiene añadido, para que el sitio pueda contactar a una persona.

BGF_MIN_INTERVAL_MS

1500

1000 a 60000

BGF_TIMEOUT_MS

20000

1000 a 120000

BGF_MAX_RETRIES

3

0 a 8

BGF_CACHE_TTL_MS

900000

0 a 86400000, 0 apaga el almacenamiento

BGF_CACHE_MAX_ENTRIES

200

1 a 5000

BGF_LOG_LEVEL

error

silent, error, info, debug

El límite mínimo del ritmo no puede reducirse desde fuera. El sitio es gratuito de leer y no publica ningún retraso de exploración, lo que es una razón para ser prudente en lugar de una licencia para ir rápido.

Como biblioteca

La capa de lectura se publica sola, con su ritmo, su almacenamiento y su taxonomía de errores, sin protocolo adjunto:

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

Errores

Seis códigos y no uno más. Un llamador se ramifica en el código que abre el mensaje.

Código

Significado

not_found

El sitio no tiene nada en esta dirección

invalid_input

Los argumentos no pudieron producir una solicitud

rate_limited

El sitio pidió que se ralentizara. Esto no dice nada sobre lo que coincide

parse_failure

Llegó una respuesta en una forma que este servidor no sabe leer

network_error

La solicitud no pudo completarse

timeout

No llegó ninguna respuesta dentro del plazo

Atribución

Las recetas, los títulos y las cuentas pertenecen a BBC Good Food. Cada respuesta lleva la fuente, y un listado mostrado a un lector debe acreditar el sitio y enlazar la página.

Contribuir

Ver CONTRIBUTING.md. Primero las pruebas, un mínimo de cobertura del 100 % y la regla que lo gobierna todo: el servidor nunca dice algo que los datos no respalden.

Bajo licencia 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