EaseWeb accessibility

Accessibility guides for coding agents: fixes with working code, test steps, contrast checks. EN/JA

Should I use this

Quality & Safety

A
Description quality
96%
Schema completeness
96%
Naming quality
96%
Poisoning risk
80%
Permission match
100%
Protocol compliance
100%

Findings (3)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool 'before_building' description contains placeholder textin before_building
  • INFOTool description contains placeholder or incomplete textin before_building

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,667Tokens (tool definitions)
~1.7 KBTypical response size
Moderate attention impact (1.30% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "easeweb": {
      "url": "https://easeweb.dev/mcp"
    }
  }
}

Remote endpoints

https://easeweb.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (5)

🟒 Read-only🟑 WriteπŸ”΄ Deleteβšͺ Unknown
🟒before_building(request, locale, limit)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "request": {
      "type": "string",
      "maxLength": 1000,
      "description": "What the user asked for, in their words, e.g. \"autoplaying hero carousel\", \"custom dropdown with search\", \"カード全体をクγƒͺックできる一覧\""
    },
    "locale": {
      "type": "string",
      "enum": [
        "en",
        "ja"
      ],
      "description": "Language of the answer and the guides: en (default) or ja. Japanese answers cite JIS X 8341-3:2016."
    },
    "limit": {
      "type": "integer",
      "description": "Guides to return at most (default 6, max 12)"
    }
  },
  "required": [
    "request"
  ]
}
🟒find_fix(query, locale, limit)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 200,
      "description": "Words, a tag, an ARIA attribute or a WCAG number"
    },
    "locale": {
      "type": "string",
      "enum": [
        "en",
        "ja"
      ],
      "description": "Language of the answer and the guides: en (default) or ja. Japanese answers cite JIS X 8341-3:2016."
    },
    "limit": {
      "type": "integer",
      "description": "Topics to return at most (default 8, max 20)"
    }
  },
  "required": [
    "query"
  ]
}
🟒get_guide(slug, locale)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "maxLength": 100,
      "description": "The guide slug, e.g. \"native-buttons\""
    },
    "locale": {
      "type": "string",
      "enum": [
        "en",
        "ja"
      ],
      "description": "Language of the answer and the guides: en (default) or ja. Japanese answers cite JIS X 8341-3:2016."
    }
  },
  "required": [
    "slug"
  ]
}
🟒test_steps(slug, query, locale)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "maxLength": 100,
      "description": "A guide slug from find_fix or before_building"
    },
    "query": {
      "type": "string",
      "maxLength": 200,
      "description": "Or a component or problem in words, when the slug is unknown"
    },
    "locale": {
      "type": "string",
      "enum": [
        "en",
        "ja"
      ],
      "description": "Language of the answer and the guides: en (default) or ja. Japanese answers cite JIS X 8341-3:2016."
    }
  }
}
🟒check_palette(pairs, tokens, level, locale)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "pairs": {
      "type": "array",
      "maxItems": 50,
      "description": "Colour pairs to check",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "What the pair is, e.g. \"body text\", \"primary button border\""
          },
          "foreground": {
            "type": "string",
            "description": "Text, icon or border colour: #767676, rgb(118 118 118), hsl(0 0% 46%)"
          },
          "background": {
            "type": "string",
            "description": "What it sits on"
          },
          "size": {
            "type": "number",
            "description": "Font size in CSS px, when the foreground is text"
          },
          "weight": {
            "type": "number",
            "description": "Font weight (400, 700), when the foreground is text"
          },
          "use": {
            "type": "string",
            "enum": [
              "text",
              "large-text",
              "non-text"
            ],
            "description": "text (default), large-text, or non-text for control boundaries, icons and focus indicators (3:1)"
          }
        },
        "required": [
          "foreground",
          "background"
        ]
      }
    },
    "tokens": {
      "type": "object",
      "description": "Or named tokens { \"ink\": \"#1b1b1b\", \"paper\": \"#fff\" }, up to 12; every combination is checked as text",
      "additionalProperties": {
        "type": "string"
      }
    },
    "level": {
      "type": "string",
      "enum": [
        "AA",
        "AAA"
      ],
      "description": "Conformance level to check against (default AA)"
    },
    "locale": {
      "type": "string",
      "enum": [
        "en",
        "ja"
      ],
      "description": "Language of the answer and the guides: en (default) or ja. Japanese answers cite JIS X 8341-3:2016."
    }
  }
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded5 tools