@cyanheads/openfoodfacts-mcp-server 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AGENTS.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # Developer Protocol
2
2
 
3
3
  **Server:** openfoodfacts-mcp-server
4
- **Version:** 0.1.1
5
- **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.16`
4
+ **Version:** 0.1.2
5
+ **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.21`
6
6
  **Engines:** Bun ≥1.3.0, Node ≥24.0.0
7
7
  **MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
8
8
  **Zod:** ^4.4.3
@@ -225,6 +225,7 @@ Available skills:
225
225
  | `git-wrapup` | Land working-tree changes as a versioned commit + annotated tag — version bump, changelog, verify, tag. Local only. |
226
226
  | `release-and-publish` | Push + npm + MCP Registry + GH Release + Docker. Picks up from `git-wrapup` |
227
227
  | `maintenance` | Investigate changelogs, adopt upstream changes, sync skills to agent dirs |
228
+ | `orchestrations` | Chain task skills into a gated multi-phase pipeline — build-out, QA-fix, update-ship — when you can spawn sub-agents |
228
229
  | `report-issue-framework` | File a bug or feature request against `@cyanheads/mcp-ts-core` via `gh` CLI |
229
230
  | `report-issue-local` | File a bug or feature request against this server's own repo via `gh` CLI |
230
231
  | `api-auth` | Auth modes, scopes, JWT/OAuth |
@@ -239,6 +240,8 @@ Available skills:
239
240
  | `api-telemetry` | OTel catalog: spans, metrics, completion logs, env config, cardinality rules |
240
241
  | `api-workers` | Cloudflare Workers runtime |
241
242
 
243
+ **Chaining skills into pipelines.** When the user wants a multi-phase effort — build this server out, QA-and-fix the surface, update-and-ship — *and you can spawn sub-agents*, `skills/orchestrations/SKILL.md` sequences the task skills above into a gated pipeline with verification at each step. Read it to drive the run. Optional: skip it if you can't orchestrate sub-agents, and ignore it entirely if you were *spawned* as one — you've already been scoped to a single phase.
244
+
242
245
  When you complete a skill's checklist, check the boxes and add a completion timestamp at the end (e.g., `Completed: 2026-03-11`).
243
246
 
244
247
  ---
package/CLAUDE.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # Developer Protocol
2
2
 
3
3
  **Server:** openfoodfacts-mcp-server
4
- **Version:** 0.1.1
5
- **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.16`
4
+ **Version:** 0.1.2
5
+ **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.21`
6
6
  **Engines:** Bun ≥1.3.0, Node ≥24.0.0
7
7
  **MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
8
8
  **Zod:** ^4.4.3
@@ -225,6 +225,7 @@ Available skills:
225
225
  | `git-wrapup` | Land working-tree changes as a versioned commit + annotated tag — version bump, changelog, verify, tag. Local only. |
226
226
  | `release-and-publish` | Push + npm + MCP Registry + GH Release + Docker. Picks up from `git-wrapup` |
227
227
  | `maintenance` | Investigate changelogs, adopt upstream changes, sync skills to agent dirs |
228
+ | `orchestrations` | Chain task skills into a gated multi-phase pipeline — build-out, QA-fix, update-ship — when you can spawn sub-agents |
228
229
  | `report-issue-framework` | File a bug or feature request against `@cyanheads/mcp-ts-core` via `gh` CLI |
229
230
  | `report-issue-local` | File a bug or feature request against this server's own repo via `gh` CLI |
230
231
  | `api-auth` | Auth modes, scopes, JWT/OAuth |
@@ -239,6 +240,8 @@ Available skills:
239
240
  | `api-telemetry` | OTel catalog: spans, metrics, completion logs, env config, cardinality rules |
240
241
  | `api-workers` | Cloudflare Workers runtime |
241
242
 
