{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-05T19:31:37.929Z","url":"https://verifymcp.io/servers/mgrin-household-recall-watch/household-recall-watch","markdownUrl":"https://verifymcp.io/servers/mgrin-household-recall-watch/household-recall-watch.md","server":{"slug":"mgrin-household-recall-watch","name":"Household Recall Watch","registryName":"io.github.MGrin/household-recall-watch","description":"Household recall checks over public CPSC, openFDA, EMA and EU Safety Gate data. No API key.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"household-recall-watch","type":"mcpb","identifier":"https://github.com/MGrin/recall-radar-mcp/releases/download/v0.2.1/household-recall-watch.mcpb","withdrawn":false,"url":"https://verifymcp.io/servers/mgrin-household-recall-watch/household-recall-watch","version":null,"transport":"stdio","scoredAt":"2026-11-05T00:40:33.871Z"},"score":{"total":61,"tier":"medium","status":"scored","weekDelta":1,"history":[{"date":"2026-11-05","total":61},{"date":"2026-11-04","total":61},{"date":"2026-11-03","total":61},{"date":"2026-11-02","total":61},{"date":"2026-11-01","total":61},{"date":"2026-10-31","total":61},{"date":"2026-10-30","total":60},{"date":"2026-10-29","total":60},{"date":"2026-10-28","total":59},{"date":"2026-10-27","total":59},{"date":"2026-10-26","total":58},{"date":"2026-10-25","total":58},{"date":"2026-10-24","total":57},{"date":"2026-10-23","total":57},{"date":"2026-10-22","total":56},{"date":"2026-10-21","total":56},{"date":"2026-10-20","total":55},{"date":"2026-10-19","total":55},{"date":"2026-10-18","total":54},{"date":"2026-10-17","total":54},{"date":"2026-10-16","total":54},{"date":"2026-10-15","total":53},{"date":"2026-10-14","total":53},{"date":"2026-10-13","total":52},{"date":"2026-10-12","total":48},{"date":"2026-10-10","total":48},{"date":"2026-10-07","total":48},{"date":"2026-10-05","total":48},{"date":"2026-10-04","total":48},{"date":"2026-10-03","total":48}]},"categories":[{"name":"Supply Chain Security","score":23,"verdict":"partial","reasons":["No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.","Known CVEs were checked across the 94 of 94 dependencies we could resolve, so this covers what we could see, not the whole tree.","No install/post-install scripts declared.","30 of 94 dependencies flagged as unhealthy."],"codes":[{"code":"supplychain.malware_inconclusive","args":{"reason":"ecosystem_unsupported"}},{"code":"cve.tree_partial","args":{"seen":"94","resolved":"94"}},{"code":"installscript.none","args":{}},{"code":"dephealth.assessed","args":{"deps":"94","unhealthy":"30"}}]},{"name":"Provenance & Transparency","score":45,"verdict":"fail","reasons":["Source repository is publicly reachable at the declared URL.","Provenance check failed: no build-provenance attestation is published.","Clear OSI-approved license (MIT).","Actively maintained (last published 31 days ago).","Disclosure check failed: no security disclosure policy was found in the source repository."],"codes":[{"code":"provenance.repo_verified","args":{}},{"code":"provenance.none","args":{}},{"code":"license.osi","args":{"spdx":"MIT"}},{"code":"maintenance.recent","args":{"age_days":"31"}},{"code":"disclosure.absent","args":{}}]},{"name":"Schema Quality & AI Usability","score":73,"verdict":"fail","reasons":["AI-judged instruction clarity (excellent).","Context-footprint check failed: tool/resource definitions use about 1055 tokens (~131/item across 8 items; 8 tools + 0 resources), over budget; trim descriptions and params.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.ai_quality","args":{"band":"excellent"}},{"code":"schema.footprint_heavy","args":{"avg":"131","items":"8","tools":"8","tokens":"1055","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":100,"verdict":"pass","reasons":["No destabilizing schema changes in the last 30 days."],"codes":[{"code":"stability.stable","args":{}}]},{"name":"Tool Coverage","score":100,"verdict":"pass","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","100% of tool parameters carry a description.","Structured output schemas are declared (100% of tools); any adoption earns full credit."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"100"}},{"code":"toolquality.output_present","args":{"pct":"100"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.","An AI judge read all 9 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_declared","args":{"pct":"100","annotated":"1","destructive":"1"}},{"code":"toolsafety.manipulation_clean","args":{"units":"9","judged":"9"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28."],"codes":[{"code":"protocol.supported","args":{"latest":"2026-07-28","version":"2025-11-25"}}]}],"inconclusive":["No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package."],"malware":[],"components":[{"slug":"household-recall-watch","type":"mcpb","identifier":"https://github.com/MGrin/recall-radar-mcp/releases/download/v0.2.1/household-recall-watch.mcpb","withdrawn":false,"score":61,"current":true,"url":"https://verifymcp.io/servers/mgrin-household-recall-watch/household-recall-watch","markdownUrl":"https://verifymcp.io/servers/mgrin-household-recall-watch/household-recall-watch.md"}],"facts":[{"label":"Registry","value":"mcpb"},{"label":"Package","value":"https://github.com/MGrin/recall-radar-mcp/releases/download/v0.2.1/household-recall-watch.mcpb"},{"label":"Transport","value":"stdio"},{"label":"SHA-256","value":"3e0073bc2fff21edfbac55edd549174ebfca8bd74e9617eac2d3446e95be3260"}],"install":{"available":true,"bundleSha256":"3e0073bc2fff21edfbac55edd549174ebfca8bd74e9617eac2d3446e95be3260"},"tools":[{"name":"search_product_recalls","title":"Search product recalls","description":"Find recalls of household products (cribs, strollers, heaters, toys, appliances, e-bikes) and home medical devices by product name. Use when someone asks \"has my <product> been recalled?\". Searches US CPSC recalls and openFDA device recalls. Returns the hazard, the remedy, the date and a link.","inputs":[{"name":"limit","type":"integer","required":false,"description":"How many results to return, newest first. Keep it small for voice: 3 to 5."},{"name":"query","type":"string","required":true,"description":"Product name or type as the user said it, e.g. \"crib mattress\", \"space heater\"."},{"name":"since","type":"string","required":false,"description":"Only recalls on or after this date (YYYY-MM-DD). Default: one year ago."}],"outputs":[{"name":"count","type":"integer","required":true,"description":null},{"name":"disclaimer","type":"string","required":true,"description":null},{"name":"notes","type":"array","required":false,"description":"Sources that answered live, but from a different URL than the plain request (for example an earlier CPSC start date, filtered here to the window)."},{"name":"query","type":"string","required":true,"description":null},{"name":"results","type":"array","required":true,"description":null},{"name":"since","type":"string","required":true,"description":null},{"name":"spoken","type":"string","required":true,"description":"A short answer to read aloud."},{"name":"warnings","type":"array","required":true,"description":"Sources that could not be reached, or were served only from a stale saved copy; the rest still answered."}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":155},{"name":"search_food_recalls","title":"Search food recalls","description":"Find US food recalls (undeclared allergens, contamination such as Listeria or Salmonella, foreign objects) by food or brand name. Use when someone asks whether a food they bought is recalled. Source: openFDA food enforcement reports.","inputs":[{"name":"limit","type":"integer","required":false,"description":"How many results to return, newest first. Keep it small for voice: 3 to 5."},{"name":"query","type":"string","required":true,"description":"Food, ingredient or brand, e.g. \"peanut butter\", \"romaine\", \"ice cream\"."},{"name":"since","type":"string","required":false,"description":"Only reports on or after this date (YYYY-MM-DD). Default: one year ago."}],"outputs":[{"name":"count","type":"integer","required":true,"description":null},{"name":"disclaimer","type":"string","required":true,"description":null},{"name":"notes","type":"array","required":false,"description":"Sources that answered live, but from a different URL than the plain request (for example an earlier CPSC start date, filtered here to the window)."},{"name":"query","type":"string","required":true,"description":null},{"name":"results","type":"array","required":true,"description":null},{"name":"since","type":"string","required":true,"description":null},{"name":"spoken","type":"string","required":true,"description":"A short answer to read aloud."},{"name":"warnings","type":"array","required":true,"description":"Sources that could not be reached, or were served only from a stale saved copy; the rest still answered."}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":137},{"name":"search_medicine_alerts","title":"Search medicine recalls and shortages","description":"Find medicine recalls (US, openFDA drug enforcement) and medicine shortages (EU, European Medicines Agency) by brand or active ingredient. Use when someone asks whether their medicine is recalled or hard to get. Never advise stopping a medicine: the answer points to a pharmacist or doctor.","inputs":[{"name":"limit","type":"integer","required":false,"description":"How many results to return, newest first. Keep it small for voice: 3 to 5."},{"name":"query","type":"string","required":true,"description":"Medicine brand or active ingredient, e.g. \"ibuprofen\", \"Ozempic\", \"insulin\"."},{"name":"region","type":"string","required":false,"description":"\"us\" for FDA recalls only, \"eu\" for EMA shortages only, \"all\" for both."},{"name":"since","type":"string","required":false,"description":"Only items on or after this date (YYYY-MM-DD). Default: one year ago."}],"outputs":[{"name":"count","type":"integer","required":true,"description":null},{"name":"disclaimer","type":"string","required":true,"description":null},{"name":"notes","type":"array","required":false,"description":"Sources that answered live, but from a different URL than the plain request (for example an earlier CPSC start date, filtered here to the window)."},{"name":"query","type":"string","required":true,"description":null},{"name":"results","type":"array","required":true,"description":null},{"name":"since","type":"string","required":true,"description":null},{"name":"spoken","type":"string","required":true,"description":"A short answer to read aloud."},{"name":"warnings","type":"array","required":true,"description":"Sources that could not be reached, or were served only from a stale saved copy; the rest still answered."}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":174},{"name":"search_eu_product_recalls","title":"Search EU product recalls","description":"Find products flagged as dangerous in the European Union (toys, chargers, cosmetics, appliances, e-bikes, cars) by product, brand, model or barcode. Use when someone in Europe asks whether a product they bought was recalled or withdrawn. Source: EU Safety Gate weekly alerts (formerly RAPEX), up to the last 12 weekly reports. Returns the risk, the measure taken, the date and the official alert link.","inputs":[{"name":"limit","type":"integer","required":false,"description":"How many results to return, newest first. Keep it small for voice: 3 to 5."},{"name":"query","type":"string","required":true,"description":"Product, brand, model or barcode as the user said it, e.g. \"usb charger\", \"Hyundai Ioniq 6\", \"4006381333931\"."},{"name":"since","type":"string","required":false,"description":"Only alerts in weekly reports published on or after this date (YYYY-MM-DD). Default: 28 days ago. At most the 12 most recent weekly reports are read."}],"outputs":[{"name":"attribution","type":"string","required":true,"description":"The source credit the European Commission requires on any reuse of Safety Gate alerts."},{"name":"count","type":"integer","required":true,"description":null},{"name":"disclaimer","type":"string","required":true,"description":null},{"name":"notes","type":"array","required":false,"description":"Sources that answered live, but from a different URL than the plain request (for example an earlier CPSC start date, filtered here to the window)."},{"name":"query","type":"string","required":true,"description":null},{"name":"results","type":"array","required":true,"description":null},{"name":"since","type":"string","required":true,"description":null},{"name":"spoken","type":"string","required":true,"description":"A short answer to read aloud."},{"name":"warnings","type":"array","required":true,"description":"Sources that could not be reached, or were served only from a stale saved copy; the rest still answered."}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":209},{"name":"watchlist_add","title":"Add to household watchlist","description":"Remember a product, food or medicine the household owns, so check_my_household can watch it for recalls. Use when someone says \"keep an eye on my <thing>\". Pick the kind if it is clear; otherwise use \"any\".","inputs":[{"name":"kind","type":"string","required":false,"description":"\"product\" for household goods and devices, \"food\", \"medicine\", or \"any\" to check every source."},{"name":"name","type":"string","required":true,"description":"What to watch, as a short product/food/medicine name, e.g. \"Graco stroller\", \"Tylenol\"."}],"outputs":[{"name":"added","type":"boolean","required":true,"description":null},{"name":"items","type":"array","required":true,"description":null},{"name":"spoken","type":"string","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":120},{"name":"watchlist_list","title":"List household watchlist","description":"Say what is on the household watchlist. Use when someone asks \"what am I watching?\".","inputs":[],"outputs":[{"name":"items","type":"array","required":true,"description":null},{"name":"spoken","type":"string","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":29},{"name":"watchlist_remove","title":"Remove from household watchlist","description":"Stop watching an item. Use when someone says \"stop watching <thing>\". Matches the name (case-insensitive) or the item id.","inputs":[{"name":"name","type":"string","required":true,"description":"The item name as on the watchlist, or its id."}],"outputs":[{"name":"items","type":"array","required":true,"description":null},{"name":"removed","type":"boolean","required":true,"description":null},{"name":"spoken","type":"string","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":56},{"name":"check_my_household","title":"Check my household for recalls","description":"Check every item on the household watchlist against recent recalls and medicine shortages from all sources (CPSC, openFDA food/drug/device, EMA). Use when someone asks \"has anything in my house been recalled?\". Default window: the last 180 days.","inputs":[{"name":"limit","type":"integer","required":false,"description":"Maximum matches to return, newest first."},{"name":"since","type":"string","required":false,"description":"Only recalls on or after this date (YYYY-MM-DD). Default: 180 days ago."}],"outputs":[{"name":"count","type":"integer","required":true,"description":null},{"name":"disclaimer","type":"string","required":true,"description":null},{"name":"matches","type":"array","required":true,"description":null},{"name":"notes","type":"array","required":false,"description":"Sources that answered live, but from a different URL than the plain request (for example an earlier CPSC start date, filtered here to the window)."},{"name":"since","type":"string","required":true,"description":null},{"name":"spoken","type":"string","required":true,"description":null},{"name":"warnings","type":"array","required":true,"description":null},{"name":"watched","type":"array","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":101}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T00:40:33.000Z","track":"package","endpoint":null,"declaredUrl":null,"truncated":false,"tls":null,"dnssec":null,"auth":null,"httpsRedirect":null,"transports":[],"provenance":{"outcome":"none","label":"No attestation","reason":"no_attestation","reasonLabel":"No attestation published","discovery":null,"discoveryLabel":null,"sourceRepo":null,"attestationSkipped":null,"attestationSkippedLabel":null},"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":{"nodes":94,"partial":false,"deprecated":null,"stale":30,"noRepo":null}},"mismatches":[],"changelog":{"trackingSince":"2026-10-02","recent":[{"id":"chg_01a1948d-4c50-7695-ad87-c0146517335d","kind":"check.verdict","summary":"Stability (0.97 → pass)","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/mgrin-household-recall-watch/household-recall-watch#chg-chg_01a1948d-4c50-7695-ad87-c0146517335d"},{"id":"chg_01a18f65-087b-7d6a-9e9c-e85c9ee18789","kind":"score.total_changed","summary":"Trust score (60 → 61)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/mgrin-household-recall-watch/household-recall-watch#chg-chg_01a18f65-087b-7d6a-9e9c-e85c9ee18789"},{"id":"chg_01a18523-8227-7c7f-ae0f-773dd4b7b60d","kind":"score.total_changed","summary":"Trust score (59 → 60)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/mgrin-household-recall-watch/household-recall-watch#chg-chg_01a18523-8227-7c7f-ae0f-773dd4b7b60d"},{"id":"chg_01a17ac6-ae41-76d6-ad77-93eaff82724e","kind":"score.total_changed","summary":"Trust score (58 → 59)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-27","url":"https://verifymcp.io/servers/mgrin-household-recall-watch/household-recall-watch#chg-chg_01a17ac6-ae41-76d6-ad77-93eaff82724e"},{"id":"chg_01a17079-7abc-7ea4-a8b6-856278713b9b","kind":"score.total_changed","summary":"Trust score (57 → 58)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-25","url":"https://verifymcp.io/servers/mgrin-household-recall-watch/household-recall-watch#chg-chg_01a17079-7abc-7ea4-a8b6-856278713b9b"},{"id":"chg_01a1662c-e6f8-7015-8dd0-1bdbfb2b4a7a","kind":"score.total_changed","summary":"Trust score (56 → 57)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-23","url":"https://verifymcp.io/servers/mgrin-household-recall-watch/household-recall-watch#chg-chg_01a1662c-e6f8-7015-8dd0-1bdbfb2b4a7a"},{"id":"chg_01a15bdf-7cb9-79d6-b485-25092f4d2dde","kind":"score.total_changed","summary":"Trust score (55 → 56)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-21","url":"https://verifymcp.io/servers/mgrin-household-recall-watch/household-recall-watch#chg-chg_01a15bdf-7cb9-79d6-b485-25092f4d2dde"},{"id":"chg_01a15194-fb8d-767c-a827-60176e458d1b","kind":"score.total_changed","summary":"Trust score (54 → 55)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-19","url":"https://verifymcp.io/servers/mgrin-household-recall-watch/household-recall-watch#chg-chg_01a15194-fb8d-767c-a827-60176e458d1b"},{"id":"chg_01a1422e-5593-736e-b197-3a5ee4f454b6","kind":"score.total_changed","summary":"Trust score (53 → 54)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-16","url":"https://verifymcp.io/servers/mgrin-household-recall-watch/household-recall-watch#chg-chg_01a1422e-5593-736e-b197-3a5ee4f454b6"},{"id":"chg_01a137dd-b00a-7bf4-af72-e35a7e1591c9","kind":"score.total_changed","summary":"Trust score (52 → 53)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-14","url":"https://verifymcp.io/servers/mgrin-household-recall-watch/household-recall-watch#chg-chg_01a137dd-b00a-7bf4-af72-e35a7e1591c9"},{"id":"chg_01a1342e-d21f-727a-9fa9-eb82fbe55537","kind":"check.measure","summary":"Schema quality (841 → 1055)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-13","url":"https://verifymcp.io/servers/mgrin-household-recall-watch/household-recall-watch#chg-chg_01a1342e-d21f-727a-9fa9-eb82fbe55537"},{"id":"chg_01a1342e-d21f-7ba9-baf3-768bdda9ed18","kind":"check.reverified","summary":"Stability (unverified → 0.37)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-13","url":"https://verifymcp.io/servers/mgrin-household-recall-watch/household-recall-watch#chg-chg_01a1342e-d21f-7ba9-baf3-768bdda9ed18"},{"id":"chg_01a1342e-d220-71e4-957c-8bba162c534b","kind":"score.total_changed","summary":"Trust score (48 → 52)","materiality":"functional","direction":"improvement","scoreDelta":4,"occurredOn":"2026-10-13","url":"https://verifymcp.io/servers/mgrin-household-recall-watch/household-recall-watch#chg-chg_01a1342e-d220-71e4-957c-8bba162c534b"},{"id":"chg_01a0fca6-8628-7a16-bdd1-6462a601f63e","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-02","url":"https://verifymcp.io/servers/mgrin-household-recall-watch/household-recall-watch#chg-chg_01a0fca6-8628-7a16-bdd1-6462a601f63e"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/mgrin-household-recall-watch/household-recall-watch/changelog.json"},"links":{"html":"https://verifymcp.io/servers/mgrin-household-recall-watch/household-recall-watch","markdown":"https://verifymcp.io/servers/mgrin-household-recall-watch/household-recall-watch.md","changelogJson":"https://verifymcp.io/servers/mgrin-household-recall-watch/household-recall-watch/changelog.json","changelogRss":"https://verifymcp.io/servers/mgrin-household-recall-watch/household-recall-watch.xml","external":[{"label":"Repository","href":"https://github.com/MGrin/recall-radar-mcp"}]}}