Skip to main content
Glama
smeet666

mcp-supertoinette

mcp-supertoinette

CI npm licence MIT

Lee recetas de Supertoinette desde un cliente MCP: buscarlas, leer una, reescalarla para otro número de personas, navegar por las categorías y consultar los maridajes de vino.

Solo lectura. Sin clave de API, sin cuenta.

Versión en español


Instalación

claude mcp add supertoinette -- npx -y mcp-supertoinette

O en la configuración de cualquier cliente MCP:

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

Con Docker:

docker build -t mcp-supertoinette .
docker run -i --rm mcp-supertoinette

El contenedor solo necesita poder acceder a www.supertoinette.com.

Related MCP server: spoonacular-mcp

Herramientas

Tool

Propósito

search_recipes

Encontrar recetas por plato o ingrediente

get_recipe

Leer una receta, reescalada a petición

list_categories

Las categorías por las que se navegan las recetas

browse_recipes

Las recetas de una categoría

get_wine_pairings

Cinco vinos para un plato, o el índice de platos

scale_ingredients

Reescalar cualquier lista de ingredientes francesa, sin conexión

Una receta se identifica por el número de su dirección: 4210 en /recette/4210/veloute-de-gaverole.html. search_recipes y browse_recipes devuelven ese número en cada fila.

search_recipes

Argumento

Tipo

Por defecto

Notas

query

cadena

obligatorio

Un plato o un ingrediente, en francés

limit

entero

20

1 a 39

page

entero

1

1 a 1000

category

cadena

Una etiqueta de faceta, como Poissons

{
  "query": "cabillaud",
  "page": 1,
  "last_page": 2,
  "results": [
    {
      "id": "702",
      "title": "Cabillaud aux champignons",
      "url": "https://www.supertoinette.com/recette/702/cabillaud-aux-champignons.html",
      "image_url": "https://recette.supertoinette.com/new/…-800.webp",
      "categories": ["Sauces", "Poissons"]
    }
  ],
  "result_count": 20,
  "rows_published": 39,
  "total_available": null,
  "facets": [{ "label": "Poissons", "count": 60 }]
}

category toma una de las etiquetas de facets, escrita tal como se devolvió. Una etiqueta desconocida no encuentra nada, así que el filtro se descarta, la búsqueda se repite sin él y una nota indica qué etiqueta se fue. total_available es siempre null, ya que Supertoinette no publica ningún total; usa last_page. Los contadores de facetas se solapan, por lo que suman más que las filas servidas. Una búsqueda mezcla recetas con las selecciones editoriales del propio sitio; las selecciones se eliminan, por eso result_count puede quedarse corto respecto a limit.

get_recipe

Argumento

Tipo

Por defecto

Notas

id

cadena

obligatorio

El número de la dirección

servings

entero

1 a 1000

{
  "id": "4210",
  "title": "Velouté de gaverole au pravin",
  "url": "https://www.supertoinette.com/recette/4210/veloute-de-gaverole.html",
  "yield": { "original_text": "6 personnes", "requested": 4, "factor": 0.6667 },
  "ingredients": [
    {
      "text": "533 g de tiges de gaverole",
      "original": "800 g de tiges de gaverole",
      "scaling": "scaled",
      "amount": 533,
      "unit": "g",
      "is_heading": false
    }
  ],
  "steps": ["Émincer les tiges de gaverole."],
  "prep_minutes": 15,
  "cook_minutes": 25,
  "rest_minutes": 30,
  "total_minutes": 70,
  "difficulty": { "label": "Recette facile" },
  "cost_level": { "label": "Economique", "level": 1, "scale": 3 },
  "rating": { "value": 4.2, "count": 9, "scale": 5 },
  "tags": [{ "label": "Soupes & potages", "category": "91/recettes-soupes-potages" }],
  "faq": []
}

Los tiempos están en minutos, y valen null cuando Supertoinette no publica ningún valor. difficulty tiene una etiqueta y ninguna escala, porque el sitio no publica ninguna escala para ella; cost_level tiene una, porque el sitio la dibuja. ingredient_sheets contiene los enlaces del propio sitio, y aproximadamente uno de cada veinte apunta a un ingrediente distinto del de la línea que lo acompaña.

Pedir servings en una receta cuyo rendimiento no contiene ningún número — «para un gran plato» — devuelve invalid_input. Pedir el id de una página de categoría devuelve parse_failure.

list_categories y browse_recipes

list_categories no toma ningún argumento y devuelve las cuarenta categorías que Supertoinette lista en sus páginas:

{
  "categories": [
    {
      "label": "Soupes & potages",
      "category": "91/recettes-soupes-potages",
      "url": "https://www.supertoinette.com/recettes/91/recettes-soupes-potages",
      "listed_in": "footer"
    }
  ],
  "category_count": 40
}

