{"$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:24:38.379Z","url":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp","markdownUrl":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp.md","server":{"slug":"beiryu-vn-skills","name":"vn-skills","registryName":"io.github.beiryu/vn-skills","description":"Vietnam: VietQR, address, tax ID, CCCD, phone, holiday, names, number/date format, lunar, e-invoice","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"vn-skills-mcp","type":"npm","identifier":"@vn-skills/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp","version":"0.8.0","transport":"stdio","scoredAt":"2026-11-05T01:34:19.576Z"},"score":{"total":86,"tier":"high trust","status":"scored","weekDelta":5,"history":[{"date":"2026-11-05","total":86},{"date":"2026-11-04","total":86},{"date":"2026-11-03","total":86},{"date":"2026-11-02","total":85},{"date":"2026-11-01","total":85},{"date":"2026-10-31","total":84},{"date":"2026-10-30","total":69},{"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":80},{"date":"2026-10-24","total":79},{"date":"2026-10-23","total":64}]},"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.","43 of 126 dependencies flagged as unhealthy."],"codes":[{"code":"supplychain.malware_clean","args":{}},{"code":"cve.none","args":{}},{"code":"installscript.none","args":{}},{"code":"dephealth.assessed","args":{"deps":"126","unhealthy":"43"}}]},{"name":"Provenance & Transparency","score":100,"verdict":"pass","reasons":["Source repository is publicly reachable at the declared URL.","Cryptographically verified build provenance (signed, bound to beiryu/vn-skills).","Clear OSI-approved license (MIT).","Actively maintained (last published 5 days ago).","Publishes a security disclosure policy (SECURITY.md)."],"codes":[{"code":"provenance.repo_verified","args":{}},{"code":"provenance.verified","args":{"repo":"beiryu/vn-skills"}},{"code":"license.osi","args":{"spdx":"MIT"}},{"code":"maintenance.recent","args":{"age_days":"5"}},{"code":"disclosure.present","args":{}}]},{"name":"Schema Quality & AI Usability","score":81,"verdict":"fail","reasons":["100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).","AI-judged instruction clarity (good).","Tool/resource definitions use about 3720 tokens (~50/item across 74 items; 37 tools + 37 resources), lean.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.descriptions","args":{"pct":"100"}},{"code":"schema.ai_quality","args":{"band":"good"}},{"code":"schema.footprint_lean","args":{"avg":"50","items":"74","tools":"37","tokens":"3720","resources":"37"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":43,"verdict":"partial","reasons":["Stability observed for 13 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"13"}}]},{"name":"Tool Coverage","score":80,"verdict":"partial","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","40% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"40"}}]},{"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 37 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 38 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":"37"}},{"code":"toolsafety.manipulation_clean","args":{"units":"38","judged":"38"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.","Supports UI / widget rendering."],"codes":[{"code":"protocol.supported","args":{"latest":"2026-07-28","version":"2025-11-25"}},{"code":"cap.ui_supported","args":{}}]}],"inconclusive":[],"malware":[],"components":[{"slug":"vn-skills-mcp","type":"npm","identifier":"@vn-skills/mcp","withdrawn":false,"score":86,"current":true,"url":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp","markdownUrl":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp.md"}],"facts":[{"label":"Registry","value":"npm"},{"label":"Package","value":"@vn-skills/mcp"},{"label":"Version","value":"0.8.0"},{"label":"Transport","value":"stdio"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"vietqr_build","title":"Build VietQR","description":"Create a VietQR (NAPAS 247) bank-transfer QR payload. Returns the EMVCo string, CRC and optionally a PNG image. Bank accepts BIN (970436), code (VCB) or name (Vietcombank). Amount is integer VND; note is sanitized (no diacritics, max 25 chars).","inputs":[{"name":"account","type":"string","required":true,"description":"Beneficiary account number"},{"name":"amount","type":"number|string","required":false,"description":"Amount in VND (integer). Omit for a static QR."},{"name":"bank","type":"string","required":true,"description":"Bank BIN, code or name, e.g. \"VCB\", \"970436\", \"Vietcombank\""},{"name":"image","type":"boolean","required":false,"description":"Also return a PNG image (base64). Default false."},{"name":"note","type":"string","required":false,"description":"Transfer note / purpose"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":169},{"name":"vietqr_parse","title":"Parse VietQR","description":"Decode a VietQR / EMVCo QR payload string: bank, account, amount, note, and whether the CRC is valid.","inputs":[{"name":"payload","type":"string","required":true,"description":"The decoded QR text, starting with 000201"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":53},{"name":"vietqr_decode","title":"Decode VietQR image","description":"Read the QR code in a PNG image file and decode it like vietqr_parse: bank, account, amount, note, CRC validity. Returns READ_ERROR for an unreadable/non-PNG file and NO_QR when no QR code is found.","inputs":[{"name":"path","type":"string","required":true,"description":"Path to a PNG image containing a VietQR code"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":76},{"name":"vietqr_banks","title":"Search banks","description":"Search the NAPAS bank list by BIN, code, short name, full name or SWIFT/BIC code. Empty query lists all banks.","inputs":[{"name":"query","type":"string","required":false,"description":"e.g. \"vietcombank\", \"VCB\", \"9704\", \"BFTVVNVX\" (SWIFT/BIC)"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":75},{"name":"vn_address_parse","title":"Parse Vietnamese address","description":"Parse a free-text Vietnamese address into province / ward / street using the post-01/07/2025 catalogue (34 provinces, no districts). Handles missing diacritics and abbreviations (TP.HCM, Q.1, P. Bến Nghé). Set mode \"legacy\" for pre-2025 addresses with districts.","inputs":[{"name":"mode","type":"string","required":false,"description":"Default auto"},{"name":"text","type":"string","required":true,"description":"Free-text address"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":96},{"name":"vn_address_convert_batch","title":"Convert many old addresses to new (2025)","description":"Convert up to 1000 pre-July-2025 Vietnamese free-text addresses (63 provinces, districts, wards) into the new 2-level structure (34 provinces, wards) in one call. Returns per-row results plus a summary of converted and failed rows. Null, empty or non-string entries do not fail the call: they come back as failed rows (ok:false with an error code) and are counted in summary.failed.","inputs":[{"name":"addresses","type":"array","required":true,"description":"Free-text old addresses (max 1000); null or empty entries become failed rows"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":122},{"name":"vn_address_convert","title":"Convert old address to new (2025)","description":"Convert a pre-July-2025 Vietnamese address (63 provinces, districts, wards) into the new 2-level structure (34 provinces, wards). Returns the new ward/province, mapping type (unchanged/merged/divided) and all candidates when the old ward was split. When the client supports elicitation, the server may ask the user to pick the new ward for a split old ward (chosenBy: user|default).","inputs":[{"name":"district","type":"string","required":false,"description":null},{"name":"province","type":"string","required":false,"description":null},{"name":"street","type":"string","required":false,"description":null},{"name":"text","type":"string","required":false,"description":"Free-text old address"},{"name":"ward","type":"string","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":137},{"name":"vn_address_search_wards","title":"Search wards","description":"Find current (post-2025) wards by name, optionally within a province.","inputs":[{"name":"limit","type":"integer","required":false,"description":null},{"name":"province","type":"string","required":false,"description":null},{"name":"query","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":49},{"name":"vn_tax_id_validate","title":"Validate tax ID","description":"Offline validation of a Vietnamese tax ID (mã số thuế): 10 digits (enterprise), 13 digits (branch, e.g. 0100233488-001) with check-digit verification, or 12-digit personal ID (format only). Does not query the tax authority.","inputs":[{"name":"taxId","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":77},{"name":"vn_id_parse","title":"Parse citizen ID","description":"Offline validation and decoding of a 12-digit CCCD (province, sex, birth year; legacy province mapped to 2025 province) or format check of a 9-digit CMND. Format validity does not prove the identity exists.","inputs":[{"name":"id","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":64},{"name":"vn_phone","title":"Vietnamese phone number","description":"Normalise a Vietnamese phone number (0/84/+84, old 11-digit 01xx mobile prefixes) to national and E.164 forms and classify it: mobile (original carrier) or landline (area code, province). Offline.","inputs":[{"name":"phone","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":65},{"name":"vn_name","title":"Vietnamese name tools","description":"Split a Vietnamese full name into họ / tên đệm / tên (handles Tôn Thất, Nguyễn Phúc), plus slug and initials; or sort a list of names by tên with Vietnamese collation.","inputs":[{"name":"ascii","type":"boolean","required":false,"description":"Strip diacritics from initials"},{"name":"name","type":"string","required":false,"description":"Full name to split"},{"name":"names","type":"array","required":false,"description":"Names to sort"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":84},{"name":"vn_money_to_words","title":"Amount in Vietnamese words","description":"Read an integer VND amount in Vietnamese words, e.g. 1200000 -> \"một triệu hai trăm nghìn đồng\". Also reads plain numbers without a unit with plain: true, e.g. 30 -> \"ba mươi\". Options: thousand \"nghìn\"/\"ngàn\", odd \"lẻ\"/\"linh\", capitalize, unit.","inputs":[{"name":"amount","type":"number|string","required":true,"description":null},{"name":"capitalize","type":"boolean","required":false,"description":null},{"name":"chan","type":"boolean","required":false,"description":"Append \"chẵn\" for round amounts"},{"name":"odd","type":"string","required":false,"description":null},{"name":"plain","type":"boolean","required":false,"description":"Read a plain number without a unit (default false); not with unit/chan"},{"name":"thousand","type":"string","required":false,"description":null},{"name":"unit","type":"string","required":false,"description":"Default \"đồng\"; \"\" for none"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":169},{"name":"vn_text_speech_normalize","title":"Rewrite text as spoken Vietnamese for TTS","description":"Rewrite numbers, VND amounts (1.250.000đ, 500k), percentages, phone numbers and dd/mm/yyyy dates in text as spoken Vietnamese for text-to-speech. Decimals and partial dates are left unchanged and listed in skipped. Returns text, changes, skipped.","inputs":[{"name":"text","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":77},{"name":"vn_money_parse","title":"Vietnamese number words to digits","description":"Parse an amount written in Vietnamese words back to digits, e.g. \"một triệu hai trăm nghìn đồng\" -> \"1200000\". Returns value (digit string), negative, unit, chan.","inputs":[{"name":"text","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":59},{"name":"vn_number_format","title":"Vietnamese number formatting and parsing","description":"Format numbers/VND/dates the Vietnamese way (1.234.567,89; 1.200.000 ₫; 1,2 triệu; dd/MM/yyyy) or parse typed amounts (\"1tr2\", \"500k\", \"1,5 tỷ\"; \"1.500\" = 1500).","inputs":[{"name":"mode","type":"string","required":true,"description":null},{"name":"value","type":"number|string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":90},{"name":"vn_lunar_from_solar","title":"Solar to lunar date","description":"Convert a Gregorian date (dd/mm/yyyy or yyyy-mm-dd) to the Vietnamese lunar date with can chi (e.g. Ất Tỵ), zodiac, leap-month flag and solar term. Optional hour (0-23) adds hourCanChi, hourBranch, hourRange (giờ sinh).","inputs":[{"name":"date","type":"string","required":true,"description":null},{"name":"hour","type":"integer","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":89},{"name":"vn_lunar_to_solar","title":"Lunar to solar date","description":"Convert a Vietnamese lunar date to the Gregorian date. Set leap=true for the leap (nhuận) month.","inputs":[{"name":"day","type":"integer","required":true,"description":null},{"name":"leap","type":"boolean","required":false,"description":null},{"name":"month","type":"integer","required":true,"description":null},{"name":"year","type":"integer","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":63},{"name":"vn_lunar_parse_date","title":"Parse Vietnamese date phrase","description":"Turn a Vietnamese date phrase into a solar date: lunar (\"rằm tháng Giêng năm sau\", \"mùng 1 Tết\", \"23 tháng Chạp\"), relative (\"ngày mai\", \"3 ngày nữa\", \"thứ Sáu tuần sau\") or Gregorian. ref (yyyy-mm-dd) defaults to today in UTC+7.","inputs":[{"name":"ref","type":"string","required":false,"description":null},{"name":"text","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":95},{"name":"vn_lunar_month","title":"Lunar month calendar","description":"Calendar of a Gregorian month: each day with lunar date (leap flag, mùng 1, rằm), day can chi, solar term starts and holidays/days off.","inputs":[{"name":"month","type":"integer","required":true,"description":null},{"name":"year","type":"integer","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":61},{"name":"vn_lunar_holidays","title":"Vietnamese holidays","description":"List Vietnamese holidays for a solar year (Tết, Giỗ Tổ Hùng Vương, 30/4, 1/5, 2/9, Trung thu...). Lunar holidays are resolved to solar dates. publicOnly limits to official days off.","inputs":[{"name":"publicOnly","type":"boolean","required":false,"description":null},{"name":"year","type":"integer","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":80},{"name":"vn_holidays_year","title":"Vietnam official days off for a year","description":"Official days off for public-sector staff in a year (2023-2199): Tết Dương lịch, Tết Âm lịch, Giỗ Tổ Hùng Vương, 30/4, 1/5, Quốc khánh, Ngày Văn hóa Việt Nam 24/11 (from 2026), with nghỉ bù and swapped working Saturdays from the Government notice. Unannounced years return the statutory days, announced: false and the pending Tết / National Day days.","inputs":[{"name":"year","type":"integer","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":120},{"name":"vn_holidays_ics","title":"Export Vietnam days off as an iCalendar file","description":"Export the official days off of a year (2023-2199) as iCalendar (RFC 5545) text for Google Calendar, Outlook or Apple Calendar: holidays, nghỉ bù, swapped days and (optionally) working Saturdays. Unannounced years omit pending days and list them in warnings.","inputs":[{"name":"includeWorkingSaturdays","type":"boolean","required":false,"description":null},{"name":"year","type":"integer","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":92},{"name":"vn_holidays_is_working_day","title":"Is it a working day in Vietnam?","description":"Whether a date is a working day for public-sector staff (Monday-Friday minus holidays and nghỉ bù, plus swapped Saturdays). certain: false when the year is not announced and the date may still become a Tết or National Day day off.","inputs":[{"name":"day","type":"integer","required":true,"description":null},{"name":"month","type":"integer","required":true,"description":null},{"name":"year","type":"integer","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":83},{"name":"vn_holidays_add_working_days","title":"Add Vietnamese working days","description":"The date n working days after (or before, n < 0) a date, skipping weekends, holidays and nghỉ bù; the start date is not counted. certain: false if unannounced days were crossed.","inputs":[{"name":"day","type":"integer","required":true,"description":null},{"name":"month","type":"integer","required":true,"description":null},{"name":"n","type":"integer","required":true,"description":null},{"name":"year","type":"integer","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":86},{"name":"vn_holidays_count_working_days","title":"Count Vietnamese working days","description":"Number of working days in (from, to]: the start date is not counted, the end date is; negative if to is before from. Skips weekends, holidays and nghỉ bù. certain: false if unannounced Tết or National Day days were crossed.","inputs":[{"name":"from","type":"string","required":true,"description":null},{"name":"to","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":82},{"name":"vn_einvoice_validate","title":"Validate e-invoice","description":"Validate an e-invoice (hóa đơn điện tử) object against the mandatory contents of Decree 123/2020 (series, date, seller tax ID, lines, VAT rates 0/5/8/10/KCT/KKKNT).","inputs":[{"name":"invoice","type":"object","required":true,"description":"Invoice object: {series, issueDate, seller{name,taxId,address}, buyer{...}, lines[{name,quantity,unitPrice,vatRate}]}"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":102},{"name":"vn_einvoice_totals","title":"Compute e-invoice totals","description":"Validate an invoice and compute line amounts, VAT per rate, grand total and the total in Vietnamese words.","inputs":[{"name":"invoice","type":"object","required":true,"description":"Invoice object: {series, issueDate, seller{name,taxId,address}, buyer{...}, lines[{name,quantity,unitPrice,vatRate}]}"},{"name":"thousand","type":"string","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":78},{"name":"vn_einvoice_vat","title":"Apply or split VAT","description":"Apply VAT to a net amount, or with inclusive=true split a VAT-inclusive price (giá đã gồm VAT) into net (tiền hàng) and VAT. Rates 0/5/8/10/KCT/KKKNT. Net is rounded half away from zero and the leftover đồng goes to VAT (library convention).","inputs":[{"name":"amount","type":"number","required":true,"description":"Integer VND amount"},{"name":"inclusive","type":"boolean","required":false,"description":"true: amount already includes VAT"},{"name":"rate","type":"number|string","required":true,"description":"VAT rate: 0, 5, 8, 10, \"KCT\" or \"KKKNT\""}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":134},{"name":"vn_einvoice_mock_issue","title":"Issue invoice (mock)","description":"Issue an invoice through the in-memory MOCK provider (no real API, nothing persisted). Useful for testing integrations before wiring MISA/Viettel/VNPT sandbox adapters.","inputs":[{"name":"invoice","type":"object","required":true,"description":"Invoice object: {series, issueDate, seller{name,taxId,address}, buyer{...}, lines[{name,quantity,unitPrice,vatRate}]}"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":84},{"name":"vn_lunar_tet","title":"Date of Tết","description":"Solar date of Tết (lunar new year) for a year, with can chi and leap month.","inputs":[{"name":"year","type":"integer","required":true,"description":"Year, e.g. 2026"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":48},{"name":"vn_lunar_canchi","title":"Can chi of a year","description":"Can chi (e.g. Giáp Thìn) of a lunar year, with its leap month if any.","inputs":[{"name":"year","type":"integer","required":true,"description":"Year, e.g. 2024"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":49},{"name":"vn_tax_id_check_digit","title":"Tax ID check digit","description":"Compute the 10th check digit of a Vietnamese tax ID from its first 9 digits.","inputs":[{"name":"first9","type":"string","required":true,"description":"Exactly 9 digits"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":42},{"name":"vn_address_provinces","title":"List provinces","description":"List the 34 current Vietnamese provinces (since 01/07/2025) with ward counts.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":32},{"name":"vn_address_history","title":"Former wards of a current ward","description":"List the pre-01/07/2025 wards (with district and province) that became a current ward, by ward code or name.","inputs":[{"name":"province","type":"string","required":false,"description":null},{"name":"ward","type":"string","required":true,"description":"Current ward code or name"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":57},{"name":"vn_address_province","title":"Look up a province","description":"Look up one current province by name, alias (e.g. \"TP.HCM\") or 2-digit code.","inputs":[{"name":"query","type":"string","required":true,"description":"Province name, alias or code"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":47},{"name":"vn_einvoice_example","title":"Example e-invoice","description":"Return a valid example invoice object to start from.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":20}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T01:34:19.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":126,"partial":false,"deprecated":null,"stale":43,"noRepo":null}},"mismatches":[],"changelog":{"trackingSince":"2026-10-23","recent":[{"id":"chg_01a19f0a-a25b-7047-8bb2-5659fa898998","kind":"score.total_changed","summary":"Trust score (85 → 86)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp#chg-chg_01a19f0a-a25b-7047-8bb2-5659fa898998"},{"id":"chg_01a194be-d839-7e39-a8e3-23f8889c2618","kind":"score.total_changed","summary":"Trust score (84 → 85)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp#chg-chg_01a194be-d839-7e39-a8e3-23f8889c2618"},{"id":"chg_01a18f7b-9711-7247-82b9-eee64737458d","kind":"check.reverified","summary":"Malware scan (unverified → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp#chg-chg_01a18f7b-9711-7247-82b9-eee64737458d"},{"id":"chg_01a18f7b-9712-7d44-ac74-b0e7518d194f","kind":"score.total_changed","summary":"Trust score (69 → 84)","materiality":"functional","direction":"improvement","scoreDelta":15,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp#chg-chg_01a18f7b-9712-7d44-ac74-b0e7518d194f"},{"id":"chg_01a18dad-6bc5-7f19-a4bd-5a333c17c3bc","kind":"check.unverifiable","summary":"Malware scan (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp#chg-chg_01a18dad-6bc5-7f19-a4bd-5a333c17c3bc"},{"id":"chg_01a18dad-6bc7-79e4-b2a5-849a5ba8d1ae","kind":"check.measure","summary":"Schema quality (75 → 50)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp#chg-chg_01a18dad-6bc7-79e4-b2a5-849a5ba8d1ae"},{"id":"chg_01a18dad-6bc8-784f-9270-57b231f89711","kind":"check.appeared","summary":"First check of Capabilities (pass)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp#chg-chg_01a18dad-6bc8-784f-9270-57b231f89711"},{"id":"chg_01a18dad-6bc9-747d-a513-b3b4b23156f3","kind":"check.appeared","summary":"First check of Schema quality (100)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp#chg-chg_01a18dad-6bc9-747d-a513-b3b4b23156f3"},{"id":"chg_01a18dad-6bca-7467-95ce-ec0bcfaa3dd4","kind":"package.version_changed","summary":"Package version (0.7.0 → 0.8.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp#chg-chg_01a18dad-6bca-7467-95ce-ec0bcfaa3dd4"},{"id":"chg_01a18dad-6bca-7ab0-b254-fb6c9f7e6cf7","kind":"score.total_changed","summary":"Trust score (82 → 69)","materiality":"functional","direction":"regression","scoreDelta":-13,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp#chg-chg_01a18dad-6bca-7ab0-b254-fb6c9f7e6cf7"},{"id":"chg_01a18a55-cb24-77ff-aa88-3bdd38fc5bd2","kind":"score.total_changed","summary":"Trust score (81 → 82)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp#chg-chg_01a18a55-cb24-77ff-aa88-3bdd38fc5bd2"},{"id":"chg_01a18009-da13-7192-866c-36a50728b742","kind":"score.total_changed","summary":"Trust score (80 → 81)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp#chg-chg_01a18009-da13-7192-866c-36a50728b742"},{"id":"chg_01a17329-4588-7a6a-9390-91fc6f4d8918","kind":"check.reverified","summary":"Stability (unverified → 0.07)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-25","url":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp#chg-chg_01a17329-4588-7a6a-9390-91fc6f4d8918"},{"id":"chg_01a17329-458a-78b5-99e4-212b09b3f67a","kind":"score.total_changed","summary":"Trust score (49 → 80)","materiality":"functional","direction":"improvement","scoreDelta":31,"occurredOn":"2026-10-25","url":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp#chg-chg_01a17329-458a-78b5-99e4-212b09b3f67a"},{"id":"chg_01a17326-543f-700e-ae0b-091d9e749205","kind":"check.unverifiable","summary":"Tool safety (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-25","url":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp#chg-chg_01a17326-543f-700e-ae0b-091d9e749205"},{"id":"chg_01a17326-5440-7b9d-bcaf-8ab66855b68b","kind":"check.reason","summary":"Stability (Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.)","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-25","url":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp#chg-chg_01a17326-5440-7b9d-bcaf-8ab66855b68b"},{"id":"chg_01a17326-5441-7241-850b-d73bd9886943","kind":"check.unverifiable","summary":"Capabilities (pass → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-25","url":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp#chg-chg_01a17326-5441-7241-850b-d73bd9886943"},{"id":"chg_01a17326-5441-7ca0-a0e8-da489c89e97d","kind":"check.unverifiable","summary":"Tool coverage (100 → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-25","url":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp#chg-chg_01a17326-5441-7ca0-a0e8-da489c89e97d"},{"id":"chg_01a17326-5442-72d2-89cb-53e76f141257","kind":"check.appeared","summary":"First check of Schema quality (unverified)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-25","url":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp#chg-chg_01a17326-5442-72d2-89cb-53e76f141257"},{"id":"chg_01a17326-5442-7934-bd2c-f7a98bbdb654","kind":"package.version_changed","summary":"Package version (0.6.0 → 0.7.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-25","url":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp#chg-chg_01a17326-5442-7934-bd2c-f7a98bbdb654"}],"truncated":true,"feedUrl":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp/changelog.json"},"links":{"html":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp","markdown":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp.md","changelogJson":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp/changelog.json","changelogRss":"https://verifymcp.io/servers/beiryu-vn-skills/vn-skills-mcp.xml","external":[{"label":"npm package","href":"https://www.npmjs.com/package/@vn-skills/mcp"},{"label":"Socket report","href":"https://socket.dev/npm/package/@vn-skills/mcp"},{"label":"Repository","href":"https://github.com/beiryu/vn-skills"}]}}