{"$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-05T18:26:21.214Z","url":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug","markdownUrl":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug.md","server":{"slug":"bikemeardsley-where-my-hug","name":"io.github.bikemeardsley/where-my-hug","registryName":"io.github.bikemeardsley/where-my-hug","description":"Which parts of an ML need Hugging Face already covers. Every model and dataset checked live.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"where-my-hug","type":"npm","identifier":"where-my-hug","withdrawn":false,"url":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug","version":"0.3.1","transport":"stdio","scoredAt":"2026-11-05T03:17:29.545Z"},"score":{"total":88,"tier":"high trust","status":"scored","weekDelta":3,"history":[{"date":"2026-11-05","total":88},{"date":"2026-11-04","total":87},{"date":"2026-11-03","total":87},{"date":"2026-11-02","total":86},{"date":"2026-11-01","total":86},{"date":"2026-10-31","total":86},{"date":"2026-10-30","total":85},{"date":"2026-10-29","total":85},{"date":"2026-10-28","total":84},{"date":"2026-10-27","total":58},{"date":"2026-10-26","total":78},{"date":"2026-10-25","total":78},{"date":"2026-10-24","total":77},{"date":"2026-10-23","total":77},{"date":"2026-10-22","total":71},{"date":"2026-10-21","total":71},{"date":"2026-10-20","total":70},{"date":"2026-10-19","total":70},{"date":"2026-10-18","total":69},{"date":"2026-10-17","total":69},{"date":"2026-10-16","total":68},{"date":"2026-10-15","total":68},{"date":"2026-10-14","total":29},{"date":"2026-10-13","total":39}]},"categories":[{"name":"Supply Chain Security","score":98,"verdict":"partial","reasons":["No malware found by supply-chain analysis.","No known CVEs affecting this package version or its production dependencies.","No install/post-install scripts declared.","30 of 93 dependencies flagged as unhealthy."],"codes":[{"code":"supplychain.malware_clean","args":{}},{"code":"cve.none","args":{}},{"code":"installscript.none","args":{}},{"code":"dephealth.assessed","args":{"deps":"93","unhealthy":"30"}}]},{"name":"Provenance & Transparency","score":100,"verdict":"pass","reasons":["Source repository is publicly reachable at the declared URL.","Cryptographically verified build provenance (signed, bound to bikemeardsley/where-my-hug).","Clear OSI-approved license (MIT).","Actively maintained (last published 8 days ago).","Publishes a security disclosure policy (SECURITY.md)."],"codes":[{"code":"provenance.repo_verified","args":{}},{"code":"provenance.verified","args":{"repo":"bikemeardsley/where-my-hug"}},{"code":"license.osi","args":{"spdx":"MIT"}},{"code":"maintenance.recent","args":{"age_days":"8"}},{"code":"disclosure.present","args":{}}]},{"name":"Schema Quality & AI Usability","score":60,"verdict":"fail","reasons":["AI-judged instruction clarity (good).","Context-footprint check failed: tool/resource definitions use about 665 tokens (~221/item across 3 items; 3 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":"good"}},{"code":"schema.footprint_heavy","args":{"avg":"221","items":"3","tools":"3","tokens":"665","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":73,"verdict":"partial","reasons":["Stability observed for 22 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"22"}}]},{"name":"Tool Coverage","score":93,"verdict":"partial","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","80% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"80"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","We read all 3 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 3 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_none","args":{"tools":"3"}},{"code":"toolsafety.manipulation_clean","args":{"units":"3","judged":"3"}}]},{"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":[],"malware":[],"components":[{"slug":"where-my-hug","type":"npm","identifier":"where-my-hug","withdrawn":false,"score":88,"current":true,"url":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug","markdownUrl":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug.md"}],"facts":[{"label":"Registry","value":"npm"},{"label":"Package","value":"where-my-hug"},{"label":"Version","value":"0.3.1"},{"label":"Transport","value":"stdio"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"where_my_hug","title":"Where my hug at?","description":"Step 1 of 3, before recommending any machine learning model or dataset. If compute, license, stack or data is missing, returns the questions to ask the user first: call again with the answers (\"unknown\" is fine). Then returns the method: split the ML need into parts, search Hugging Face and the other hubs for each with where_my_hug_search, and decide from what it finds which parts they cover (use a model as is, fine-tune one, train one) and which are plain code. Follow it.","inputs":[{"name":"compute","type":"string","required":false,"description":"The hardware it has to run or train on, such as \"one 24 GB GPU\" or \"CPU only\". Size flags take the first \"N GB\" in it as the memory a model must fit in"},{"name":"data","type":"string","required":false,"description":"Training data there is or could be, such as \"none\" or \"about 300 labeled photos\""},{"name":"license","type":"string","required":false,"description":"What the result may be used for, such as \"commercial, closed source\" or \"research only\""},{"name":"need","type":"string","required":true,"description":"The ML need in plain words: what goes in, what should come out, and what it is for"},{"name":"stack","type":"string","required":false,"description":"What will call the model: language, runtime, framework"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":270},{"name":"where_my_hug_search","title":"Where my hug at? (searched live)","description":"Step 2 of 3: searches Hugging Face for each part of the need (the task's most downloaded and trending, names holding each keyword, and the text of model and dataset cards), and Kaggle, Zenodo, ModelScope and Roboflow Universe, for models and datasets alike. One found on several hubs is listed once, naming the others. Returns what it found, with downloads, likes, license, size, age and how each turned up, to pick each part's verdict and candidates from. Then call where_my_hug_verify.","inputs":[{"name":"parts","type":"array","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":131},{"name":"where_my_hug_verify","title":"Where my hug at? (checked live)","description":"Step 3 of 3: checks every picked model and dataset id live on its hub, drops the ones that are not there, flags licenses, gating, staleness and low use, sizes each model against the compute (fits, a stretch that fits only quantized, or cloud, with who hosts it), marks picks the search didn't turn up as from memory, names every hub a pick is on, shows what it found that wasn't picked, and returns the report to show the user. If nextAction is SEARCH_FIRST or RECALL_REPLACEMENTS, do what its instructions say and call again.","inputs":[{"name":"components","type":"array","required":true,"description":null},{"name":"compute","type":"string","required":false,"description":"The hardware it has to run or train on, such as \"one 24 GB GPU\" or \"CPU only\". Size flags take the first \"N GB\" in it as the memory a model must fit in"},{"name":"need","type":"string","required":true,"description":"The ML need in plain words: what goes in, what should come out, and what it is for"},{"name":"recommendation","type":"string","required":false,"description":"What to act on first: the one or two picks worth trying now and why (fit, license, use), then the ones to skip and why. Shown last, as \"Start here\""}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":264}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T03:17:29.000Z","track":"package","endpoint":null,"declaredUrl":null,"truncated":false,"tls":null,"dnssec":null,"auth":null,"httpsRedirect":null,"transports":[],"provenance":{"outcome":"verified","label":"Verified","reason":"verified","reasonLabel":"Verified","discovery":"attestation_endpoint","discoveryLabel":"Registry attestation endpoint","sourceRepo":null,"attestationSkipped":null,"attestationSkippedLabel":null},"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":{"nodes":93,"partial":false,"deprecated":null,"stale":30,"noRepo":null}},"mismatches":[],"changelog":{"trackingSince":"2026-10-13","recent":[{"id":"chg_01a1a9b6-2760-717c-b1c0-5c1efd326695","kind":"score.total_changed","summary":"Trust score (87 → 88)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug#chg-chg_01a1a9b6-2760-717c-b1c0-5c1efd326695"},{"id":"chg_01a19f68-1c4d-79ae-8702-48536c762199","kind":"score.total_changed","summary":"Trust score (86 → 87)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug#chg-chg_01a19f68-1c4d-79ae-8702-48536c762199"},{"id":"chg_01a1951d-1855-7037-98e9-361d4a17a453","kind":"package.version_changed","summary":"Package version (0.2.0 → 0.3.1)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug#chg-chg_01a1951d-1855-7037-98e9-361d4a17a453"},{"id":"chg_01a18ff5-86f9-7622-a14c-18c533ca9505","kind":"score.total_changed","summary":"Trust score (85 → 86)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug#chg-chg_01a18ff5-86f9-7622-a14c-18c533ca9505"},{"id":"chg_01a185ad-911f-7350-8342-c4c5ebf8646d","kind":"score.total_changed","summary":"Trust score (84 → 85)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug#chg-chg_01a185ad-911f-7350-8342-c4c5ebf8646d"},{"id":"chg_01a18085-27d2-77ff-a895-bdb70bc3b821","kind":"check.reverified","summary":"Malware scan (unverified → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug#chg-chg_01a18085-27d2-77ff-a895-bdb70bc3b821"},{"id":"chg_01a18085-27d3-7c8b-8c8d-13e23ab373af","kind":"check.reverified","summary":"Known CVEs (unverified → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug#chg-chg_01a18085-27d3-7c8b-8c8d-13e23ab373af"},{"id":"chg_01a18085-27d4-7389-98f8-22776569cd77","kind":"advisory.resolved","summary":"CVE-2023-54404 no longer affects this package","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug#chg-chg_01a18085-27d4-7389-98f8-22776569cd77"},{"id":"chg_01a18085-27d4-7e2d-95ae-545e07803bd0","kind":"check.reverified","summary":"Dependency health (unverified → 0.85)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug#chg-chg_01a18085-27d4-7e2d-95ae-545e07803bd0"},{"id":"chg_01a18085-27d5-74ab-88a1-97dccbe0a672","kind":"score.total_changed","summary":"Trust score (58 → 84)","materiality":"functional","direction":"improvement","scoreDelta":26,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug#chg-chg_01a18085-27d5-74ab-88a1-97dccbe0a672"},{"id":"chg_01a17bad-9f64-7b31-888d-b7209453ad35","kind":"check.unverifiable","summary":"Known CVEs (fail → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-27","url":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug#chg-chg_01a17bad-9f64-7b31-888d-b7209453ad35"},{"id":"chg_01a17bad-9f66-786c-a5f2-4a60074dfbdb","kind":"check.unverifiable","summary":"Malware scan (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-27","url":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug#chg-chg_01a17bad-9f66-786c-a5f2-4a60074dfbdb"},{"id":"chg_01a17bad-9f66-7f07-ae11-288d49485da8","kind":"check.unverifiable","summary":"Dependency health (0.85 → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-27","url":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug#chg-chg_01a17bad-9f66-7f07-ae11-288d49485da8"},{"id":"chg_01a17bad-9f68-70b0-bb30-bb11d5341970","kind":"check.measure","summary":"Schema quality (192 → 221)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-27","url":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug#chg-chg_01a17bad-9f68-70b0-bb30-bb11d5341970"},{"id":"chg_01a17bad-9f68-7706-bf21-e49030fa8833","kind":"package.version_changed","summary":"Package version (0.2.1 → 0.3.1)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-27","url":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug#chg-chg_01a17bad-9f68-7706-bf21-e49030fa8833"},{"id":"chg_01a17bad-9f69-780a-95e1-16de948c7a98","kind":"score.total_changed","summary":"Trust score (79 → 58)","materiality":"functional","direction":"regression","scoreDelta":-21,"occurredOn":"2026-10-27","url":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug#chg-chg_01a17bad-9f69-780a-95e1-16de948c7a98"},{"id":"chg_01a17b5e-960a-72b4-8ff1-f0b474e0ddd2","kind":"score.total_changed","summary":"Trust score (78 → 79)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-27","url":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug#chg-chg_01a17b5e-960a-72b4-8ff1-f0b474e0ddd2"},{"id":"chg_01a17111-f776-7628-be22-90c3f144a174","kind":"score.total_changed","summary":"Trust score (77 → 78)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-25","url":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug#chg-chg_01a17111-f776-7628-be22-90c3f144a174"},{"id":"chg_01a16a90-7c4f-7c4a-9be0-185c24fc612a","kind":"advisory.identified","summary":"CVE-2023-54404 affects this package (high)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-23","url":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug#chg-chg_01a16a90-7c4f-7c4a-9be0-185c24fc612a"},{"id":"chg_01a16a90-7c51-7b51-95c3-813d2fd73e68","kind":"check.verdict","summary":"Known CVEs (pass → fail)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-23","url":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug#chg-chg_01a16a90-7c51-7b51-95c3-813d2fd73e68"}],"truncated":true,"feedUrl":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug/changelog.json"},"links":{"html":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug","markdown":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug.md","changelogJson":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug/changelog.json","changelogRss":"https://verifymcp.io/servers/bikemeardsley-where-my-hug/where-my-hug.xml","external":[{"label":"npm package","href":"https://www.npmjs.com/package/where-my-hug"},{"label":"Socket report","href":"https://socket.dev/npm/package/where-my-hug"},{"label":"Repository","href":"https://github.com/bikemeardsley/where-my-hug"}]}}