@cyanheads/cpsc-recalls-mcp-server 0.2.1 → 0.2.3

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.
@@ -12,18 +12,4 @@
12
12
  * Applied where upstream text is interpolated into `content[]`, never to `structuredContent`.
13
13
  */
14
14
  export declare function escapeMarkdown(text: string): string;
15
- /**
16
- * `url` as a Markdown link destination. A bare destination ends at the first space and
17
- * cannot hold `<`, `>`, or an unbalanced parenthesis, so those are percent-encoded. A
18
- * destination also reads backslash escapes and character references, so a backslash and an
19
- * `&` opening a reference are backslash-escaped, and the link points at `url` as stored.
20
- */
21
- export declare function linkDestination(url: string): string;
22
- /**
23
- * `url` shown as a bare address. A web address has its delimiters percent-encoded, and a
24
- * trailing `.`, `_`, or `~` — which GFM leaves out of an autolink — is percent-encoded too,
25
- * so the autolink covers the whole address; encoding those unreserved characters names the
26
- * same address. A value that is not a web address is escaped as text.
27
- */
28
- export declare function bareAddress(url: string): string;
29
15
  //# sourceMappingURL=markdown-escape.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-escape.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/markdown-escape.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA+CH;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAwBnD;AAYD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM/C"}
1
+ {"version":3,"file":"markdown-escape.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/markdown-escape.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA+CH;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAwBnD"}
@@ -62,32 +62,4 @@ export function escapeMarkdown(text) {
62
62
  ? `${lead}${indent}${digits}\\${delimiter}`
63
63
  : `${lead}${indent}\\${marker}`);
64
64
  }
