{"$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-06T17:17:58.889Z","url":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb","markdownUrl":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb.md","server":{"slug":"dev-easeweb-easeweb","name":"EaseWeb accessibility","registryName":"dev.easeweb/easeweb","description":"Accessibility guides for coding agents: fixes with working code, test steps, contrast checks. EN/JA","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"easeweb","type":"remote","identifier":"https://easeweb.dev/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb","version":"1.0.0","transport":null,"scoredAt":"2026-11-06T00:28:27.275Z"},"score":{"total":79,"tier":"medium","status":"scored","weekDelta":4,"history":[{"date":"2026-11-06","total":79},{"date":"2026-11-05","total":78},{"date":"2026-11-04","total":78},{"date":"2026-11-03","total":77},{"date":"2026-11-02","total":77},{"date":"2026-11-01","total":76},{"date":"2026-10-31","total":76},{"date":"2026-10-30","total":75},{"date":"2026-10-29","total":73},{"date":"2026-10-28","total":74},{"date":"2026-10-27","total":74}]},"categories":[{"name":"Endpoint Security","score":80,"verdict":"fail","reasons":["The endpoint's TLS certificate is valid, in date, and uses a strong key.","No authorisation is required to call this server. Nothing on it is marked destructive, but we can't show that an anonymous caller can only read: full credit needs the server to list at least one tool and every tool to be verifiably read-only. We use a best-effort check of tool names and descriptions to tell read-only tools from tools that change things, so some genuinely read-only tools may not get full credit. Names that start with a read verb (get, list, read, search and similar) and accurate readOnlyHint annotations help. Meet that to earn full credit, or require authorisation.","HTTPS is enforced; there's no plaintext access path.","The HSTS (Strict-Transport-Security) header is present.","DNSSEC check failed: this domain isn't protected by DNSSEC."],"codes":[{"code":"tls.valid","args":{}},{"code":"auth.none_no_destructive","args":{}},{"code":"https.enforced","args":{}},{"code":"headers.hsts_present","args":{}},{"code":"dnssec.absent","args":{}}]},{"name":"Transport & Reachability","score":100,"verdict":"pass","reasons":["Verified streamable-http transport via a live MCP handshake."],"codes":[{"code":"transport.verified","args":{"transport":"streamable-http"}}]},{"name":"Schema Quality & AI Usability","score":87,"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 (excellent).","Tool/resource definitions use about 38141 tokens (~94/item across 405 items; 5 tools + 400 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":"excellent"}},{"code":"schema.footprint_lean","args":{"avg":"94","items":"405","tools":"5","tokens":"38141","resources":"400"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":33,"verdict":"partial","reasons":["Stability observed for 10 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"10"}}]},{"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":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","We read all 5 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":"5"}},{"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":"easeweb","type":"remote","identifier":"https://easeweb.dev/mcp","withdrawn":false,"score":79,"current":true,"url":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb","markdownUrl":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb.md"}],"facts":[{"label":"Endpoint","value":"https://easeweb.dev/mcp"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"none"},{"label":"Version","value":"1.0.0"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"before_building","title":null,"description":"Call BEFORE designing or building any interactive component or screen: menus, dialogs, carousels, tabs, forms, drag and drop, custom controls, cards, tables, charts, animation. This includes wireframes, mockups and prototypes. Takes the request in the user’s own words and returns the guides that apply with the requirements to build in from the start (keys, roles and names, focus, what is announced), working reference code, and the checks split into what the agent can confirm and what a person must. When the request itself breaks a rule (autoplay with no pause, a placeholder as the only label, a div as a button, hover-only menus, removed focus outlines, disabled zoom), it returns a version that keeps what the user wanted and passes, plus one sentence to say to the user. Do not refuse such a request, and do not build the failing version quietly.","inputs":[{"name":"limit","type":"integer","required":false,"description":"Guides to return at most (default 6, max 12)"},{"name":"locale","type":"string","required":false,"description":"Language of the answer and the guides: en (default) or ja. Japanese answers cite JIS X 8341-3:2016."},{"name":"request","type":"string","required":true,"description":"What the user asked for, in their words, e.g. \"autoplaying hero carousel\", \"custom dropdown with search\", \"カード全体をクリックできる一覧\""}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":288},{"name":"find_fix","title":null,"description":"Search the Learn guides by words, component name, tag, ARIA attribute or WCAG number (1.4.3, SC 2.1.1, JIS 達成基準, EN 301 549 9.x). Returns for each matching topic: the problem, the fix in one line, how to test it, the guide link, and the criterion in WCAG, EN 301 549, Section 508 and JIS X 8341-3 terms. Topics with no guide yet come back as \"in progress\". Use it when a finding, a complaint, a failing check or a question names a problem.","inputs":[{"name":"limit","type":"integer","required":false,"description":"Topics to return at most (default 8, max 20)"},{"name":"locale","type":"string","required":false,"description":"Language of the answer and the guides: en (default) or ja. Japanese answers cite JIS X 8341-3:2016."},{"name":"query","type":"string","required":true,"description":"Words, a tag, an ARIA attribute or a WCAG number"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":218},{"name":"get_guide","title":null,"description":"The full guide as Markdown, the same as easeweb.dev/learn/<slug>.md: what happens, why it fails, who it affects, what automation misses, the Before and After code, how to verify, and the limits. Also returns the After code as plain text with its marks (recommended, not enough on its own, the rule of thumb behind it). Get the slug from find_fix or before_building.","inputs":[{"name":"locale","type":"string","required":false,"description":"Language of the answer and the guides: en (default) or ja. Japanese answers cite JIS X 8341-3:2016."},{"name":"slug","type":"string","required":true,"description":"The guide slug, e.g. \"native-buttons\""}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":148},{"name":"test_steps","title":null,"description":"Call AFTER building or fixing something, and before telling the user it is done. For a guide (by slug) or a component (by query) returns the pass criteria, the checks the agent can run itself, the checks only a person can do (which keys to press and what should happen, as a two-minute script), the guide’s limits, and a Playwright regression test skeleton. Hand the person’s checks to the user as written; never report them as done.","inputs":[{"name":"locale","type":"string","required":false,"description":"Language of the answer and the guides: en (default) or ja. Japanese answers cite JIS X 8341-3:2016."},{"name":"query","type":"string","required":false,"description":"Or a component or problem in words, when the slug is unknown"},{"name":"slug","type":"string","required":false,"description":"A guide slug from find_fix or before_building"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":177},{"name":"check_palette","title":null,"description":"Call when choosing or changing colours, a palette or design tokens, before they are used in a design or in code. Takes colour pairs (foreground and background, with text size in px and weight when the foreground is text, or use: \"non-text\" for control borders, icons and focus rings) or a set of named tokens, in hex, rgb() or hsl(). Returns each pair’s contrast ratio, pass or fail against WCAG 1.4.3 (text) and 1.4.11 (non-text) at AA or AAA, the nearest passing shade of the same hue, and the guides that apply. It checks values, not rendered pages: text over images, real focus states and forced colors stay with the audit.","inputs":[{"name":"level","type":"string","required":false,"description":"Conformance level to check against (default AA)"},{"name":"locale","type":"string","required":false,"description":"Language of the answer and the guides: en (default) or ja. Japanese answers cite JIS X 8341-3:2016."},{"name":"pairs","type":"array","required":false,"description":"Colour pairs to check"},{"name":"tokens","type":"object","required":false,"description":"Or named tokens { \"ink\": \"#1b1b1b\", \"paper\": \"#fff\" }, up to 12; every combination is checked as text"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":264}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-06T00:28:27.000Z","track":"remote","endpoint":"https://easeweb.dev/mcp","declaredUrl":null,"truncated":false,"tls":{"outcome":"valid","label":"Valid","version":"TLS 1.3","cipherSuite":"TLS_AES_128_GCM_SHA256","chainError":null,"certificates":[{"subject":"CN=easeweb.dev","issuer":"CN=WE1,O=Google Trust Services,C=US","notBefore":"2026-10-05T23:45:44Z","notAfter":"2027-01-04T00:45:41Z","keyType":"ECDSA","keyBits":256,"isCa":false},{"subject":"CN=WE1,O=Google Trust Services,C=US","issuer":"CN=GTS Root R4,O=Google Trust Services LLC,C=US","notBefore":"2023-12-13T09:00:00Z","notAfter":"2029-02-20T14:00:00Z","keyType":"ECDSA","keyBits":256,"isCa":true},{"subject":"CN=GTS Root R4,O=Google Trust Services LLC,C=US","issuer":"CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE","notBefore":"2023-11-15T03:43:21Z","notAfter":"2028-01-28T00:00:42Z","keyType":"ECDSA","keyBits":384,"isCa":true}]},"dnssec":{"result":"insecure","label":"Not signed","name":"easeweb.dev.","steps":[{"zone":".","outcome":"verified","label":"Verified"},{"zone":"dev.","outcome":"verified","label":"Verified"},{"zone":"easeweb.dev.","outcome":"insecure_proven","label":"Unsigned (proven)"}]},"auth":{"outcome":"none","label":"No authorisation required","gate":null,"gateLabel":null,"status":200,"authorizationServers":[]},"httpsRedirect":{"outcome":"https_enforced","label":"HTTPS enforced","status":301},"transports":[{"transport":"streamable-http","outcome":"verified","label":"Verified","status":200,"followed":false}],"provenance":null,"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":null},"mismatches":[],"changelog":{"trackingSince":"2026-10-27","recent":[{"id":"chg_01a1ae41-c146-780e-a22c-ab7cc5f14da1","kind":"score.rubric_changed","summary":"We updated how we score, so this day's move reflects our rubric, not a change to the server","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-06","url":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb#chg-chg_01a1ae41-c146-780e-a22c-ab7cc5f14da1"},{"id":"chg_01a1a3e8-af09-7c8f-bf35-2f0aa5fbe5cd","kind":"resource.added","summary":"New resource “striped-backgrounds”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb#chg-chg_01a1a3e8-af09-7c8f-bf35-2f0aa5fbe5cd"},{"id":"chg_01a1a3e8-af0a-7ac2-b924-2e88165255fb","kind":"resource.added","summary":"New resource “striped-backgrounds (ja)”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb#chg-chg_01a1a3e8-af0a-7ac2-b924-2e88165255fb"},{"id":"chg_01a1a3e8-af0b-714c-acdd-7e758ba3042d","kind":"score.total_changed","summary":"Trust score (77 → 78)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb#chg-chg_01a1a3e8-af0b-714c-acdd-7e758ba3042d"},{"id":"chg_01a199a9-428c-7eef-ab64-bf4108e38808","kind":"score.total_changed","summary":"Trust score (76 → 77)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb#chg-chg_01a199a9-428c-7eef-ab64-bf4108e38808"},{"id":"chg_01a18f4a-51db-7ed9-8afb-f4ec0f2ca2a6","kind":"score.total_changed","summary":"Trust score (75 → 76)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb#chg-chg_01a18f4a-51db-7ed9-8afb-f4ec0f2ca2a6"},{"id":"chg_01a18a29-612e-727f-b1e5-dd740f7cfd3c","kind":"check.verdict","summary":"Schema quality (fail → pass)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb#chg-chg_01a18a29-612e-727f-b1e5-dd740f7cfd3c"},{"id":"chg_01a18a29-612e-79e6-96a2-acb9b4d08efe","kind":"score.total_changed","summary":"Trust score (73 → 75)","materiality":"functional","direction":"improvement","scoreDelta":2,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb#chg-chg_01a18a29-612e-79e6-96a2-acb9b4d08efe"},{"id":"chg_01a18503-7547-7d7a-bd43-69732e83404b","kind":"check.verdict","summary":"Schema quality (pass → fail)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb#chg-chg_01a18503-7547-7d7a-bd43-69732e83404b"},{"id":"chg_01a18503-7549-7703-b84c-72ccec56a00a","kind":"snapshot.truncated","summary":"This server's schema is too large to store in full, so we cannot compare its tools day to day","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb#chg-chg_01a18503-7549-7703-b84c-72ccec56a00a"},{"id":"chg_01a18503-754a-7e8c-a640-cd398bf302e0","kind":"score.total_changed","summary":"Trust score (74 → 73)","materiality":"functional","direction":"regression","scoreDelta":-1,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb#chg-chg_01a18503-754a-7e8c-a640-cd398bf302e0"},{"id":"chg_01a17fd2-a9ea-7cb2-b896-d12ee2c751bb","kind":"check.measure","summary":"Schema quality (32596 → 37957)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb#chg-chg_01a17fd2-a9ea-7cb2-b896-d12ee2c751bb"},{"id":"chg_01a17fd2-aa01-7697-9e09-b349f3fe8ee9","kind":"check.reverified","summary":"Stability (unverified → 0.03)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb#chg-chg_01a17fd2-aa01-7697-9e09-b349f3fe8ee9"},{"id":"chg_01a17fd2-aa0e-738e-900a-9d6c78e7db24","kind":"resource.added","summary":"New resource “abbreviations”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb#chg-chg_01a17fd2-aa0e-738e-900a-9d6c78e7db24"},{"id":"chg_01a17fd2-aa10-78b5-bb79-60b595e6d2e8","kind":"resource.added","summary":"New resource “abbreviations (ja)”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb#chg-chg_01a17fd2-aa10-78b5-bb79-60b595e6d2e8"},{"id":"chg_01a17fd2-aa13-7af9-8f71-a00423231097","kind":"resource.added","summary":"New resource “background-audio”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb#chg-chg_01a17fd2-aa13-7af9-8f71-a00423231097"},{"id":"chg_01a17fd2-aa14-71b6-922d-a88a35ae9759","kind":"resource.added","summary":"New resource “background-audio (ja)”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb#chg-chg_01a17fd2-aa14-71b6-922d-a88a35ae9759"},{"id":"chg_01a17fd2-aa16-7114-ae1c-e4494b12aa3a","kind":"resource.added","summary":"New resource “background-video”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb#chg-chg_01a17fd2-aa16-7114-ae1c-e4494b12aa3a"},{"id":"chg_01a17fd2-aa19-7c18-a882-6d84e1e0fc81","kind":"resource.added","summary":"New resource “background-video (ja)”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb#chg-chg_01a17fd2-aa19-7c18-a882-6d84e1e0fc81"},{"id":"chg_01a17fd2-aa1a-72cd-88e2-841ba3d99504","kind":"resource.added","summary":"New resource “card-link-buttons”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb#chg-chg_01a17fd2-aa1a-72cd-88e2-841ba3d99504"}],"truncated":true,"feedUrl":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb/changelog.json"},"links":{"html":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb","markdown":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb.md","changelogJson":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb/changelog.json","changelogRss":"https://verifymcp.io/servers/dev-easeweb-easeweb/easeweb.xml","external":[{"label":"Remote endpoint","href":"https://easeweb.dev/mcp"},{"label":"Website","href":"https://easeweb.dev/services/developers"}]}}