{"$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-06T04:58:13.873Z","url":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel","markdownUrl":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel.md","server":{"slug":"com-deployangel-deployangel","name":"DeployAngel","registryName":"com.deployangel/deployangel","description":"Wait for production to clear each deploy, and read the evidence when a release fails.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"deployangel","type":"pypi","identifier":"deployangel","withdrawn":false,"url":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel","version":"0.1.29","transport":"stdio","scoredAt":"2026-11-05T21:02:14.863Z"},"score":{"total":83,"tier":"high trust","status":"scored","weekDelta":6,"history":[{"date":"2026-11-05","total":83},{"date":"2026-11-04","total":83},{"date":"2026-11-03","total":68},{"date":"2026-11-02","total":67},{"date":"2026-11-01","total":82},{"date":"2026-10-31","total":62},{"date":"2026-10-30","total":77},{"date":"2026-10-29","total":77},{"date":"2026-10-28","total":62},{"date":"2026-10-27","total":62},{"date":"2026-10-26","total":62},{"date":"2026-10-25","total":62},{"date":"2026-10-24","total":77},{"date":"2026-10-23","total":62},{"date":"2026-10-22","total":77},{"date":"2026-10-21","total":62}]},"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.","Runs hatchling.build at install time, a recognised build step with no custom scripting around it.","No production dependencies, so there is no dependency health to assess."],"codes":[{"code":"supplychain.malware_clean","args":{}},{"code":"cve.none","args":{}},{"code":"installscript.allowlisted","args":{"tool":"hatchling.build","hooks":"build_backend"}},{"code":"dephealth.no_dependencies","args":{"deps":"0","unhealthy":"0"}}]},{"name":"Provenance & Transparency","score":100,"verdict":"pass","reasons":["Source repository is publicly reachable at the declared URL.","Cryptographically verified build provenance (signed, bound to DeployAngel/deployangel-python).","Clear OSI-approved license (MIT).","Actively maintained (last published 0 days ago).","Publishes a security disclosure policy (SECURITY.md)."],"codes":[{"code":"provenance.repo_verified","args":{}},{"code":"provenance.verified","args":{"repo":"DeployAngel/deployangel-python"}},{"code":"license.osi","args":{"spdx":"MIT"}},{"code":"maintenance.recent","args":{"age_days":"0"}},{"code":"disclosure.present","args":{}}]},{"name":"Schema Quality & AI Usability","score":57,"verdict":"fail","reasons":["AI-judged instruction clarity (good).","Context-footprint check failed: tool/resource definitions use about 961 tokens (~160/item across 6 items; 6 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":"160","items":"6","tools":"6","tokens":"961","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":50,"verdict":"partial","reasons":["Stability observed for 15 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"15"}}]},{"name":"Tool Coverage","score":91,"verdict":"partial","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","72% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"72"}}]},{"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 6 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 7 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":"6"}},{"code":"toolsafety.manipulation_clean","args":{"units":"7","judged":"7"}}]},{"name":"Capabilities","score":60,"verdict":"fail","reasons":["Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28."],"codes":[{"code":"protocol.outdated","args":{"latest":"2026-07-28","version":"2025-06-18"}}]}],"inconclusive":[],"malware":[],"components":[{"slug":"deployangel","type":"pypi","identifier":"deployangel","withdrawn":false,"score":83,"current":true,"url":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel","markdownUrl":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel.md"}],"facts":[{"label":"Registry","value":"pypi"},{"label":"Package","value":"deployangel"},{"label":"Version","value":"0.1.29"},{"label":"Transport","value":"stdio"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"get_verification","title":null,"description":"Current verdict document for a deployment: state, verdict, confidence, coverage, findings, new exceptions, clearance report, and what is still watched. Defaults to the current git HEAD.","inputs":[{"name":"commit","type":"string","required":false,"description":"Commit SHA (prefix of 7+ characters is fine)."},{"name":"deployment_id","type":"string","required":false,"description":"DeployAngel deployment ID."},{"name":"latest","type":"boolean","required":false,"description":"Use the most recent deployment."},{"name":"version","type":"string","required":false,"description":"Release version, e.g. v184."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":102},{"name":"wait_for_verification","title":null,"description":"Wait for a deployment's verification. until=initial returns at the 15-minute initial check (\"no problems so far\" is NOT clearance); until=verdict waits for verified, failed, or inconclusive. Returns the in-progress document if timeout_seconds (max 300) is reached; call again while it is still in progress. Inconclusive means not verified.","inputs":[{"name":"commit","type":"string","required":false,"description":"Commit SHA (prefix of 7+ characters is fine)."},{"name":"deployment_id","type":"string","required":false,"description":"DeployAngel deployment ID."},{"name":"latest","type":"boolean","required":false,"description":"Use the most recent deployment."},{"name":"timeout_seconds","type":"integer","required":false,"description":null},{"name":"until","type":"string","required":false,"description":null},{"name":"version","type":"string","required":false,"description":"Release version, e.g. v184."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":156},{"name":"get_exercise_plan","title":null,"description":"What stands between a release and clearance, and what to exercise against production so it clears sooner: normally active routes short of their runs, routes this release changed that haven't run, and critical flows. needed marks what clearance waits on; the rest are only worth running. Routes marked mutating change data: use a test account or ask first. Your requests count as ordinary traffic; report what you ran with report_with. Defaults to the current git HEAD.","inputs":[{"name":"commit","type":"string","required":false,"description":"Commit SHA (prefix of 7+ characters is fine)."},{"name":"deployment_id","type":"string","required":false,"description":"DeployAngel deployment ID."},{"name":"latest","type":"boolean","required":false,"description":"Use the most recent deployment."},{"name":"version","type":"string","required":false,"description":"Release version, e.g. v184."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":157},{"name":"list_deployments","title":null,"description":"Recent deployments with their verification state and verdict.","inputs":[{"name":"limit","type":"integer","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":26},{"name":"get_exception","title":null,"description":"Sanitized details and a representative stack trace (application frames, or library frames when there are none) for an exception fingerprint.","inputs":[{"name":"fingerprint","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":40},{"name":"list_late_regressions","title":null,"description":"Failures found after a release was cleared, on paths the clearance did not cover. One with dismissed set was dismissed by a person as a false alarm, with their reason: it needs no action.","inputs":[{"name":"limit","type":"integer","required":false,"description":null},{"name":"since","type":"string","required":false,"description":"ISO 8601 time"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":71}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T21:02:14.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":[{"hook":"build_backend","tier":"allowlisted"}],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":{"nodes":0,"partial":false,"deprecated":null,"stale":null,"noRepo":null}},"mismatches":[],"changelog":{"trackingSince":"2026-10-21","recent":[{"id":"chg_01a1ad84-f779-78c4-8e3c-40b3d4f9e2de","kind":"score.total_changed","summary":"Trust score (50 → 83)","materiality":"functional","direction":"improvement","scoreDelta":33,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel#chg-chg_01a1ad84-f779-78c4-8e3c-40b3d4f9e2de"},{"id":"chg_01a1ad83-227a-7bc3-b999-a007cba24369","kind":"check.unverifiable","summary":"Tool safety (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel#chg-chg_01a1ad83-227a-7bc3-b999-a007cba24369"},{"id":"chg_01a1ad83-2283-7ad8-bdfd-a7a0901658f6","kind":"check.unverifiable","summary":"Stability (0.47 → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel#chg-chg_01a1ad83-2283-7ad8-bdfd-a7a0901658f6"},{"id":"chg_01a1ad83-2284-7914-8251-27597de1465c","kind":"check.unverifiable","summary":"Capabilities (fail → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel#chg-chg_01a1ad83-2284-7914-8251-27597de1465c"},{"id":"chg_01a1ad83-2286-70e9-b990-059252bb5fa0","kind":"check.unverifiable","summary":"Tool coverage (100 → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel#chg-chg_01a1ad83-2286-70e9-b990-059252bb5fa0"},{"id":"chg_01a1ad83-2289-77f6-adc9-eb187c6dfbd7","kind":"check.appeared","summary":"First check of Schema quality (unverified)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel#chg-chg_01a1ad83-2289-77f6-adc9-eb187c6dfbd7"},{"id":"chg_01a1ad83-228a-7efe-b16e-34a9877b3bd6","kind":"package.version_changed","summary":"Package version (0.1.26 → 0.1.28)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel#chg-chg_01a1ad83-228a-7efe-b16e-34a9877b3bd6"},{"id":"chg_01a1ad83-228b-79c0-bc52-2b874ea92877","kind":"score.total_changed","summary":"Trust score (63 → 50)","materiality":"functional","direction":"regression","scoreDelta":-13,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel#chg-chg_01a1ad83-228b-79c0-bc52-2b874ea92877"},{"id":"chg_01a1ac5e-166d-70c4-b5e3-4cbe77ed6d28","kind":"check.unverifiable","summary":"Malware scan (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel#chg-chg_01a1ac5e-166d-70c4-b5e3-4cbe77ed6d28"},{"id":"chg_01a1ac5e-166e-7c8b-92f7-051c9a5fcbb4","kind":"check.unverifiable","summary":"Provenance (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel#chg-chg_01a1ac5e-166e-7c8b-92f7-051c9a5fcbb4"},{"id":"chg_01a1ac5e-166f-759a-9232-5d7d08faaf59","kind":"package.version_changed","summary":"Package version (0.1.26 → 0.1.27)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel#chg-chg_01a1ac5e-166f-759a-9232-5d7d08faaf59"},{"id":"chg_01a1ac5e-1670-7491-9fc7-358ed4296293","kind":"score.total_changed","summary":"Trust score (83 → 63)","materiality":"functional","direction":"regression","scoreDelta":-20,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel#chg-chg_01a1ac5e-1670-7491-9fc7-358ed4296293"},{"id":"chg_01a1a894-2e4f-7534-adfc-782855a91033","kind":"package.version_changed","summary":"Package version (0.1.24 → 0.1.26)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel#chg-chg_01a1a894-2e4f-7534-adfc-782855a91033"},{"id":"chg_01a1a827-b68c-7eb1-8a9a-7885d5deb4de","kind":"check.measure","summary":"Schema quality (139 → 156)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel#chg-chg_01a1a827-b68c-7eb1-8a9a-7885d5deb4de"},{"id":"chg_01a1a827-b68e-7479-9211-94214175c830","kind":"score.total_changed","summary":"Trust score (50 → 83)","materiality":"functional","direction":"improvement","scoreDelta":33,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel#chg-chg_01a1a827-b68e-7479-9211-94214175c830"},{"id":"chg_01a1a825-ee4a-726a-8544-c2e65875b036","kind":"check.unverifiable","summary":"Stability (0.43 → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel#chg-chg_01a1a825-ee4a-726a-8544-c2e65875b036"},{"id":"chg_01a1a825-ee4c-76db-8fe2-dad595475f04","kind":"check.unverifiable","summary":"Tool safety (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel#chg-chg_01a1a825-ee4c-76db-8fe2-dad595475f04"},{"id":"chg_01a1a825-ee4d-7ee2-afb2-673e9bdf4dce","kind":"check.unverifiable","summary":"Capabilities (fail → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel#chg-chg_01a1a825-ee4d-7ee2-afb2-673e9bdf4dce"},{"id":"chg_01a1a825-ee4e-77fd-9001-c277df7d6b95","kind":"check.unverifiable","summary":"Tool coverage (100 → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel#chg-chg_01a1a825-ee4e-77fd-9001-c277df7d6b95"},{"id":"chg_01a1a825-ee4f-717e-a623-2cd0b160571f","kind":"check.appeared","summary":"First check of Schema quality (unverified)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel#chg-chg_01a1a825-ee4f-717e-a623-2cd0b160571f"}],"truncated":true,"feedUrl":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel/changelog.json"},"links":{"html":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel","markdown":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel.md","changelogJson":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel/changelog.json","changelogRss":"https://verifymcp.io/servers/com-deployangel-deployangel/deployangel.xml","external":[{"label":"PyPI project","href":"https://pypi.org/project/deployangel/"},{"label":"Socket report","href":"https://socket.dev/pypi/package/deployangel"},{"label":"Repository","href":"https://github.com/DeployAngel/deployangel-python"},{"label":"Website","href":"https://www.deployangel.com/"}]}}