65
- /**
66
- * `url` with whitespace, `<`, `>`, and parentheses percent-encoded as UTF-8 — the
67
- * characters that end or unbalance an address in Markdown. The address they name is the same.
68
- */
69
- function encodeDelimiters(url) {
70
- return url.replace(/[\s<>()]/gu, (char) => char === '(' ? '%28' : char === ')' ? '%29' : encodeURIComponent(char));
71
- }
72
- /**
73
- * `url` as a Markdown link destination. A bare destination ends at the first space and
74
- * cannot hold `<`, `>`, or an unbalanced parenthesis, so those are percent-encoded. A
75
- * destination also reads backslash escapes and character references, so a backslash and an
76
- * `&` opening a reference are backslash-escaped, and the link points at `url` as stored.
77
- */
78
- export function linkDestination(url) {
79
- return encodeDelimiters(url).replace(/\\|&(?=#?[A-Za-z\d]{1,32};)/g, '\\$&');
80
- }
81
- /**
82
- * `url` shown as a bare address. A web address has its delimiters percent-encoded, and a
83
- * trailing `.`, `_`, or `~` — which GFM leaves out of an autolink — is percent-encoded too,
84
- * so the autolink covers the whole address; encoding those unreserved characters names the
85
- * same address. A value that is not a web address is escaped as text.
86
- */
87
- export function bareAddress(url) {
88
- if (!/^https?:\/\//.test(url))
89
- return escapeMarkdown(url);
90
- const destination = encodeDelimiters(url).replace(/[._~]+$/, (run) => run.replace(/./g, (char) => `%${char.charCodeAt(0).toString(16).toUpperCase()}`));
91
- return escapeMarkdown(destination);
92
- }
93
65
  //# sourceMappingURL=markdown-escape.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-escape.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/markdown-escape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown-escape.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/markdown-escape.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;GAMG;AACH,MAAM,OAAO,GACX,6HAA6H,CAAC;AAEhI,mEAAmE;AACnE,MAAM,OAAO,GAAG,gEAAgE,CAAC;AAEjF;;;;GAIG;AACH,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;AAEzE;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,wDAAwD,CAAC;AAE5E;;;;GAIG;AACH,SAAS,SAAS,CAAC,OAAe,EAAE,MAA0B;IAC5D,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACpF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;IACzF,OAAO,CAAC,IAAI;SACT,KAAK,CAAC,GAAG,CAAC;SACV,KAAK,CAAC,CAAC,CAAC,CAAC;SACT,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI;SACR,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC;SACvB,OAAO,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,OAA2B,EAAE,MAAc,EAAE,KAAa,EAAE,EAAE,CAC5F,OAAO,KAAK,SAAS;QACnB,CAAC,CAAC,KAAK,IAAI,EAAE;QACb,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CACvC;SACA,OAAO,CACN,UAAU,EACV,CACE,KAAK,EACL,IAAY,EACZ,MAAc,EACd,MAAe,EACf,MAAe,EACf,SAAkB,EAClB,EAAE,CACF,MAAM,KAAK,SAAS;QAClB,CAAC,CAAC,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,KAAK,SAAS,EAAE;QAC3C,CAAC,CAAC,GAAG,IAAI,GAAG,MAAM,KAAK,MAAM,EAAE,CACpC,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"response-budget.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/response-budget.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAO5C;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,OAAO,EAAE,SAAS,CAAC,EAAE,EACrB,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,EAC7B,aAAa,EAAE,MAAM,GACpB,MAAM,CASR;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC3C,MAAM,CAMR;AAED,yEAAyE;AACzE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE/F"}
1
+ {"version":3,"file":"response-budget.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/response-budget.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAO5C;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,OAAO,EAAE,SAAS,CAAC,EAAE,EACrB,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,EAC7B,aAAa,EAAE,MAAM,GACpB,MAAM,CASR;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC3C,MAAM,CASR;AAED,yEAAyE;AACzE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE/F"}
@@ -4,6 +4,7 @@
4
4
  * `structuredContent` and to the `content[]` text alike.
5
5
  * @module mcp-server/tools/response-budget
6
6
  */
7
+ import { escapeMarkdownInline } from '@cyanheads/mcp-ts-core/utils';
7
8
  /**
8
9
  * UTF-8 byte cap on each response surface: the serialized `structuredContent`, and all
9
10
  * `content[]` text including the enrichment trailer.
@@ -43,7 +44,7 @@ export function countWithinBudget(records, render, overheadBytes) {
43
44
  * is reserved nine bytes beyond its value.
44
45
  */
45
46
  export function pageOverheadBytes(skeleton, text, enrichment) {
46
- const trailer = Object.values(enrichment).reduce((sum, value) => sum + utf8Bytes(value) + 9, 2);
47
+ const trailer = Object.values(enrichment).reduce((sum, value) => sum + utf8Bytes(escapeMarkdownInline(value)) + 9, 2);
47
48
  return Math.max(utf8Bytes(JSON.stringify({ ...skeleton, ...enrichment })), utf8Bytes(text) + trailer);
48
49
  }
49
50
  /** The notice for a page the budget ended before `requested` records. */
@@ -1 +1 @@
1
- {"version":3,"file":"response-budget.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/response-budget.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAE5C,mCAAmC;AACnC,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAqB,EACrB,MAA6B,EAC7B,aAAqB;IAErB,IAAI,IAAI,GAAG,aAAa,CAAC;IACzB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACnF,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,GAAG,qBAAqB;YAAE,MAAM;QACrD,KAAK,EAAE,CAAC;IACV,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAgB,EAChB,IAAY,EACZ,UAA4C;IAE5C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAChG,OAAO,IAAI,CAAC,GAAG,CACb,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC,EACzD,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAC1B,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,SAAiB,EAAE,UAAkB;IACrF,OAAO,YAAY,QAAQ,WAAW,SAAS,6CAA6C,qBAAqB,CAAC,cAAc,CAAC,OAAO,CAAC,oDAAoD,UAAU,gBAAgB,CAAC;AAC1N,CAAC"}
1
+ {"version":3,"file":"response-budget.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/response-budget.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAE5C,mCAAmC;AACnC,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAqB,EACrB,MAA6B,EAC7B,aAAqB;IAErB,IAAI,IAAI,GAAG,aAAa,CAAC;IACzB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACnF,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,GAAG,qBAAqB;YAAE,MAAM;QACrD,KAAK,EAAE,CAAC;IACV,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAgB,EAChB,IAAY,EACZ,UAA4C;IAE5C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAC9C,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAChE,CAAC,CACF,CAAC;IACF,OAAO,IAAI,CAAC,GAAG,CACb,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC,EACzD,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAC1B,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,SAAiB,EAAE,UAAkB;IACrF,OAAO,YAAY,QAAQ,WAAW,SAAS,6CAA6C,qBAAqB,CAAC,cAAc,CAAC,OAAO,CAAC,oDAAoD,UAAU,gBAAgB,CAAC;AAC1N,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyanheads/cpsc-recalls-mcp-server",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "mcpName": "io.github.cyanheads/cpsc-recalls-mcp-server",
5
5
  "description": "Search and retrieve US consumer product recalls from the CPSC (Consumer Product Safety Commission) via MCP. STDIO or Streamable HTTP.",
6
6
  "type": "module",
@@ -12,6 +12,7 @@
12
12
  "files": [
13
13
  "changelog/",
14
14
  "dist/",
15
+ "!dist/*.mcpb",
15
16
  "README.md",
16
17
  "LICENSE",
17
18
  "CLAUDE.md",
@@ -77,7 +78,7 @@
77
78
  }
78
79
  ],
79
80
  "license": "Apache-2.0",
80
- "packageManager": "bun@1.4.0",
81
+ "packageManager": "bun@1.4.4",
81
82
  "engines": {
82
83
  "bun": ">=1.4.0",
83
84
  "node": ">=24.0.0"
@@ -86,18 +87,20 @@
86
87
  "access": "public"
87
88
  },
88
89
  "dependencies": {
89
- "@cyanheads/mcp-ts-core": "^0.13.6",
90
- "pino-pretty": "^13.1.3",
91
- "zod": "^4.6.5"
90
+ "@cyanheads/mcp-ts-core": "^0.13.16",
91
+ "pino-pretty": "^13.2.0",
92
+ "zod": "^4.6.7"
92
93
  },
93
94
  "devDependencies": {
94
- "@biomejs/biome": "^2.5.14",
95
- "@socketsecurity/bun-security-scanner": "^1.1.2",
96
- "@types/node": "^26.6.2",
95
+ "@biomejs/biome": "^2.6.2",
96
+ "@socketsecurity/bun-security-scanner": "^1.1.3",
97
+ "@types/markdown-it": "^14.2.0",
98
+ "@types/node": "^26.6.5",
97
99
  "depcheck": "^1.4.7",
98
- "ignore": "^7.0.9",
99
- "tsc-alias": "^1.9.5",
100
+ "ignore": "^7.0.13",
101
+ "markdown-it": "^15.0.3",
102
+ "tsc-alias": "^1.9.8",
100
103
  "typescript": "^7.0.2",
101
- "vitest": "^5.0.1"
104
+ "vitest": "^5.0.5"
102
105
  }
103
106
  }
package/server.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
3
  "name": "io.github.cyanheads/cpsc-recalls-mcp-server",
4
- "description": "US consumer product recalls from the CPSC — hazards, remedies, and affected products.",
4
+ "description": "US consumer product recalls from the CPSC: hazards, remedies, and affected products.",
5
5
  "repository": {
6
6
  "url": "https://github.com/cyanheads/cpsc-recalls-mcp-server",
7
7
  "source": "github"
8
8
  },
9
- "version": "0.2.1",
9
+ "version": "0.2.3",
10
10
  "remotes": [
11
11
  {
12
12
  "type": "streamable-http",
@@ -18,18 +18,8 @@
18
18
  "registryType": "npm",
19
19
  "registryBaseUrl": "https://registry.npmjs.org",
20
20
  "identifier": "@cyanheads/cpsc-recalls-mcp-server",
21
- "runtimeHint": "bun",
22
- "version": "0.2.1",
23
- "packageArguments": [
24
- {
25
- "type": "positional",
26
- "value": "run"
27
- },
28
- {
29
- "type": "positional",
30
- "value": "start:stdio"
31
- }
32
- ],
21
+ "runtimeHint": "npx",
22
+ "version": "0.2.3",
33
23
  "environmentVariables": [
34
24
  {
35
25
  "name": "MCP_LOG_LEVEL",
@@ -47,19 +37,15 @@
47
37
  "registryType": "npm",
48
38
  "registryBaseUrl": "https://registry.npmjs.org",
49
39
  "identifier": "@cyanheads/cpsc-recalls-mcp-server",
50
- "runtimeHint": "bun",
51
- "version": "0.2.1",
52
- "packageArguments": [
40
+ "runtimeHint": "npx",
41
+ "version": "0.2.3",
42
+ "environmentVariables": [
53
43
  {
54
- "type": "positional",
55
- "value": "run"
44
+ "name": "MCP_TRANSPORT_TYPE",
45
+ "description": "Selects the HTTP transport.",
46
+ "format": "string",
47
+ "value": "http"
56
48
  },
57
- {
58
- "type": "positional",
59
- "value": "start:http"
60
- }
61
- ],
62
- "environmentVariables": [
63
49
  {
64
50
  "name": "MCP_HTTP_HOST",
65
51
  "description": "The hostname for the HTTP server.",