listed_in es footer para los tipos de plato y menu para las formas de cocinar y las estaciones. Los tags de una receta abren cientos de categorías adicionales que ninguna de las dos listas contiene.

browse_recipes lee una de ellas:

Argumento

Tipo

Por defecto

Notas

category

cadena

obligatorio

Un token, como 107/recettes-desserts

limit

entero

20

1 a 30

page

entero

1

1 a 1000

El token es un número y un nombre juntos. Tómalo de list_categories o de los tags de una receta, y pásalo de vuelta sin cambios: cualquier otra forma de escribir el nombre llega a una página que no existe. Cada fila añade difficulty y total_minutes a lo que contiene una fila de búsqueda.

La category de search_recipes y la category de browse_recipes son cosas distintas. La primera es una etiqueta de faceta (Poissons), la segunda es un token (95/recettes-poissons).

Una página más allá de la última vuelve sin filas y sin error; compara page con last_page.

get_wine_pairings

Proporciona id para un plato, o page para el índice alfabético de platos. kind indica cuál de los dos se devolvió, y el otro campo es null.

Argumento

Tipo

Notas

id

cadena

El número en la dirección de un plato

page

entero

1 a 100, para el índice

{
  "kind": "dish",
  "dish": {
    "dish": "Aligot",
    "style": "Un vin blanc sec assez puissant, fin et très légèrement boisé",
    "pairings": [
      { "rank": "Bon accord", "wine": "Premières côtes de bordeaux" },
      { "rank": "Accord parfait", "wine": "Mâcon blanc" }
    ],
    "recipes": [{ "id": "1081", "title": "Aligot" }]
  },
  "index": null
}

Los cinco rangos son las palabras propias de Supertoinette, en su propio orden.

scale_ingredients

Reescala cualquier lista de ingredientes francesa sin tocar la red.

Argumento

Tipo

Notas

ingredients

cadena[]

1 a 200 líneas

factor

número

Mayor que 0, hasta 100

from_servings y to_servings

entero

1 a 1000, en lugar de factor

Cada línea vuelve marcada. scaled es aritmética exacta. rounded se movió a una cantidad que una cocina puede medir, con una note que indica la cifra exacta de la que partió. unscaled no tenía ninguna cantidad que multiplicar. Las unidades se mantienen en el sistema que usó la receta, y una medida aproximada conserva su propio tamaño: cuatro veces una pizca son cuatro pizcas.

get_recipe aplica las mismas reglas cuando se le da servings.

Ajustes

Variables de entorno, todas opcionales. Un valor fuera de su rango se rechaza en stderr y se aplica el valor por defecto.

Variable

Por defecto

Rango

STO_USER_AGENT

Tu identificador, antepuesto al de este proyecto

STO_MIN_INTERVAL_MS

3000

3000 a 60000

STO_TIMEOUT_MS

20000

1000 a 120000

STO_MAX_RETRIES

3

0 a 8

STO_CACHE_TTL_MS

900000

0 a 86400000, 0 desactiva la caché

STO_CACHE_MAX_ENTRIES

200

1 a 5000

STO_LOG_LEVEL

error

silent, error, info, debug

Una petición a la vez. STO_MIN_INTERVAL_MS aumenta el intervalo entre dos de ellas por encima de su mínimo de 3000 ms, y ningún ajuste lo reduce.

Errores

Código

Significado

not_found

Nada en esa dirección

invalid_input

Los argumentos no pudieron generar una petición

rate_limited

El sitio pidió ir más despacio; reintenta en un momento

parse_failure

La página llegó con una forma que este servidor no puede leer

network_error

La petición falló

timeout

Sin respuesta dentro del plazo

Cada mensaje empieza con su código entre corchetes.

Como librería

La capa de lectura se distribuye por sí sola, con su ritmo, su caché y su gestión de errores:

import { SupertoinetteClient } from "mcp-supertoinette/client";

Las cantidades se devuelven tal como las publicó Supertoinette; el reescalado vive en las herramientas de arriba.

Atribución

Las recetas, los títulos y las fotografías pertenecen a Supertoinette. Acredita al sitio y enlaza la página cuando muestres una receta.

Contribuir

Consulta CONTRIBUTING.md. Licenciado bajo MIT.


mcp-supertoinette (español)

Leer las recetas de Supertoinette desde un cliente MCP: buscarlas, leer una, reescalarla para otro número de personas, recorrer las categorías, consultar los maridajes de vino.

Solo lectura. Sin clave de API, sin cuenta.

Instalación

claude mcp add supertoinette -- npx -y mcp-supertoinette

O en la configuración de cualquier cliente MCP:

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

Con Docker:

docker build -t mcp-supertoinette .
docker run -i --rm mcp-supertoinette

El contenedor solo necesita poder acceder a www.supertoinette.com.

Las herramientas

