{"$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-05T17:23:49.858Z","url":"https://verifymcp.io/servers/gillmacedo-stuckgo/stuckgo","markdownUrl":"https://verifymcp.io/servers/gillmacedo-stuckgo/stuckgo.md","server":{"slug":"gillmacedo-stuckgo","name":"io.github.GillMacedo/stuckgo","registryName":"io.github.GillMacedo/stuckgo","description":"Find what a stuck Go program is waiting on from a goroutine dump, with no connection to it.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"stuckgo","type":"npm","identifier":"stuckgo","withdrawn":false,"url":"https://verifymcp.io/servers/gillmacedo-stuckgo/stuckgo","version":"0.1.0","transport":"stdio","scoredAt":"2026-11-05T08:40:11.139Z"},"score":{"total":73,"tier":"medium","status":"scored","weekDelta":null,"history":[{"date":"2026-11-05","total":73},{"date":"2026-11-04","total":73},{"date":"2026-11-03","total":72},{"date":"2026-11-02","total":72},{"date":"2026-11-01","total":71}]},"categories":[{"name":"Supply Chain Security","score":100,"verdict":"pass","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.","No production dependencies, so there is no dependency health to assess."],"codes":[{"code":"supplychain.malware_clean","args":{}},{"code":"cve.none","args":{}},{"code":"installscript.none","args":{}},{"code":"dephealth.no_dependencies","args":{"deps":"0","unhealthy":"0"}}]},{"name":"Provenance & Transparency","score":48,"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 3 days ago).","Publishes a security disclosure policy (SECURITY.md)."],"codes":[{"code":"provenance.repo_verified","args":{}},{"code":"provenance.none","args":{}},{"code":"license.osi","args":{"spdx":"MIT"}},{"code":"maintenance.recent","args":{"age_days":"3"}},{"code":"disclosure.present","args":{}}]},{"name":"Schema Quality & AI Usability","score":77,"verdict":"fail","reasons":["AI-judged instruction clarity (excellent).","Tool/resource definitions use about 276 tokens (~138/item across 2 items; 2 tools + 0 resources), lean.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.ai_quality","args":{"band":"excellent"}},{"code":"schema.footprint_lean","args":{"avg":"138","items":"2","tools":"2","tokens":"276","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":13,"verdict":"partial","reasons":["Stability observed for 4 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"4"}}]},{"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.","We read all 2 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 2 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":"2"}},{"code":"toolsafety.manipulation_clean","args":{"units":"2","judged":"2"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a current MCP spec version (2026-07-28)."],"codes":[{"code":"protocol.current","args":{"version":"2026-07-28"}}]}],"inconclusive":[],"malware":[],"components":[{"slug":"stuckgo","type":"npm","identifier":"stuckgo","withdrawn":false,"score":73,"current":true,"url":"https://verifymcp.io/servers/gillmacedo-stuckgo/stuckgo","markdownUrl":"https://verifymcp.io/servers/gillmacedo-stuckgo/stuckgo.md"}],"facts":[{"label":"Registry","value":"npm"},{"label":"Package","value":"stuckgo"},{"label":"Version","value":"0.1.0"},{"label":"Transport","value":"stdio"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"go_goroutine_compare","title":"Compare two Go goroutine dumps","description":"Compares two goroutine dumps of one Go program taken some time apart, and shows which stacks are growing and which goroutine IDs never moved, which is stronger evidence of a leak than one dump. It never connects to the program.","inputs":[{"name":"after","type":"string","required":false,"description":"The later goroutine dump's text"},{"name":"after_path","type":"string","required":false,"description":"Path to a file with the later dump"},{"name":"before","type":"string","required":false,"description":"The earlier goroutine dump's text"},{"name":"before_path","type":"string","required":false,"description":"Path to a file with the earlier dump"}],"outputs":[{"name":"after_total","type":"integer","required":true,"description":null},{"name":"before_total","type":"integer","required":true,"description":null},{"name":"fixed_findings","type":"null|array","required":true,"description":null},{"name":"growing","type":"null|array","required":true,"description":null},{"name":"new_findings","type":"null|array","required":true,"description":null},{"name":"notes","type":"null|array","required":false,"description":null},{"name":"parked","type":"null|array","required":true,"description":null},{"name":"parked_elsewhere","type":"integer","required":true,"description":null},{"name":"remaining_findings","type":"null|array","required":true,"description":null},{"name":"shrinking","type":"null|array","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":118},{"name":"go_goroutine_review","title":"Review a Go goroutine dump","description":"Finds what a stuck or leaking Go program is waiting on, from a goroutine dump: /debug/pprof/goroutine?debug=2 or debug=1, a panic traceback, or SIGQUIT output. Groups identical stacks, separates normal idle goroutines, and flags channel leaks, lock pile-ups with possible holders, WaitGroups that never finish, full database pools, HTTP calls with no timeout and nil channels. It only reads the text you give it and never connects to the program. Findings are leads.","inputs":[{"name":"dump","type":"string","required":false,"description":"Goroutine dump text. Give this or path"},{"name":"path","type":"string","required":false,"description":"Path to a file holding a goroutine dump. Prefer this for large dumps. Give this or dump"}],"outputs":[{"name":"expected_idle","type":"integer","required":true,"description":null},{"name":"fatal","type":"string","required":false,"description":null},{"name":"findings","type":"null|array","required":true,"description":null},{"name":"format","type":"string","required":true,"description":null},{"name":"group_count","type":"integer","required":true,"description":null},{"name":"groups","type":"null|array","required":true,"description":null},{"name":"notes","type":"null|array","required":false,"description":null},{"name":"signal","type":"string","required":false,"description":null},{"name":"states","type":"null|array","required":true,"description":null},{"name":"total","type":"integer","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":158}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T08:40:11.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":null,"reasonLabel":null,"discovery":null,"discoveryLabel":null,"sourceRepo":null,"attestationSkipped":null,"attestationSkippedLabel":null},"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":{"nodes":0,"partial":false,"deprecated":null,"stale":null,"noRepo":null}},"mismatches":[],"changelog":{"trackingSince":"2026-11-01","recent":[{"id":"chg_01a1a5b2-f05b-7563-b35a-701624ec759b","kind":"score.total_changed","summary":"Trust score (72 → 73)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/gillmacedo-stuckgo/stuckgo#chg-chg_01a1a5b2-f05b-7563-b35a-701624ec759b"},{"id":"chg_01a19b65-070d-724d-ac70-0babe9cb417a","kind":"score.total_changed","summary":"Trust score (71 → 72)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/gillmacedo-stuckgo/stuckgo#chg-chg_01a19b65-070d-724d-ac70-0babe9cb417a"},{"id":"chg_01a19810-06fe-752e-ab04-f13dda557882","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/gillmacedo-stuckgo/stuckgo#chg-chg_01a19810-06fe-752e-ab04-f13dda557882"},{"id":"chg_01a1980e-524c-7afa-8b95-c10e4e6ecbad","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/gillmacedo-stuckgo/stuckgo#chg-chg_01a1980e-524c-7afa-8b95-c10e4e6ecbad"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/gillmacedo-stuckgo/stuckgo/changelog.json"},"links":{"html":"https://verifymcp.io/servers/gillmacedo-stuckgo/stuckgo","markdown":"https://verifymcp.io/servers/gillmacedo-stuckgo/stuckgo.md","changelogJson":"https://verifymcp.io/servers/gillmacedo-stuckgo/stuckgo/changelog.json","changelogRss":"https://verifymcp.io/servers/gillmacedo-stuckgo/stuckgo.xml","external":[{"label":"npm package","href":"https://www.npmjs.com/package/stuckgo"},{"label":"Socket report","href":"https://socket.dev/npm/package/stuckgo"},{"label":"Repository","href":"https://github.com/GillMacedo/stuckgo"}]}}