243
+ **Chaining skills into pipelines.** When the user wants a multi-phase effort — build this server out, QA-and-fix the surface, update-and-ship — *and you can spawn sub-agents*, `skills/orchestrations/SKILL.md` sequences the task skills above into a gated pipeline with verification at each step. Read it to drive the run. Optional: skip it if you can't orchestrate sub-agents, and ignore it entirely if you were *spawned* as one — you've already been scoped to a single phase.
244
+
242
245
  When you complete a skill's checklist, check the boxes and add a completion timestamp at the end (e.g., `Completed: 2026-03-11`).
243
246
 
244
247
  ---
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  <div align="center">
9
9
 
10
- [![Version](https://img.shields.io/badge/Version-0.1.1-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/openfoodfacts-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/openfoodfacts-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/openfoodfacts-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-^5.9.3-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.0-blueviolet.svg?style=flat-square)](https://bun.sh/)
10
+ [![Version](https://img.shields.io/badge/Version-0.1.2-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/openfoodfacts-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/openfoodfacts-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/openfoodfacts-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-^5.9.3-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.0-blueviolet.svg?style=flat-square)](https://bun.sh/)
11
11
 
12
12
  </div>
13
13
 
@@ -72,7 +72,6 @@ Side-by-side nutrition and scoring comparison for 2–10 barcodes.
72
72
  - Returns a normalized comparison table: energy (kcal/100g), fat, saturated fat, sugars, salt, protein, fiber, Nutri-Score, NOVA group, and Green-Score
73
73
  - Missing nutrition data is preserved as `null` — comparisons are not imputed or estimated
74
74
  - `not_found` list identifies barcodes with no contributor record (partial results are not an error)
75
- - For batches of 5+ products, the comparison table is registered as a canvas dataframe for downstream SQL queries (`secedgar_dataframe_query`-style analytics)
76
75
 
77
76
  ---
78
77
 
@@ -123,7 +122,7 @@ A public instance is available at `https://openfoodfacts.caseyjhand.com/mcp` —
123
122
  ```json
124
123
  {
125
124
  "mcpServers": {
126
- "openfoodfacts": {
125
+ "openfoodfacts-mcp-server": {
127
126
  "type": "streamable-http",
128
127
  "url": "https://openfoodfacts.caseyjhand.com/mcp"
129
128
  }
@@ -138,7 +137,7 @@ No API key is required. Add the following to your MCP client configuration file.
138
137
  ```json
139
138
  {
140
139
  "mcpServers": {
141
- "openfoodfacts": {
140
+ "openfoodfacts-mcp-server": {
142
141
  "type": "stdio",
143
142
  "command": "bunx",
144
143
  "args": ["@cyanheads/openfoodfacts-mcp-server@latest"],
@@ -156,7 +155,7 @@ Or with npx (no Bun required):
156
155
  ```json
157
156
  {
158
157
  "mcpServers": {
159
- "openfoodfacts": {
158
+ "openfoodfacts-mcp-server": {
160
159
  "type": "stdio",
161
160
  "command": "npx",
162
161
  "args": ["-y", "@cyanheads/openfoodfacts-mcp-server@latest"],
@@ -174,7 +173,7 @@ Or with Docker:
174
173
  ```json
175
174
  {
176
175
  "mcpServers": {
177
- "openfoodfacts": {
176
+ "openfoodfacts-mcp-server": {
178
177
  "type": "stdio",
179
178
  "command": "docker",
180
179
  "args": [
@@ -0,0 +1,24 @@
1
+ ---
2
+ summary: "Adopt @cyanheads/mcp-ts-core ^0.9.21 — per-request log context fix, secret-stripped error messages, and fail-fast retry behavior."
3
+ breaking: false
4
+ ---
5
+
6
+ # 0.1.2 — 2026-06-02
7
+
8
+ ## Changed
9
+
10
+ - **`@cyanheads/mcp-ts-core`** `^0.9.16` → `^0.9.21`. Notable framework changes:
11
+ - Per-request logs and traces now carry fresh request + trace/span IDs instead of the frozen boot context (HTTP transport fix).
12
+ - `fetchWithTimeout` strips query-string secrets (e.g. `?api_key=`) from error messages and logs.
13
+ - `withRetry` fails fast on non-retryable errors; `ctx.fail` auto-populates the `retryable` flag.
14
+ - **README** client-config keys renamed from `"openfoodfacts"` to the full package name `"openfoodfacts-mcp-server"` for consistency.
15
+ - **Skills** re-synced with framework 0.9.21: `add-service`, `add-tool`, `api-canvas`, `api-context`, `api-linter`, `api-utils`, `design-mcp-server`, `release-and-publish` updated; new `api-mirror` and `orchestrations` skills added.
16
+ - **`scripts/`**: new `check-skill-versions.ts`, `release-github.ts`, `devcheck.ts` scripts adopted from framework template.
17
+
18
+ ## Dependencies
19
+
20
+ - `@cyanheads/mcp-ts-core` ^0.9.16 → ^0.9.21
21
+ - `@biomejs/biome` ^2.4.7 → ^2.4.16 (dev)
22
+ - `@types/node` ^25.6.0 → ^25.9.1 (dev)
23
+ - `tsc-alias` ^1.8.16 → ^1.8.17 (dev)
24
+ - `vitest` ^4.1.0 → ^4.1.8 (dev)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyanheads/openfoodfacts-mcp-server",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "mcpName": "io.github.cyanheads/openfoodfacts-mcp-server",
5
5
  "description": "Look up food products by barcode, search by ingredient or nutrition filter, compare products side-by-side, and browse the canonical tag vocabulary via MCP. STDIO or Streamable HTTP.",
6
6
  "type": "module",
@@ -38,6 +38,7 @@
38
38
  "start": "bun ./dist/index.js",
39
39
  "start:stdio": "MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js",
40
40
  "start:http": "MCP_TRANSPORT_TYPE=http bun ./dist/index.js",
41
+ "release:github": "tsx scripts/release-github.ts",
41
42
  "publish-mcp": "mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish"
42
43
  },
43
44
  "keywords": [
@@ -86,17 +87,17 @@
86
87
  "access": "public"
87
88
  },
88
89
  "dependencies": {
89
- "@cyanheads/mcp-ts-core": "^0.9.16",
90
+ "@cyanheads/mcp-ts-core": "^0.9.21",
90
91
  "pino-pretty": "^13.1.3",
91
92
  "zod": "^4.4.3"
92
93
  },
93
94
  "devDependencies": {
94
- "@biomejs/biome": "^2.4.7",
95
- "@types/node": "^25.6.0",
95
+ "@biomejs/biome": "^2.4.16",
96
+ "@types/node": "^25.9.1",
96
97
  "depcheck": "^1.4.7",
97
98
  "ignore": "^7.0.5",
98
- "tsc-alias": "^1.8.16",
99
+ "tsc-alias": "^1.8.17",
99
100
  "typescript": "^5.9.3",
100
- "vitest": "^4.1.0"
101
+ "vitest": "^4.1.8"
101
102
  }
102
103
  }
package/server.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "url": "https://github.com/cyanheads/openfoodfacts-mcp-server",
7
7
  "source": "github"
8
8
  },
9
- "version": "0.1.1",
9
+ "version": "0.1.2",
10
10
  "remotes": [
11
11
  {
12
12
  "type": "streamable-http",
@@ -19,7 +19,7 @@
19
19
  "registryBaseUrl": "https://registry.npmjs.org",
20
20
  "identifier": "@cyanheads/openfoodfacts-mcp-server",
21
21
  "runtimeHint": "bun",
22
- "version": "0.1.1",
22
+ "version": "0.1.2",
23
23
  "packageArguments": [
24
24
  {
25
25
  "type": "positional",
@@ -69,7 +69,7 @@
69
69
  "registryBaseUrl": "https://registry.npmjs.org",
70
70
  "identifier": "@cyanheads/openfoodfacts-mcp-server",
71
71
  "runtimeHint": "bun",
72
- "version": "0.1.1",
72
+ "version": "0.1.2",
73
73
  "packageArguments": [
74
74
  {
75
75
  "type": "positional",