Releases: cyanheads/cpsc-recalls-mcp-server
Release list
v0.1.4: mcp-ts-core ^0.10.9, plugin-manifest checks
mcp-ts-core ^0.10.9, plugin-manifest checks
Framework and toolchain refresh adopting mcp-ts-core 0.10.7-0.10.9. No tool surface or behavior change — the three CPSC tools are unaffected.
Added:
- devcheck.config.json packaging.pluginManifests flag — opts into lint:packaging plugin-manifest validation (descriptions, unscoped display fields, full-name install arg)
- scripts/check-dependency-specifiers.ts — devcheck guard against floating dependency specifiers in package.json and the bun.lock workspaces map
Changed:
- devcheck fresh-scaffold guards re-synced (build-changelog, devcheck, check-framework-antipatterns, check-skill-versions): empty-tree changelog check, git-absent skips, deleted-SKILL.md guard
- 14 skills//SKILL.md re-synced from the framework (api- body drift, git-wrapup + orchestrations guidance)
Picks up upstream: ctx.content image/audio collector, Canvas SQL invalid_sql classification, DuckdbProvider.describe() ambiguous-column fix.
Dependency bumps:
- @cyanheads/mcp-ts-core ^0.10.6 -> ^0.10.9
- @biomejs/biome ^2.4.16 -> ^2.5.0 (dev)
- @types/node ^25.9.3 -> ^26.0.0 (dev)
- vitest ^4.1.8 -> ^4.1.9 (dev)
21 tests pass; bun run devcheck clean.
v0.1.3: mcp-ts-core ^0.10.6, packaging + identity adoption
mcp-ts-core ^0.10.6, packaging + identity adoption
Framework and toolchain refresh adopting the mcp-ts-core 0.10.x scaffold improvements. No tool surface or behavior change — the three CPSC tools are unaffected.
Added:
- Explicit name/title identity pair in createApp() (machine name on initialize + /.well-known/mcp.json)
- scripts/clean-mcpb.ts post-pack bundle cleaner (mcpb clean + strip node_modules agent docs)
- lint-packaging.ts checks 5-9: bundle-content guards, post-bundle content, name/title/display_name identity
- coerce-boolean-env-flag antipattern rule (z.coerce.boolean() -> z.stringbool())
- Dockerfile HEALTHCHECK against /healthz
- orchestrations and techniques skills
Changed:
- Dockerfile org.opencontainers.image.version from APP_VERSION build arg
- .mcpbignore patterns anchored to root
Dependency bumps:
- @cyanheads/mcp-ts-core ^0.9.19 -> ^0.10.6
- typescript ^5.9.3 -> ^6.0.3 (dev)
- @types/node ^25.6.0 -> ^25.9.3 (dev)
- @biomejs/biome ^2.4.7 -> ^2.4.16 (dev)
- tsc-alias ^1.8.16 -> ^1.8.17 (dev)
21 tests pass; bun run devcheck clean.
v0.1.2: Public hosted endpoint
Public hosted endpoint
A public Streamable HTTP instance is now available at cpsc-recalls.caseyjhand.com/mcp.
Added:
- Public hosted endpoint at https://cpsc-recalls.caseyjhand.com/mcp
- server.json remotes array (type: streamable-http)
- README Public Hosted Instance section and centered hosted link
21 tests pass; bun run devcheck clean.
v0.1.1: Initial public release
Initial public release
MCP server for US consumer product recalls from the CPSC saferproducts.gov API.
Added:
cpsc_search_recalls— search by product, brand, retailer, importer, or keyword; optional date window and limitcpsc_get_recall— full recall detail by number: hazards, remedy options, affected products, consumer contactcpsc_get_recent— recent recalls feed by date window (default: past 30 days)manifest.jsonMCPB bundle for one-click Claude Desktop install- Plugin manifests populated (.claude-plugin, .codex-plugin)
Fixed:
ctx.failerror cause moved to correct fourth argument across all handlerscpsc_get_recallhazard filter applied before mapdate_start/date_endnow enforce ISO 8601 YYYY-MM-DD via JSON Schemapattern
21 tests pass; bun run devcheck clean.