World Monitor
ข่าวกรองโลกแบบเรียลไทม์: ความขัดแย้ง ตลาด พลังงาน การค้า การขนส่ง และไซเบอร์
ยังไม่มีคำอธิบายภาษาไทย ดูข้อเท็จจริงด้านล่าง หรือเปิดคำอธิบายต้นฉบับจากผู้ทำ
Household recall checks over public CPSC, openFDA, EMA and EU Safety Gate data. No API key.เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ผลตรวจผ่าน 3/3 · ทำงานบนเครื่องคุณ
ขั้นแรก: คุณใช้ AI ตัวไหน
เลือกแอปที่คุณใช้ ขั้นตอนจะขึ้นด้านล่าง
ต่อกับ Claude ได้ แต่ต้องเตรียมก่อน
ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ
ไฟล์ .mcpb มาจากผู้ทำโดยตรง เราไม่ได้แก้ไฟล์
ใช้ Household Recall Watch บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude บอกว่ากำลังใช้ Household Recall Watch หรือมีชื่อเครื่องมือของ Household Recall Watch ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ChatGPT ยังต่อ Household Recall Watch ไม่ได้
Household Recall Watch ต้องติดตั้งในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะตัวที่ทำงานบนเว็บ
ก · ใช้แอปที่ต่อ Household Recall Watch ได้
ข · ตัวอื่นในหมวด อื่น ๆ ที่ต่อกับ ChatGPT ได้
เลือกจากตัวที่ใช้มากในหมวดเดียวกัน เฉพาะตัวที่ต่อด้วยที่อยู่ได้โดยไม่ต้องใส่คีย์
Claude Code ยังต่อ Household Recall Watch ไม่ได้
ผู้ทำมีแต่ไฟล์ติดตั้งสำหรับแอป Claude บนคอม
ก · ใช้แอปที่ต่อ Household Recall Watch ได้
Cursor ยังต่อ Household Recall Watch ไม่ได้
ผู้ทำมีแต่ไฟล์ติดตั้งสำหรับแอป Claude บนคอม
ก · ใช้แอปที่ต่อ Household Recall Watch ได้
VS Code ยังต่อ Household Recall Watch ไม่ได้
ผู้ทำมีแต่ไฟล์ติดตั้งสำหรับแอป Claude บนคอม
ก · ใช้แอปที่ต่อ Household Recall Watch ได้
ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569
ติดตั้งบนเครื่องได้ใน
ClaudeGooseLM StudioMsty StudioCherry StudioVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 13 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub MGrin ซึ่งเป็นเจ้าของ repo
มีการแก้โค้ดล่าสุด 40 วันที่ผ่านมา
ใช้ MIT
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
ถาม แชร์เคล็ดลับ หรือแจ้งว่าใช้ไม่ได้ เรียงตามที่คนกดว่ามีประโยชน์
ยังไม่มีใครโพสต์ ถามหรือแชร์เป็นคนแรกได้เลย
ข้อความในส่วนนี้เขียนโดยผู้ใช้ ไม่ใช่ทีม PopNx
ยังไม่มีรีวิว
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด 40 วันที่ผ่านมา และส่งรุ่นล่าสุด (0.2.1) เข้า registry 40 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี MCPB ในเครื่องด้วย
ในหมวดเดียวกันมี World Monitor, Claude Flow, Windmill
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
ข่าวกรองโลกแบบเรียลไทม์: ความขัดแย้ง ตลาด พลังงาน การค้า การขนส่ง และไซเบอร์
AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.
Run Windmill scripts and flows and manage jobs, schedules, resources and variables.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
A self-hosted Model Context Protocol server that lets a voice assistant answer household safety questions from public government recall data:
Every answer carries a short spoken sentence for the voice reply, plus structured detail with the source URL and date of every item. No API keys, no accounts, no LLM needed to run it.
Built for the Amazon Developer Hackathon, Alexa+ track. MCP spec 2025-11-25, Streamable HTTP, stateless, @modelcontextprotocol/sdk 1.30.1.
This is a simulated smart-display experience backed by a real MCP server; it has not been connected to an Alexa+ device. See the judge-run guide, the verification record and the friction log.
Not medical or safety advice. Recall and shortage data can be incomplete or late. Always check
the linked notice, and ask a pharmacist, doctor or the manufacturer before acting. Never stop a
prescribed medicine on your own.
Node 20 or newer. One process serves the MCP server at /mcp, the voice UI at / and the agent at POST /api/ask:
npm ci && npm start
Judge path.
npm start, open http://127.0.0.1:3000/. The badge reads *Scripted mode, no LLM*: a fixed phrase-to-tool mapping stands in for the model, but the MCP calls and the recall data are real and live. Try the suggestion chips, or drive it from the URL: http://127.0.0.1:3000/?q=Watch%20my%20crib%20mattress&q=Has%20anything%20in%20my%20house%20been%20recalled%3FOPENAI_API_KEY outside the repository and run npm start. The badge identifies the selected model (gpt-6-luna by default). This path was run live on 2026-10-02 with that model; other models were not exercised (EVIDENCE.md).Or Docker:
docker build -t recall-radar-mcp . && docker run --rm -p 3000:3000 recall-radar-mcp
docker run --rm -p 3000:3000 -e OPENAI_API_KEY recall-radar-mcp # with a model
| env | default | meaning |
|---|---|---|
PORT | 3000 | HTTP port |
HOST | 127.0.0.1 (0.0.0.0 in Docker) | bind address |
WATCHLIST_PATH | ./data/watchlist.json | where the household watchlist is stored; CPSC's last good responses are saved beside it as cpsc-cache.json |
ALLOWED_ORIGINS | *(none)* | extra browser Origins allowed besides localhost (comma-separated, * for any) |
MODEL_PROVIDER | openai if OPENAI_API_KEY is set, else scripted | openai, ollama or scripted |
OPENAI_API_KEY | *(none)* | OpenAI key; never logged or sent to the browser |
OPENAI_MODEL | gpt-6-luna | any Chat Completions model with function calling |
OPENAI_REASONING_EFFORT | none | sent as reasoning_effort; GPT-6 models refuse function tools on Chat Completions without none. Set omit for a model that rejects the field |
OPENAI_BASE_URL | https://api.openai.com/v1 | for an OpenAI-compatible gateway |
OLLAMA_URL / OLLAMA_MODEL | http://127.0.0.1:11434 / llama3.1 | Ollama's OpenAI-compatible endpoint (/v1/chat/completions) |
MCP_URL | this process's own /mcp | point the agent at another Recall Radar MCP server |
Endpoints: POST /mcp (MCP Streamable HTTP, stateless: no session id, no GET stream), GET /healthz, GET / (the UI), POST /api/ask ({"q": "...", "history": [...]}), GET /api/config, GET /api/watchlist. A stdio entry is also included: npm run start:stdio.
The stdio entry is listed in the MCP Registry as io.github.MGrin/household-recall-watch (server.json). Its package is an MCPB bundle attached to the GitHub release; npm run pack:mcpb rebuilds it and prints the SHA-256 that server.json must carry. The bundle keeps its watchlist at ~/.recall-radar/watchlist.json. Publishing is .github/workflows/publish-mcp.yml: on a v* tag (or gh workflow run publish-mcp.yml --ref vX.Y.Z) it checks the release bundle against server.json, then publishes with GitHub OIDC. Attach the bundle to the GitHub release before the workflow runs.
If your machine reaches the internet only through an HTTP proxy, Node's built-in fetch ignores HTTPS_PROXY unless you set NODE_USE_ENV_PROXY=1 (Node 24+). That applies to the OpenAI calls too.
The track allows *"a simulated Alexa+ experience in a web app"*; this is ours, named Recall Radar and using no third-party marks.
SpeechRecognition). Where that is missing the mic is disabled and the text box does the same job. Microphone behavior still needs a real-device check.speechSynthesis, with a mute toggle; a light bar along the bottom edge shows listening, thinking and speaking. Speaker output still needs a real-device check.?q=... asks on load; repeat it (?q=a&q=b) for a scripted walkthrough, and add mute=1 for silent capture.src/agent/)agent.ts is a real MCP client (SDK Client + StreamableHTTPClientTransport): per question it connects to /mcp, lists the tools, maps them to the model's function format and runs the tool-call loop, capped at 6 model steps. Tool results go back to the model as the tool's structuredContent. A ModelAdapter (types.ts) is one method: messages + tools in, text or tool calls out.
| adapter | status |
|---|---|
openai (openai.ts) | OpenAI Chat Completions with tools over plain fetch, no SDK. Unit-tested against recorded-shape responses, including a 3-step tool loop. Run against the live API with gpt-6-luna on 2026-10-02 (EVIDENCE.md). |
ollama | The same class pointed at Ollama's OpenAI-compatible endpoint. Untested: Ollama was not installed on the build machine. |
scripted (scripted.ts) | Deterministic: a few phrasings map to one tool call, and the reply is the tool's own spoken sentence (first item only). Used by the tests and the no-key demo. |
The system prompt (prompt.ts) keeps answers voice-first (two or three sentences: hazard, official remedy, what to do now), grounds every claim in a tool result, and forbids medical advice beyond the official remedy text.
MCP Inspector (no LLM key needed):
npx @modelcontextprotocol/inspector
In the Inspector UI choose transport Streamable HTTP, URL http://127.0.0.1:3000/mcp, Connect, then *Tools → List Tools* and call any tool.
From the terminal, with the bundled SDK client:
npm run call # list tools
npm run call -- search_product_recalls '{"query":"stroller","limit":3}' npm run call -- watchlist_add '{"name":"crib mattress","kind":"product"}' npm run call -- check_my_household '{}'
Eight tools. search_eu_product_recalls was added in v0.2.0, after the demo video was recorded; the video shows and says seven.
| tool | what it answers | sources |
|---|---|---|
search_product_recalls | "Has my stroller / space heater / crib been recalled?" | CPSC, openFDA device |
search_food_recalls | "Is there a recall on peanut butter?" "Any listeria recalls?" | openFDA food |
search_medicine_alerts | "Is my insulin recalled or short?" (region: us, eu, all) | openFDA drug, EMA shortages |
watchlist_add | "Keep an eye on my Graco stroller." (kind: product, food, medicine, any) | local file |
watchlist_list | "What am I watching?" | local file |
watchlist_remove | "Stop watching the stroller." | local file |
search_eu_product_recalls (v0.2.0) | "Was my USB charger recalled in the EU?" By product, brand, model or barcode (default: last 28 days, at most the 12 latest weekly reports) | EU Safety Gate |
check_my_household | "Has anything in my house been recalled?" (default: last 180 days) | CPSC, openFDA, EMA, by item kind (not Safety Gate) |
Each tool declares a zod input schema and an outputSchema; results come back as structuredContent (validated by the SDK) and as text. Each recall is normalised to:
{ source, id, title, hazard, remedy, date /* YYYY-MM-DD */, products[], url, summary /* one spoken sentence */ }
If one upstream is down, the others still answer and the result lists a warning; if every source for a question is down, the tool returns a clean MCP tool error (isError: true).
CPSC's API has answered some URLs and 503'd others, consistently per URL, for days at a time (seen 2026-10-02 to 10-04). So a CPSC read tries the window's own URL, then the same window without the product filter, then up to three EARLIER start dates (the 1st of the month, the 1st of the month before, a few dates that answered during the outage), and filters the rows here to the requested window: at most 6 requests in 20 seconds. When an earlier URL served the answer, the result says so in notes, naming that URL. Every good CPSC response is also saved beside the watchlist (cpsc-cache.json, the last 8 URLs, each with its fetch time). If every live attempt fails, the rows of the freshest saved copy that fall inside the window are served, each summary ending "From a saved copy of CPSC data fetched ; CPSC could not be reached live", and a warning names the fetch time; with no saved copy, CPSC is reported unavailable. Nothing else is invented.
Every upstream request has a 10-second timeout (20 seconds for Safety Gate). The EMA file is cached for an hour in memory, because EMA rate-limits repeated downloads. Safety Gate publishes one weekly report every Friday, each about 200-300 KB and 3-6 seconds to serve (2026-10-02): a search reads at most 12 reports, four at a time, caches the index for an hour and each published report for the life of the process. A cold four-week search took about 5 seconds; a repeat answers from the cache. When the window holds more than 12 reports, since in the answer is the oldest report actually read.
| source | endpoint | terms |
|---|---|---|
| US Consumer Product Safety Commission | saferproducts.gov/RestWebServices/Recall | US government work, public domain |
| openFDA enforcement reports (food, drug, device) | api.fda.gov/{food,drug,device}/enforcement.json | public domain / CC0 per open.fda.gov/license; openFDA's own disclaimer: do not rely on it for medical-care decisions. Keyless use is rate-limited (terms). |
| European Medicines Agency, medicine shortages catalogue | ema.europa.eu/en/documents/report/shortages-output-json-report_en.json | reuse permitted with EMA acknowledged as the source (legal notice); every EMA item carries its EMA URL |
| European Co