@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 +5 -2
- package/CLAUDE.md +5 -2
- package/README.md +5 -6
- package/changelog/0.1.x/0.1.2.md +24 -0
- package/package.json +7 -6
- package/server.json +3 -3
package/AGENTS.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Developer Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** openfoodfacts-mcp-server
|
|
4
|
-
**Version:** 0.1.
|
|
5
|
-
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.
|
|
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.
|
|
5
|
-
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.
|
|
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
|
-
[](./CHANGELOG.md) [](./LICENSE) [](https://github.com/users/cyanheads/packages/container/package/openfoodfacts-mcp-server) [](https://modelcontextprotocol.io/) [](https://www.npmjs.com/package/@cyanheads/openfoodfacts-mcp-server) [](https://www.typescriptlang.org/) [](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.
|
|
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.
|
|
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.
|
|
95
|
-
"@types/node": "^25.
|
|
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.
|
|
99
|
+
"tsc-alias": "^1.8.17",
|
|
99
100
|
"typescript": "^5.9.3",
|
|
100
|
-
"vitest": "^4.1.
|
|
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.
|
|
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.
|
|
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.
|
|
72
|
+
"version": "0.1.2",
|
|
73
73
|
"packageArguments": [
|
|
74
74
|
{
|
|
75
75
|
"type": "positional",
|