# io.github.smeet666/mcp-supertoinette (npm · mcp-supertoinette)

Read Supertoinette recipes and rescale their quantities honestly. No API key.

- Trust score: 91/100 (high trust)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-20

## Components

- mcpb · `mcp-supertoinette-1.1.0.mcpb`: 49/100, [markdown](https://verifymcp.io/servers/smeet666-mcp-supertoinette/https-github-com-smeet666-mcp-supertoinette-releases-download-v1-1-0-mcp-superto.md), [page](https://verifymcp.io/servers/smeet666-mcp-supertoinette/https-github-com-smeet666-mcp-supertoinette-releases-download-v1-1-0-mcp-superto)
- npm · `mcp-supertoinette`: 91/100 (this document), [markdown](https://verifymcp.io/servers/smeet666-mcp-supertoinette/mcp-supertoinette.md), [page](https://verifymcp.io/servers/smeet666-mcp-supertoinette/mcp-supertoinette)

## Channel facts

- Registry: `npm`
- Package: `mcp-supertoinette`
- Version: `1.1.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-20.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 31 of 95 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 100/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to smeet666/mcp-supertoinette).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 9 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 69/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1693 tokens (~282/item across 6 items; 6 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 80/100
  - Stability observed for 24 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 6 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 7 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the io.github.smeet666/mcp-supertoinette server?

io.github.smeet666/mcp-supertoinette runs locally as an npm package, launched with npx -y mcp-supertoinette. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add smeet666-mcp-supertoinette -- npx -y mcp-supertoinette
```

### Cursor

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

### VS Code

```json
{
  "servers": {
    "smeet666-mcp-supertoinette": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-supertoinette"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add smeet666-mcp-supertoinette -- npx -y mcp-supertoinette
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "smeet666-mcp-supertoinette": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "mcp-supertoinette"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add smeet666-mcp-supertoinette --command npx --arg -y --arg mcp-supertoinette
```

### Hermes

```yaml
mcp_servers:
  smeet666-mcp-supertoinette:
    command: "npx"
    args: ["-y", "mcp-supertoinette"]
```

### Netclaw

```json
{
  "McpServers": {
    "smeet666-mcp-supertoinette": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "mcp-supertoinette"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add smeet666-mcp-supertoinette -t stdio -c npx -a -y mcp-supertoinette
```

### Other

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

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-19 (score 91, +1)

No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-17 (score 90, +1)

No change was recorded against any check on this day. Stability & Change Management went from 67 to 70. That category is still filling its 30-day observation window: 20 days of observed history at the previous scan, 21 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-15 (score 89, +1)

No change was recorded against any check on this day. Stability & Change Management went from 60 to 63. That category is still filling its 30-day observation window: 18 days of observed history at the previous scan, 19 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-13 (score 88, +1)

No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-12 (score 87, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-09-11 (score 72, +1)

No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-10 (score 71, −15)

- [security regression] Malware scan: pass → unverified
- [functional] Package version: 1.0.2 → 1.1.0

### 2026-09-09 (score 86, +1)

No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (6)

### `get_recipe` (~189 tokens)

Read one recipe

Read one recipe on Supertoinette by its identifier, which is the number in its address: 4210 in /recette/4210/veloute-de-gaverole.html. Returns the ingredients, the steps, the times, the difficulty and the cost the site publishes. A time the site does not publish comes back as null rather than as zero. Pass 'servings' to rescale the quantities: each line then says whether the arithmetic landed exactly, or had to move to stay an amount a kitchen can measure out.

Input parameters:

- `id` (string, required): The number in the recipe's address, such as '4210'. Search for a dish when you do not have one.
- `servings` (integer): Rescale the quantities to this many. Left out, they come back as the site published them. It is refused when the site's own wording carries no number to scale from.

Output parameters:

- `author` (string|null)
- `category` (string|null)
- `cook_minutes`: Null when the site publishes no cooking time.
- `cost_level`: The site's own wording, with the scale it draws the symbols on.
- `description` (string|null)
- `difficulty`: The site's own wording. It publishes no scale for this, so none is stated.
- `faq` (array)
- `id` (string)
- `images` (array)
- `ingredient_count` (integer): Lines rendered, headings included.
- `ingredient_sheets` (array)
- `ingredients` (array)
- `intro` (string|null): The prose the page prints above the steps.
- `notes` (array)
- `nutrition` (null): Supertoinette publishes none.
- `prep_minutes`: Null when the site publishes no preparation time.
- `published_at` (string|null)
- `rating`
- `rest_minutes`: Resting time, which the page prints as 'Pause'.
- `source` (string)
- `steps` (array)
- `tags` (array)
- `title` (string): The title with the pictogram the site opens it with taken off.
- `title_as_published` (string): The title exactly as the site wrote it.
- `total_minutes`
- `url` (string): The public page. Show this when citing the recipe.
- `yield` (object): How many the recipe was written for, and how many were asked for.

### `search_recipes` (~265 tokens)

Search the recipes

Search Supertoinette by a dish or an ingredient. Each row carries the identifier to read the recipe with get_recipe. The site publishes no total, so 'total_available' is null and 'last_page' says how far the results run. The categories it counts beside a search are returned as 'facets': pass one back as 'category' to narrow the search, spelled exactly as the site spells it. A category the site does not know is answered like a search that matched nothing, so a filter that finds nothing is dropped and the answer says so.

Input parameters:

- `category` (string): Narrow the search to one category, taken from the 'facets' of a previous answer and spelled exactly as the site spells it. Never build one by hand: the site answers a wording it does not know with a…
- `limit` (integer): Rows to render, 20 by default. The site serves at most 39 to a page, and 'rows_published' always states what the page held.
- `page` (integer): Which page of results to read, 1 by default. 'last_page' says how far they run.
- `query` (string, required): A dish or an ingredient to look for, in French.

Output parameters:

- `category` (string|null): The category the answer was narrowed to, or null for a search across all of them.
- `facets` (array): The categories the site counts inside this search. A recipe filed under two is counted by both, so these do not add up to the rows served.
- `last_page` (integer): The highest page the site links to from this one.
- `notes` (array)
- `page` (integer): The page these rows were read from.
- `query` (string)
- `result_count` (integer): Rows rendered here.
- `results` (array)
- `rows_published` (integer): Rows the page held, before any were rendered.
- `source` (string)
- `total_available` (null): Supertoinette prints no total on a search page, so there is none to report.
- `url` (string): The page these rows were read from.

### `list_categories` (~119 tokens)

List the categories recipes are browsed by

List the categories Supertoinette browses its recipes by. Each entry carries the token that opens its listing with browse_recipes, and 'listed_in' says where the site printed it: its footer holds the kinds of dish, its menu holds the ways of cooking and the seasons. Never build a token by hand, because the site answers a number paired with the wrong name with a page it does not hold. These two lists are not every category the site files recipes under: a recipe's own tags open onto hundreds more that neither list publishes.

Output parameters:

- `categories` (array)
- `category_count` (integer): Entries the two lists hold.
- `notes` (array)
- `source` (string)
- `url` (string): The page these categories were read from.

### `browse_recipes` (~204 tokens)

Read one category's recipes

Read the recipes of one Supertoinette category, page by page. The category is a number and a name together, taken from list_categories or from the 'tags' of a recipe, and never assembled by hand. Each row carries the identifier get_recipe reads a recipe with, plus the difficulty and the total time the site prints beside it. The site publishes no total, so 'last_page' says how far the listing runs.

Input parameters:

- `category` (string, required): The category to read, as a number and a name together, such as '107/recettes-desserts'. Take one from list_categories or from a recipe's tags.
- `limit` (integer): Rows to render, 20 by default. The site serves at most 30 to a page, and 'rows_published' always states what the page held.
- `page` (integer): Which page to read, 1 by default. 'last_page' says how far the listing runs.

Output parameters:

- `category` (string): The category that was read.
- `last_page` (integer): The highest page the site links to from this one.
- `notes` (array)
- `page` (integer): The page these rows were read from.
- `result_count` (integer): Rows rendered here.
- `results` (array)
- `rows_published` (integer): Rows the page held, before any were rendered.
- `source` (string)
- `title` (string|null): The site's own heading for the category.
- `total_available` (null): Supertoinette prints no total on a category page, so there is none to report.
- `url` (string): The page these rows were read from.

### `get_wine_pairings` (~155 tokens)

Read the wines ranked for a dish

Read the wines Supertoinette ranks for one dish, given the number in its address as 'id'. Each wine comes with the site's own wording for how well it goes, from 'Bon accord' to 'Accord parfait'. Called with 'page' instead, it reads one page of the alphabetical index of dishes, which is where the identifiers come from: the index runs alphabetically, so a dish beginning with a late letter sits on a late page.

Input parameters:

- `id` (string): The number in a dish's address, such as '10'. Give this or 'page'.
- `page` (integer): Read one page of the alphabetical index of dishes instead of one dish. Give this or 'id'.

Output parameters:

- `dish`: The wines ranked for one dish, when 'id' was given.
- `index`: One page of the index of dishes, when 'page' was given.
- `kind` (string): Which of the two answers arrived. The other field is null.
- `notes` (array)
- `source` (string)

### `scale_ingredients` (~182 tokens)

Rescale a list of ingredients

Rescale a list of French ingredient lines, offline. Give either 'factor', or 'from_servings' and 'to_servings' together. Each line comes back with what was done to it: 'scaled' when the arithmetic landed exactly, 'rounded' when the value had to move to stay something a kitchen can measure out, and 'unscaled' when the line carries no quantity at all. Nothing is converted between unit systems, and an approximate measure such as a pincée keeps its own size.

Input parameters:

- `factor` (number): What to multiply the quantities by. Give this, or the two servings counts.
- `from_servings` (integer): How many the list was written for.
- `ingredients` (array, required): The lines to rescale, as the recipe wrote them.
- `to_servings` (integer): How many it should serve.

Output parameters:

- `factor` (number): What the quantities were multiplied by.
- `ingredients` (array)
- `notes` (array)
- `rounded_count` (integer): Lines whose value had to move.
- `scaled_count` (integer): Lines whose arithmetic landed exactly.
- `unscaled_count` (integer): Lines carrying no quantity.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/smeet666-mcp-supertoinette/mcp-supertoinette#diagnostics

## Score history

- 2026-09-20: 91
- 2026-09-19: 91
- 2026-09-18: 90
- 2026-09-17: 90
- 2026-09-16: 89
- 2026-09-15: 89
- 2026-09-14: 88
- 2026-09-13: 88
- 2026-09-12: 87
- 2026-09-11: 72
- 2026-09-10: 71
- 2026-09-09: 86
- 2026-09-08: 85
- 2026-09-07: 85
- 2026-09-06: 84
- 2026-09-05: 84
- 2026-09-04: 84
- 2026-09-03: 83
- 2026-09-02: 83
- 2026-09-01: 82
- 2026-08-31: 82
- 2026-08-30: 81
- 2026-08-29: 66
- 2026-08-28: 80
- 2026-08-27: 65

## Common questions

### What is the io.github.smeet666/mcp-supertoinette server?

io.github.smeet666/mcp-supertoinette is listed in the public MCP registry as io.github.smeet666/mcp-supertoinette. Read Supertoinette recipes and rescale their quantities honestly. No API key. This page covers its npm package (mcp-supertoinette).

### Is the io.github.smeet666/mcp-supertoinette server safe to use?

io.github.smeet666/mcp-supertoinette scores 91 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the io.github.smeet666/mcp-supertoinette server expose?

io.github.smeet666/mcp-supertoinette exposes 6 tools: get_recipe, search_recipes, list_categories, browse_recipes, get_wine_pairings, scale_ingredients. Their descriptions and schemas cost roughly 1,114 tokens of context every time the server is loaded.

### Is the io.github.smeet666/mcp-supertoinette server still maintained?

io.github.smeet666/mcp-supertoinette is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the io.github.smeet666/mcp-supertoinette server under?

io.github.smeet666/mcp-supertoinette declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/mcp-supertoinette
- Socket report: https://socket.dev/npm/package/mcp-supertoinette
- Repository: https://github.com/smeet666/mcp-supertoinette
- Changelog RSS feed: https://verifymcp.io/servers/smeet666-mcp-supertoinette/mcp-supertoinette.xml
- Changelog JSON feed: https://verifymcp.io/servers/smeet666-mcp-supertoinette/mcp-supertoinette.json
- HTML version of this page: https://verifymcp.io/servers/smeet666-mcp-supertoinette/mcp-supertoinette
