{"$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:23:33.962Z","url":"https://verifymcp.io/servers/stark-ydq-voicetoinstrument/voicetoinstrument","markdownUrl":"https://verifymcp.io/servers/stark-ydq-voicetoinstrument/voicetoinstrument.md","server":{"slug":"stark-ydq-voicetoinstrument","name":"Voice To Instrument — Music Utilities","registryName":"io.github.stark-ydq/voicetoinstrument","description":"Offline BPM timing, musical note frequencies, MIDI numbers and cents calculations.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"voicetoinstrument","type":"mcpb","identifier":"https://github.com/stark-ydq/site-mcp-servers/releases/download/v1.0.0/voicetoinstrument-1.0.0.mcpb","withdrawn":false,"url":"https://verifymcp.io/servers/stark-ydq-voicetoinstrument/voicetoinstrument","version":null,"transport":"stdio","scoredAt":"2026-11-05T09:03:45.163Z"},"score":{"total":45,"tier":"low","status":"scored","weekDelta":3,"history":[{"date":"2026-11-05","total":45},{"date":"2026-11-04","total":45},{"date":"2026-11-03","total":44},{"date":"2026-11-02","total":44},{"date":"2026-11-01","total":43},{"date":"2026-10-31","total":43},{"date":"2026-10-30","total":42},{"date":"2026-10-29","total":42},{"date":"2026-10-28","total":42},{"date":"2026-10-27","total":41},{"date":"2026-10-26","total":41},{"date":"2026-10-25","total":40},{"date":"2026-10-24","total":40},{"date":"2026-10-23","total":39},{"date":"2026-10-22","total":39},{"date":"2026-10-21","total":38},{"date":"2026-10-20","total":38},{"date":"2026-10-19","total":37},{"date":"2026-10-18","total":37},{"date":"2026-10-17","total":36}]},"categories":[{"name":"Supply Chain Security","score":0,"verdict":"unverified","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 could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).","Install-script risk not yet assessed.","Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none)."],"codes":[{"code":"supplychain.malware_inconclusive","args":{"reason":"ecosystem_unsupported"}},{"code":"cve.inconclusive","args":{"reason":"no_manifest_bundled"}},{"code":"installscript.inconclusive","args":{"reason":"install_surface_unavailable"}},{"code":"dephealth.inconclusive","args":{"reason":"no_manifest_bundled"}}]},{"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 19 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":"19"}},{"code":"disclosure.absent","args":{}}]},{"name":"Schema Quality & AI Usability","score":63,"verdict":"fail","reasons":["AI-judged instruction clarity (fair).","Tool/resource definitions use about 228 tokens (~76/item across 3 items; 3 tools + 0 resources), lean.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.ai_quality","args":{"band":"fair"}},{"code":"schema.footprint_lean","args":{"avg":"76","items":"3","tools":"3","tokens":"228","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":63,"verdict":"partial","reasons":["Stability observed for 19 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"19"}}]},{"name":"Tool Coverage","score":76,"verdict":"partial","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","29% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"29"}}]},{"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 4 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":"4","judged":"4"}}]},{"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":["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 could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).","Install-script risk not yet assessed.","Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none)."],"malware":[],"components":[{"slug":"voicetoinstrument","type":"mcpb","identifier":"https://github.com/stark-ydq/site-mcp-servers/releases/download/v1.0.0/voicetoinstrument-1.0.0.mcpb","withdrawn":false,"score":45,"current":true,"url":"https://verifymcp.io/servers/stark-ydq-voicetoinstrument/voicetoinstrument","markdownUrl":"https://verifymcp.io/servers/stark-ydq-voicetoinstrument/voicetoinstrument.md"}],"facts":[{"label":"Registry","value":"mcpb"},{"label":"Package","value":"https://github.com/stark-ydq/site-mcp-servers/releases/download/v1.0.0/voicetoinstrument-1.0.0.mcpb"},{"label":"Transport","value":"stdio"},{"label":"SHA-256","value":"7f320d62d02d1c5b738a6b3936b444614ea40a71e673cd573cad7dc2d39e5322"}],"install":{"available":true,"bundleSha256":"7f320d62d02d1c5b738a6b3936b444614ea40a71e673cd573cad7dc2d39e5322"},"tools":[{"name":"tempo_to_timing","title":"Calculate note and bar durations","description":"Calculate delay/sync note durations and total bar duration from quarter-note BPM. Includes dotted eighth and eighth-note triplet timing.","inputs":[{"name":"bars","type":"integer","required":false,"description":null},{"name":"beatsPerBar","type":"integer","required":false,"description":null},{"name":"bpm","type":"number","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":58},{"name":"note_to_frequency","title":"Convert note to frequency","description":"Convert a scientific pitch name such as A4, C#4 or Bb3 to MIDI note number and frequency. Supports enharmonic spelling and adjustable A4 tuning.","inputs":[{"name":"note","type":"string","required":true,"description":null},{"name":"tuningHz","type":"number","required":false,"description":"Frequency of A4 in Hz."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":64},{"name":"frequency_to_note","title":"Find nearest musical note","description":"Find the nearest equal-tempered MIDI note and cents deviation for an input frequency. A positive cents value means the input is sharp.","inputs":[{"name":"frequencyHz","type":"number","required":true,"description":null},{"name":"tuningHz","type":"number","required":false,"description":"Frequency of A4 in Hz."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":57}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T09:03:45.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":null},"mismatches":[],"changelog":{"trackingSince":"2026-10-17","recent":[{"id":"chg_01a1a5ca-0c1a-7472-a9b7-e239234b7e12","kind":"score.total_changed","summary":"Trust score (44 → 45)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/stark-ydq-voicetoinstrument/voicetoinstrument#chg-chg_01a1a5ca-0c1a-7472-a9b7-e239234b7e12"},{"id":"chg_01a19b7d-3314-73df-94af-6620662012ed","kind":"score.total_changed","summary":"Trust score (43 → 44)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/stark-ydq-voicetoinstrument/voicetoinstrument#chg-chg_01a19b7d-3314-73df-94af-6620662012ed"},{"id":"chg_01a19130-652f-76e4-a2ad-5f852f7ff502","kind":"score.total_changed","summary":"Trust score (42 → 43)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/stark-ydq-voicetoinstrument/voicetoinstrument#chg-chg_01a19130-652f-76e4-a2ad-5f852f7ff502"},{"id":"chg_01a181bd-9dac-7c52-bf2d-1b415faf6e08","kind":"score.total_changed","summary":"Trust score (41 → 42)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/stark-ydq-voicetoinstrument/voicetoinstrument#chg-chg_01a181bd-9dac-7c52-bf2d-1b415faf6e08"},{"id":"chg_01a17771-29c1-73c9-a6a0-ff313f08b042","kind":"score.total_changed","summary":"Trust score (40 → 41)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/stark-ydq-voicetoinstrument/voicetoinstrument#chg-chg_01a17771-29c1-73c9-a6a0-ff313f08b042"},{"id":"chg_01a16d24-4c26-789e-aaca-13e5dd6a9ae4","kind":"score.total_changed","summary":"Trust score (39 → 40)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-24","url":"https://verifymcp.io/servers/stark-ydq-voicetoinstrument/voicetoinstrument#chg-chg_01a16d24-4c26-789e-aaca-13e5dd6a9ae4"},{"id":"chg_01a162d7-4cb4-7440-8a42-be728b691c7f","kind":"score.total_changed","summary":"Trust score (38 → 39)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-22","url":"https://verifymcp.io/servers/stark-ydq-voicetoinstrument/voicetoinstrument#chg-chg_01a162d7-4cb4-7440-8a42-be728b691c7f"},{"id":"chg_01a1588a-a2f6-78a6-8917-141c2677277e","kind":"score.total_changed","summary":"Trust score (37 → 38)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-20","url":"https://verifymcp.io/servers/stark-ydq-voicetoinstrument/voicetoinstrument#chg-chg_01a1588a-a2f6-78a6-8917-141c2677277e"},{"id":"chg_01a14e3e-7e8a-735a-9aa0-1f49b87b0438","kind":"score.total_changed","summary":"Trust score (36 → 37)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-18","url":"https://verifymcp.io/servers/stark-ydq-voicetoinstrument/voicetoinstrument#chg-chg_01a14e3e-7e8a-735a-9aa0-1f49b87b0438"},{"id":"chg_01a147f3-3d43-7ae7-a3ad-6990e0734141","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-17","url":"https://verifymcp.io/servers/stark-ydq-voicetoinstrument/voicetoinstrument#chg-chg_01a147f3-3d43-7ae7-a3ad-6990e0734141"},{"id":"chg_01a147cd-f999-7b6f-9fc7-927467a0091f","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-17","url":"https://verifymcp.io/servers/stark-ydq-voicetoinstrument/voicetoinstrument#chg-chg_01a147cd-f999-7b6f-9fc7-927467a0091f"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/stark-ydq-voicetoinstrument/voicetoinstrument/changelog.json"},"links":{"html":"https://verifymcp.io/servers/stark-ydq-voicetoinstrument/voicetoinstrument","markdown":"https://verifymcp.io/servers/stark-ydq-voicetoinstrument/voicetoinstrument.md","changelogJson":"https://verifymcp.io/servers/stark-ydq-voicetoinstrument/voicetoinstrument/changelog.json","changelogRss":"https://verifymcp.io/servers/stark-ydq-voicetoinstrument/voicetoinstrument.xml","external":[{"label":"Repository","href":"https://github.com/stark-ydq/site-mcp-servers"},{"label":"Website","href":"https://voicetoinstrument.com/"}]}}