原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Cpsc Recalls MCP Server

作者:cyanheads版本 0.3.1i★ –i电脑或云端
注册名称io.github.cyanheads/cpsc-recalls-mcp-server

安装

概览

作者提供的说明(英文原文)

US consumer product recalls from the CPSC: hazards, remedies, and affected products.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

你需要

  • 在云端运行无需安装任何东西,通过互联网连接
  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

适用于网页版、桌面版和手机版 Claude:

  1. 打开 Settings → Connectors
  2. 点击 Add custom connector
  3. 粘贴下面的地址,然后点击 Add
  4. 如果要求登录,请登录作者的服务
SettingsConnectors1+ Add2https://…3
https://cpsc-recalls.caseyjhand.com/mcp

或者在你的电脑上运行

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "cpsc-recalls": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/cpsc-recalls-mcp-server"
      ],
      "env": {
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add --transport http cpsc-recalls https://cpsc-recalls.caseyjhand.com/mcp

或者在你的电脑上运行

claude mcp add cpsc-recalls --env MCP_LOG_LEVEL=your-value -- npx -y @cyanheads/cpsc-recalls-mcp-server

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "cpsc-recalls": {
      "url": "https://cpsc-recalls.caseyjhand.com/mcp"
    }
  }
}

或者在你的电脑上运行

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "cpsc-recalls": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/cpsc-recalls-mcp-server"
      ],
      "env": {
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "cpsc-recalls": {
      "type": "http",
      "url": "https://cpsc-recalls.caseyjhand.com/mcp"
    }
  }
}

或者在你的电脑上运行

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "cpsc-recalls": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/cpsc-recalls-mcp-server"
      ],
      "env": {
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

ChatGPT 只能连接互联网上的服务器:

  1. 打开网页版 ChatGPT → Settings → Connectors (Apps)
  2. 点击 Create 或 Add(部分套餐需要先在 Advanced 中开启 Developer mode)
  3. 粘贴下面的地址,起个名字,然后保存
  4. 如果要求登录,请登录作者的服务
SettingsConnectors1+ Create2https://…3
https://cpsc-recalls.caseyjhand.com/mcp

菜单名称可能因套餐和版本不同而略有差异。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • MCP_LOG_LEVEL env
    Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

工具名称和描述与服务器在 2026年11月7日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。

  • cpsc_search_recalls

    Search consumer product recalls from the CPSC (Consumer Product Safety Commission) — toys, electronics, furniture, appliances, children's products, tools, and clothing. Give at least one text filter or date bound; to browse the latest recalls without one, use cpsc_get_recent. Fil

  • cpsc_get_recall

    Fetch the full record for one CPSC recall by recall number: hazard description, remedy instructions, every product variant, UPCs, incident and injury reports, images, and the official CPSC recall page URL. Get a recall number from cpsc_search_recalls or cpsc_get_recent. CPSC juri

  • cpsc_get_recent

    Fetch the most recent CPSC consumer product recalls, newest-first, from a window of the last N days (default 30, up to 365). Use for "what's been recalled lately?" or a product safety feed; to find recalls by product, brand, hazard, or an older date range, use cpsc_search_recalls

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 cyanheads 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • ✓ 通过

    端点有响应

    在 463 毫秒内响应(HTTP 200)

  • – 不适用

    使用 OAuth 登录

    无需登录

  • ✓ 通过

    工具描述中没有隐藏指令

    已读取 3 个工具描述,未发现针对 AI 的隐藏指令

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 18433 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 18433 个服务器的 80% 更新
  • 基础检查结果等于或优于此分类中其他 18433 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Cpsc Recalls MCP Server 安全吗?

它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

两种方式都可以:安装在你的电脑上,或者连接云端版本。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.3.1)于10天前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, MyGroceryPal

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

作者:formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

在你的电脑上运行★ 440MIT14个月前更新
安装

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

在云端运行★ 2113天前更新
安装

MyGroceryPal

作者:mygrocerypal.co.uk

UK supermarket prices: compare products and baskets across 13 stores, see price history, set alerts.

在云端运行今天更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

@cyanheads/cpsc-recalls-mcp-server Search and retrieve US consumer product recalls from the CPSC (Consumer Product Safety Commission) via MCP. STDIO or Streamable HTTP. 3 Tools • 1 Skill