Herramienta

Función

search_recipes

Buscar recetas por plato o por ingrediente

get_recipe

Leer una receta, reescalada a petición

list_categories

Las categorías por las que recorrer las recetas

browse_recipes

Las recetas de una categoría

get_wine_pairings

Cin

Argumento

Tipo

Por defecto

Notas

category

cadena

obligatorio

Un token, como 107/recettes-desserts

limit

entero

20

1 a 30

page

entero

1

1 a 1000

El token es un número y un nombre juntos. Tómelo de list_categories o de los tags de una receta y páselo sin cambios: cualquier otra forma de escribir el nombre da con una página inexistente. Cada línea añade difficulty y total_minutes a lo que lleva una línea de búsqueda.

El category de search_recipes y el de browse_recipes son dos cosas diferentes. El primero es una etiqueta de faceta (Poissons), el segundo un token (95/recettes-poissons).

Una página más allá de la última se devuelve sin filas y sin error; compare page y last_page.

get_wine_pairings

Proporcione id para un plato, o page para el índice alfabético de los platos. kind indica cuál de las dos respuestas llega, siendo el otro campo null.

Argumento

Tipo

Notas

id

cadena

El número de la dirección de un plato

page

entero

1 a 100, para el índice

Los cinco rangos son los de Supertoinette, en su orden.

scale_ingredients

Reescala una lista de ingredientes francesa sin tocar la red.

Argumento

Tipo

Notas

ingredients

cadena[]

1 a 200 líneas

factor

número

Por encima de 0, hasta 100

from_servings y to_servings

entero

1 a 1000, en lugar de factor

Cada línea vuelve marcada. scaled para un cálculo exacto. rounded para un valor reducido a una cantidad medible en cocina, con una note que indica la cifra exacta de la que se ha movido. unscaled para una línea sin cantidad que multiplicar. Las unidades permanecen en el sistema de la receta, y una medida aproximada conserva su tamaño: cuatro veces una pizca son cuatro pizcas.

get_recipe aplica las mismas reglas cuando se le da servings.

Ajustes

Variables de entorno, todas opcionales. Un valor fuera de los límites se rechaza en stderr y se aplica el valor por defecto.

Variable

Por defecto

Límites

STO_USER_AGENT

Su identificador, colocado delante del del proyecto

STO_MIN_INTERVAL_MS

3000

3000 a 60000

STO_TIMEOUT_MS

20000

1000 a 120000

STO_MAX_RETRIES

3

0 a 8

STO_CACHE_TTL_MS

900000

0 a 86400000, 0 desactiva la caché

STO_CACHE_MAX_ENTRIES

200

1 a 5000

STO_LOG_LEVEL

error

silent, error, info, debug

Una solicitud a la vez. STO_MIN_INTERVAL_MS alarga el intervalo entre dos de ellas más allá de su mínimo de 3000 ms, y ningún ajuste lo reduce.

Errores

Código

Significado

not_found

Nada en esta dirección

invalid_input

Los argumentos no podían producir una solicitud

rate_limited

El sitio ha pedido que se vaya más despacio; inténtelo de nuevo en un momento

parse_failure

La página llegó en una forma ilegible para este servidor

network_error

La solicitud ha fallado

timeout

Ninguna respuesta dentro del plazo

Cada mensaje comienza con su código entre corchetes.

Como biblioteca

La capa de lectura se publica sola, con su ritmo, su caché y su gestión de errores:

import { SupertoinetteClient } from "mcp-supertoinette/client";

Las cantidades se devuelven tal como las publica Supertoinette; el reescalado reside en las herramientas de arriba.

Atribución

Las recetas, los títulos y las fotografías pertenecen a Supertoinette. Acredite el sitio y enlace la página cuando muestre una receta.

Contribuir

Ver CONTRIBUTING.md. Bajo licencia MIT.

A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
2Releases (12mo)
Commit activity

Related MCP Servers

  • F
    license
    C
    quality
    D
    maintenance
    Enables management of culinary recipes through web scraping from sites like Marmiton.org, recipe generation, ingredient management, and querying a MongoDB database of recipes, comments, users, and utensils.
    18
  • A
    license
    B
    quality
    D
    maintenance
    Enables AI assistants to search for recipes, get nutritional information, find ingredients, and more through the Spoonacular Food API using natural language.
    6
    15
    5
    ISC
  • A
    license
    A
    quality
    B
    maintenance
    MCP server that searches French recipes from Marmiton, reads ingredients and steps, and rescales quantities to any number of servings without requiring an API key.
    6
    3
    2,395
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Search and read recipes from the English Wikibooks Cookbook, with tools to rescale ingredient lists to a target number of servings.
    4
    117
    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)

  • Clean product data from any URL. Schema.org + AI extraction. 200 free calls/month.

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-supertoinette'

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