{"$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-05T15:48:46.732Z","url":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server","markdownUrl":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server.md","server":{"slug":"com-korushield-koru-shield","name":"com.korushield/koru-shield","registryName":"com.korushield/koru-shield","description":"Manage Koru Shield DNS filtering: profiles, rules, categories, schedules, and logs.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"korushield-mcp-server","type":"npm","identifier":"korushield-mcp-server","withdrawn":false,"url":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server","version":"1.0.1","transport":"stdio","scoredAt":"2026-11-05T05:46:01.449Z"},"score":{"total":83,"tier":"high trust","status":"scored","weekDelta":2,"history":[{"date":"2026-11-05","total":83},{"date":"2026-11-04","total":83},{"date":"2026-11-03","total":83},{"date":"2026-11-02","total":83},{"date":"2026-11-01","total":83},{"date":"2026-10-31","total":82},{"date":"2026-10-30","total":82},{"date":"2026-10-29","total":81},{"date":"2026-10-28","total":81},{"date":"2026-10-27","total":80},{"date":"2026-10-26","total":80},{"date":"2026-10-25","total":79},{"date":"2026-10-24","total":79},{"date":"2026-10-23","total":78},{"date":"2026-10-22","total":78},{"date":"2026-10-21","total":77},{"date":"2026-10-20","total":77},{"date":"2026-10-19","total":76},{"date":"2026-10-18","total":76},{"date":"2026-10-17","total":76},{"date":"2026-10-16","total":75},{"date":"2026-10-15","total":75},{"date":"2026-10-14","total":74},{"date":"2026-10-13","total":69},{"date":"2026-10-12","total":69},{"date":"2026-10-11","total":69},{"date":"2026-10-06","total":69},{"date":"2026-10-04","total":69}]},"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 92 dependencies flagged as unhealthy."],"codes":[{"code":"supplychain.malware_clean","args":{}},{"code":"cve.none","args":{}},{"code":"installscript.none","args":{}},{"code":"dephealth.assessed","args":{"deps":"92","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).","Security-disclosure policy not yet verified: we couldn't inspect 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.repo_inconclusive","args":{"reason":"policy_probe_unavailable"}}]},{"name":"Schema Quality & AI Usability","score":81,"verdict":"fail","reasons":["AI-judged instruction clarity (excellent).","Tool/resource definitions use about 954 tokens (~59/item across 16 items; 16 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":"59","items":"16","tools":"16","tokens":"954","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."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"100"}}]},{"name":"Tool Safety","score":75,"verdict":"fail","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","0 of 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; \"delete_rule\" implies \"delete\" and declares no destructiveHint at all, which the MCP spec reads as destructive by default.","An AI judge read all 16 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_undeclared","args":{"pct":"0","tool":"delete_rule","verb":"delete","declared":"none","annotated":"0","destructive":"2"}},{"code":"toolsafety.manipulation_clean","args":{"units":"16","judged":"16"}}]},{"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":["Security-disclosure policy not yet verified: we couldn't inspect the source repository."],"malware":[],"components":[{"slug":"mcp","type":"remote","identifier":"https://mcp.korushield.com/mcp","withdrawn":false,"score":33,"current":false,"url":"https://verifymcp.io/servers/com-korushield-koru-shield/mcp","markdownUrl":"https://verifymcp.io/servers/com-korushield-koru-shield/mcp.md"},{"slug":"korushield-mcp-server","type":"npm","identifier":"korushield-mcp-server","withdrawn":false,"score":83,"current":true,"url":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server","markdownUrl":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server.md"}],"facts":[{"label":"Registry","value":"npm"},{"label":"Package","value":"korushield-mcp-server"},{"label":"Version","value":"1.0.1"},{"label":"Transport","value":"stdio"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"list_profiles","title":null,"description":"List all DNS protection profiles on the account (e.g. Kids, Work, IoT).","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":27},{"name":"get_profile","title":null,"description":"Get details of a single profile.","inputs":[{"name":"profile_id","type":"string","required":true,"description":"Profile ID (use list_profiles to discover IDs)"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":32},{"name":"list_rules","title":null,"description":"List custom allow/deny rules for a profile.","inputs":[{"name":"profile_id","type":"string","required":true,"description":"Profile ID (use list_profiles to discover IDs)"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":35},{"name":"create_rule","title":null,"description":"Create a custom allow or deny rule for a domain on a profile. Use kind=deny to block a domain, kind=allow to explicitly permit it.","inputs":[{"name":"domain","type":"string","required":true,"description":"Domain to match, e.g. tiktok.com (matches subdomains)"},{"name":"kind","type":"string","required":true,"description":"allow to permit, deny to block"},{"name":"note","type":"string","required":false,"description":"Human-readable note for why this rule exists"},{"name":"profile_id","type":"string","required":true,"description":"Profile ID (use list_profiles to discover IDs)"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":106},{"name":"delete_rule","title":null,"description":"Delete a custom rule from a profile. Destructive: the rule stops applying immediately.","inputs":[{"name":"profile_id","type":"string","required":true,"description":"Profile ID (use list_profiles to discover IDs)"},{"name":"rule_id","type":"string","required":true,"description":"Rule ID (use list_rules to discover IDs)"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":59},{"name":"list_filter_categories","title":null,"description":"List filter categories (adult content, gambling, social media, etc.) and whether each is enabled on a profile.","inputs":[{"name":"profile_id","type":"string","required":true,"description":"Profile ID (use list_profiles to discover IDs)"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":49},{"name":"set_filter_category","title":null,"description":"Enable or disable a filter category on a profile.","inputs":[{"name":"enabled","type":"boolean","required":true,"description":"true to enable blocking, false to disable"},{"name":"profile_id","type":"string","required":true,"description":"Profile ID (use list_profiles to discover IDs)"},{"name":"slug","type":"string","required":true,"description":"Category slug, e.g. adult, gambling, social-media (see list_filter_categories)"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":75},{"name":"simulate_policy","title":null,"description":"Check what the profile policy would do for a domain right now: allowed, blocked, and why. Does not change anything.","inputs":[{"name":"domain","type":"string","required":true,"description":"Domain to test, e.g. example.com"},{"name":"profile_id","type":"string","required":true,"description":"Profile ID (use list_profiles to discover IDs)"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":66},{"name":"get_logs","title":null,"description":"Get recent DNS query logs: what was queried, allowed or blocked, and when. Useful for reviewing activity or investigating a block.","inputs":[{"name":"action","type":"string","required":false,"description":"Filter by action"},{"name":"limit","type":"integer","required":false,"description":"Max entries to return"},{"name":"profile_id","type":"string","required":false,"description":"Filter to one profile (omit for all)"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":71},{"name":"analytics_summary","title":null,"description":"Summary of DNS activity: total queries, blocked vs allowed counts, blocked percentage, IPv4/IPv6, encrypted queries.","inputs":[{"name":"from","type":"string","required":false,"description":"Start of window, RFC3339 timestamp (default: last 24h)"},{"name":"profile_id","type":"string","required":false,"description":"Filter to one profile (omit for account-wide)"},{"name":"to","type":"string","required":false,"description":"End of window, RFC3339 timestamp"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":87},{"name":"list_schedules","title":null,"description":"List time-based schedules on a profile (e.g. bedtime 21:00-07:00 on weekdays).","inputs":[{"name":"profile_id","type":"string","required":true,"description":"Profile ID (use list_profiles to discover IDs)"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":49},{"name":"create_schedule","title":null,"description":"Create a time-based schedule on a profile. Rules and filter categories can reference schedules to apply only during the window.","inputs":[{"name":"days","type":"array","required":true,"description":"Days of week, e.g. [\"mon\",\"tue\",\"wed\",\"thu\",\"fri\"]"},{"name":"end","type":"string","required":true,"description":"HH:MM 24h, e.g. 21:00"},{"name":"name","type":"string","required":true,"description":"Schedule name, e.g. Bedtime"},{"name":"profile_id","type":"string","required":true,"description":"Profile ID (use list_profiles to discover IDs)"},{"name":"start","type":"string","required":true,"description":"HH:MM 24h, e.g. 21:00"},{"name":"timezone","type":"string","required":true,"description":"IANA timezone, e.g. America/Chicago"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":147},{"name":"delete_schedule","title":null,"description":"Delete a schedule from a profile. Destructive: rules referencing it lose their time window.","inputs":[{"name":"profile_id","type":"string","required":true,"description":"Profile ID (use list_profiles to discover IDs)"},{"name":"schedule_id","type":"string","required":true,"description":"Schedule ID (use list_schedules to discover IDs)"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":61},{"name":"list_devices","title":null,"description":"List devices enrolled on a profile and their protection status.","inputs":[{"name":"profile_id","type":"string","required":true,"description":"Profile ID (use list_profiles to discover IDs)"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":36},{"name":"get_entitlements","title":null,"description":"Get the account plan, limits (max rules, profiles, devices), and current usage.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":27},{"name":"get_referral_code","title":null,"description":"Get the account referral code and link for the give-a-month-get-a-month program.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":27}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T05:46:01.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":92,"partial":false,"deprecated":null,"stale":30,"noRepo":null}},"mismatches":[],"changelog":{"trackingSince":"2026-10-04","recent":[{"id":"chg_01a1aa3e-23bc-71b6-af80-961c6c08a7bc","kind":"check.unverifiable","summary":"Security disclosure (fail → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server#chg-chg_01a1aa3e-23bc-71b6-af80-961c6c08a7bc"},{"id":"chg_01a19fec-63b0-7712-8111-5297c5a96b60","kind":"check.verdict","summary":"Stability (0.97 → pass)","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server#chg-chg_01a19fec-63b0-7712-8111-5297c5a96b60"},{"id":"chg_01a1959c-9c0e-7084-a734-c6c6c792a292","kind":"score.total_changed","summary":"Trust score (82 → 83)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server#chg-chg_01a1959c-9c0e-7084-a734-c6c6c792a292"},{"id":"chg_01a18b52-72d6-724e-be5d-7406154913a1","kind":"score.total_changed","summary":"Trust score (81 → 82)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server#chg-chg_01a18b52-72d6-724e-be5d-7406154913a1"},{"id":"chg_01a18101-6f1a-7b53-8a90-7987d6ed3627","kind":"score.total_changed","summary":"Trust score (80 → 81)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server#chg-chg_01a18101-6f1a-7b53-8a90-7987d6ed3627"},{"id":"chg_01a176b3-7907-784b-9cdb-8fe26c2124ad","kind":"score.total_changed","summary":"Trust score (79 → 80)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server#chg-chg_01a176b3-7907-784b-9cdb-8fe26c2124ad"},{"id":"chg_01a16c65-cb3f-75c2-9536-c3334d1f517b","kind":"score.total_changed","summary":"Trust score (78 → 79)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-24","url":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server#chg-chg_01a16c65-cb3f-75c2-9536-c3334d1f517b"},{"id":"chg_01a16219-53be-7b54-b362-f471dd198c1c","kind":"score.total_changed","summary":"Trust score (77 → 78)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-22","url":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server#chg-chg_01a16219-53be-7b54-b362-f471dd198c1c"},{"id":"chg_01a157cc-4474-7a89-b61d-fe8142c4a526","kind":"score.total_changed","summary":"Trust score (76 → 77)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-20","url":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server#chg-chg_01a157cc-4474-7a89-b61d-fe8142c4a526"},{"id":"chg_01a14853-cdb9-79ed-a809-b057fc5104a9","kind":"score.total_changed","summary":"Trust score (75 → 76)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-17","url":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server#chg-chg_01a14853-cdb9-79ed-a809-b057fc5104a9"},{"id":"chg_01a13e09-445f-7b9d-a95f-d872bffdb6c1","kind":"score.total_changed","summary":"Trust score (74 → 75)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-15","url":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server#chg-chg_01a13e09-445f-7b9d-a95f-d872bffdb6c1"},{"id":"chg_01a138ea-56b7-72f5-9493-2ff5a3500c7b","kind":"check.reverified","summary":"Stability (unverified → 0.33)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-14","url":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server#chg-chg_01a138ea-56b7-72f5-9493-2ff5a3500c7b"},{"id":"chg_01a138ea-56ba-7f15-8006-7b25c5b98337","kind":"score.total_changed","summary":"Trust score (69 → 74)","materiality":"functional","direction":"improvement","scoreDelta":5,"occurredOn":"2026-10-14","url":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server#chg-chg_01a138ea-56ba-7f15-8006-7b25c5b98337"},{"id":"chg_01a12ef0-18bd-7571-87d2-b7767e207c6b","kind":"check.reverified","summary":"Security disclosure (unverified → fail)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-12","url":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server#chg-chg_01a12ef0-18bd-7571-87d2-b7767e207c6b"},{"id":"chg_01a12d1e-6828-78b1-9612-d84696ba39c1","kind":"check.unverifiable","summary":"Security disclosure (fail → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-11","url":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server#chg-chg_01a12d1e-6828-78b1-9612-d84696ba39c1"},{"id":"chg_01a1067e-e269-75cb-8de2-d75e4e383ff9","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-04","url":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server#chg-chg_01a1067e-e269-75cb-8de2-d75e4e383ff9"},{"id":"chg_01a1065b-f2cb-7de9-a822-59e45293c0fe","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-04","url":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server#chg-chg_01a1065b-f2cb-7de9-a822-59e45293c0fe"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server/changelog.json"},"links":{"html":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server","markdown":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server.md","changelogJson":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server/changelog.json","changelogRss":"https://verifymcp.io/servers/com-korushield-koru-shield/korushield-mcp-server.xml","external":[{"label":"npm package","href":"https://www.npmjs.com/package/korushield-mcp-server"},{"label":"Socket report","href":"https://socket.dev/npm/package/korushield-mcp-server"},{"label":"Repository","href":"https://github.com/KoruShield/koru-shield-mcp"}]}}