Public Hosted Server: https://cpsc-recalls.caseyjhand.com/mcp


Overview

Consumer product recalls from the CPSC saferproducts.gov database — toys, electronics, furniture, appliances, children's products, tools, and clothing. Search recalls by product, brand, retailer, or hazard, fetch full detail for a specific recall number, or pull a recent-recalls feed for a date window.

Tools
ToolDescription
cpsc_search_recallsSearch consumer product recalls by title, product name, brand, retailer, importer, distributor, hazard, remedy, or description keyword, with optional date filtering and offset paging
cpsc_get_recallFull detail for a single recall by recall number — hazards, remedy, products, injuries, images, and the official CPSC page
cpsc_get_recentFetch the most recent recalls ordered newest-first, scoped to a configurable date window
Skills
SkillDescription
cpsc-recalls-guideFind and confirm US consumer product recalls with the cpsc_* tools — search formulation, recall-number quirks, and when an empty result proves nothing

CPSC covers consumer products, including some that sit next to another agency's domain: child-resistant packaging for drugs and supplements, ATVs and snowmobiles, bicycle tires, and gun safes and locks. Food and drugs (FDA), on-road vehicles and their tires (NHTSA), boats (USCG), pesticides (EPA), and firearms (ATF) belong to other agencies; every response carries this jurisdiction note.

Capability reference

cpsc_search_recalls tool
  • At least one criterion, combined with AND: nine text filters of up to 500 characters each (title_search, usually the highest-signal, plus product_name, manufacturer, retailer, importer, distributor, description_search, remedy, hazard_search) and two date axes (date_start/date_end for the issue date, updated_start/updated_end for the last CPSC publish date); limit (1–10,000, default 20; a page holds at most 200) and offset page through total_found
  • Each text filter matches every word, in any order, as a case-insensitive substring with no stemming — search a stem (batter finds battery and batteries)
  • Returns the issue and last-published dates, hazards, remedy options and instructions, products, UPCs, manufacturer, importer, retailer, and distributor names, images, cpsc_url, and per-recall data_quality_notes; zero matches is an empty success whose effectiveQuery echoes the criteria and whose notice names the criterion to relax. Failures: missing_criteria, invalid_date_range, upstream_rejected (not retryable), upstream_error (retryable)
  • has_more is the paging signal; a page cut short by the 64,000-byte response budget, or held to 200 under a larger limit, carries a notice with the offset to continue from

cpsc_get_recall tool
  • One recall_number: 5 digits ("25043"), with a letter a–d on some 1998–2001 records ("99003a"); only the record with exactly that number is returned
  • Returns the complete record — nullable description (where model numbers usually live), hazards, remedy options and instructions, every product variant, UPCs, injury narrative, company names by role, country of manufacture, images, coordinated-agency recall URLs, and data_quality_notes
  • Failures: not_found (resolve a number through cpsc_search_recalls or cpsc_get_recent; for the bare base of a lettered family such as 01160, the hint names the separate lettered recalls 01160a, 01160b, 01160c), upstream_rejected (not retryable), upstream_error (retryable)

cpsc_get_recent tool
  • days look-back window (1–365, default 30) anchored to today; limit (1–10,000, default 20; a page holds at most 100) and offset page through total_found, since narrowing days drops the oldest recalls rather than paging. Older recalls are reachable through cpsc_search_recalls date bounds
  • Returns a lightweight record per recall — number, date, title, hazards, remedy types, product names, cpsc_url, data_quality_notes — for cpsc_get_recall to expand; has_more is the paging signal, and an empty window, an offset past the end, a budget-cut page, or a page held to 100 under a larger limit carries a notice. Failures: upstream_rejected (not retryable), upstream_error (retryable)

cpsc-recalls-guide skill
  • Helps an agent check whether a specific product, model, serial, or UPC was recalled, sweep a brand's or retailer's recall history, monitor new or republished recalls for a hazard, and decide whether a product is CPSC's at all
  • Served over MCP as the resource skill://cpsc-recalls-guide/SKILL.md under the template skill://{+path}; also ships in skills/ for plugin installs and the .mcpb bundle

Features

Built on @cyanheads/mcp-ts-core: stdio and Streamable HTTP transports, pluggable auth (none / jwt / oauth), swappable storage (in-memory, filesystem, Supabase, Cloudflare KV/R2/D1), structured logging with optional OpenTelemetry tracing.

CPSC-specific:

  • Full client for the CPSC saferproducts.gov public recalls API — search, single-recall detail, and a recent-recalls feed
  • Every-word matching on all nine text filters — each word in any order, as a case-insensitive substring with no stemming, against the plain text the results show — applied over the complete result set before paging so total_found and has_more stay accurate; hazard_search (alias hazard) covers hazard text, product names, and remedy instructions
  • Handles 5-digit recall numbers and the lettered numbers some 1998–2001 records carry, matching the requested number exactly
  • One 50-second budget per call covers every CPSC attempt and retry, so a stalled request ends as a retryable upstream_error before an MCP client's default 60-second timeout
  • Jurisdiction boundary documented in every response — names the drug-packaging, vehicle, tire, and gun-safe products CPSC does recall, and the agencies that own the rest

Agent-friendly output:

  • Provenance on every response — source_note, cpsc_url, and (CPSC source text) blockquote labels distinguish relayed CPSC narrative from the server's own guidance
  • Plain text on both surfaces — the HTML markup and character codes CPSC stores in some records (&, `

, stray table tags) are converted to plain text before matching and output, and content[] escapes Markdown so model and serial numbers such as 1HFVE05**K4000003` keep every character; recall pages and coordinated recalls render as links, and product images render inline with their captions; HTTP(S) addresses preserve CPSC’s URL values on both surfaces, while other schemes remain visible as text

  • Pagination discriminators — total_found, offset, has_more, and truncated on every search/recent response so agents can tell when results are clipped and page with offset; each surface of a page stays within a 64,000-byte budget, and a notice gives the next offset when the budget or the page ceiling ends a page early; an oversized limit is served at the page ceiling rather than rejected
  • data_quality_notes on every response — gaps observed in the upstream record (missing hazard text, no product entries), derived from which fields CPSC left blank rather than any judgment call
  • Jurisdiction note (cpsc_jurisdiction) on every response — lets agents route callers to the correct agency (FDA, NHTSA, USCG, EPA, ATF) when a product is out of scope

Getting started

Connect to the hosted instance (Streamable HTTP, stateless), no install:

claude mcp add --transport http cpsc-recalls-mcp-server https://cpsc-recalls.caseyjhand.com/mcp

Or run it locally:

claude mcp add cpsc-recalls-mcp-server -- npx -y @cyanheads/cpsc-recalls-mcp-server

For other clients, add this to the MCP config file:

{

"mcpServers": { "cpsc-recalls-mcp-server": { "command": "npx", "args": ["-y", "@cyanheads/cpsc-recalls-mcp-server"] } } }

No API key is required — the CPSC public recalls API is freely accessible. For Docker or a source build, see Running the server.

Configuration

All configuration is validated at startup via Zod schemas. Key environment variables:

VariableDescriptionDefault
MCP_TRANSPORT_TYPETransport: stdio or httpstdio
MCP_HTTP_PORTHTTP server port3010
MCP_HTTP_HOSTHTTP server host127.0.0.1
MCP_HTTP_ENDPOINT_PATHHTTP endpoint path/mcp
MCP_PUBLIC_URLPublic origin for TLS-terminating reverse-proxy deployments—
MCP_SESSION_MODESession handling: auto, stateful, or stateless. The server declares stateless in src/index.ts; setting this overrides it.stateless
MCP_AUTH_MODEAuthentication: none, jwt, or oauthnone
MCP_LOG_LEVELLog level (debug, info, warning, error)info
LOGS_DIRDirectory for log files (Node.js only) /logs
LOG_TOOL_FAILURE_PAYLOADSLog each failed tool call's arguments and result, redacted by key name and capped at LOG_TOOL_FAILURE_PAYLOAD_MAX_BYTES (default 16384). A secret inside a free-form value is not redacted.false
STORAGE_PROVIDER_TYPEStorage backend: in-memory, filesystem, supabase, cloudflare-kv/r2/d1in-memory
OTEL_ENABLEDEnable OpenTelemetryfalse

No server-specific API keys are required. See

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx