swwa-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@swwa-mcpCheck this HTML for KWCAG 2.2 accessibility issues"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SWWA — 웹 접근성(KWCAG 2.2) Skill + MCP
국가표준 KWCAG 2.2(한국형 웹 콘텐츠 접근성 지침, 4원칙·14지침·33개 검사항목)와 웹 접근성 품질인증 기준으로 웹 콘텐츠의 접근성을 검사·리뷰·인증 준비하도록 돕는 Claude Code 플러그인(스킬 3종)과 MCP 서버(npm swwa-mcp)입니다.
판정·측정·지식은 서버(결정적·오프라인)가, 해석·수정안·보고서는 클라이언트 LLM이. 도구의 자동 판정은 전문가·사용자 심사를 대체하지 않습니다.
설치
# Claude Code 플러그인 (스킬 3종 포함, 권장)
/plugin marketplace add SWJoong/SWWA
/plugin install swwa@swwa
# 또는 MCP 서버만
claude mcp add swwa -- npx -y swwa-mcp # Claude Code
npx -y swwa-mcp # 다른 MCP 클라이언트자세한 설치·첫 사용: docs/install/ (Claude Code · Claude Desktop · 처음 사용해보기).
Related MCP server: WCAG Color Contrast MCP Server
구성
구성 | 내용 |
스킬 | KWCAG 2.2 33개 검사항목·WCAG 2.2 매핑·품질인증 기준·모바일 앱 지침 2.0 요약 (도메인 지식) |
스킬 | HTML·JSX·Vue·Svelte·CSS를 검사항목 ID 기준으로 리뷰하고 수정안 제시 |
스킬 | URL을 실제 브라우저로 감사해 33항목 판정표·보고서·인증 준비도 산출 |
MCP 도구 7종 |
|
MCP 프롬프트·리소스 |
|
정적 검사(jsdom + axe-core 한국어 로케일 + 자체
k-규칙 18종)는 브라우저 없이 동작합니다.브라우저 감사(playwright-core + @axe-core/playwright + 자체
b-규칙 6종)는 설치된 Chrome/Edge를 자동 사용하며, 없으면npx playwright install chromium을 안내합니다.
문서
CHANGELOG.md — 버전별 변경
docs/plan/00-overview.md — 총괄·기술 스택·로드맵
docs/plan/02-architecture.md — MCP 인터페이스 명세(계약)·Report 스키마·데이터 모델
skills/kwcag-guide/references/kwcag22-checklist.md — 검사항목 33개 단일 소스(규칙 카탈로그)
docs/plan/07-references.md — 레퍼런스 조사 결과
출처·저작권
KWCAG 2.2 원문 저작권은 국립전파연구원(방송통신표준)에 있으며, 이 프로젝트는 검사항목 명칭·요구 문장만 인용하고 설명은 자체 요약합니다. axe-core(MPL-2.0)를 검사 엔진으로 사용합니다. 자세한 출처는 docs/plan/07-references.md와 assets/sources.json을 참조하세요.
자동 판정 수치 중 품질인증 기준(전문가 95%·사용자 100%·평균 90)과 일부 법령 조항은 인증기관 공지로 재확인이 필요한 잠정치입니다.
라이선스
MIT — LICENSE
Available Tools
7 toolsaudit_url브라우저 접근성 감사ARead-only
실제 브라우저로 URL을 열어 KWCAG 2.2 기준 감사(axe + 초점·타깃 크기·본문 바로가기 등 동적 검사)를 수행한다. 사이트 점검·인증 준비 시 호출한다. 먼저 browser_status로 브라우저 가용성을 확인하라.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | http/https/file. localhost 허용, 링크로컬·메타데이터 호스트 차단 | |
| checks | No | 기본 전부 | |
| headers | No | ||
| waitFor | No | "load" | "networkidle" | CSS 셀렉터 | load |
| viewport | No | desktop | |
| outputDir | No | 지정 시 스크린샷 저장(경로만 반환) | |
| timeoutMs | No | ||
| screenshot | No | ||
| maxFindings | No | ||
| excludeRules | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | |
| engine | Yes | |
| target | Yes | |
| notices | Yes | |
| summary | Yes | |
| verdict | Yes | |
| findings | Yes | |
| checkpoints | Yes | |
| manualChecklist | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true and openWorldHint=true already provided, the description adds meaningful behavioral context: it launches a real browser, runs axe plus dynamic checks (focus, target size, skip navigation), and is KWCAG-grounded. It does not contradict the annotations, though it could mention side effects like screenshots or network activity more explicitly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose and method, then a clear usage instruction and prerequisite. Every sentence earns its place with no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, when to use, and a prerequisite well. However, given the tool's complexity (10 params, nested objects, low schema coverage), the description does not fully prepare an agent to configure the audit correctly—especially around output handling, timeouts, and scoping options.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40% with 10 parameters, so the description carries a heavy burden to explain parameter meaning. It partially explains the 'checks' concept by naming axe, focus, target size, and skip navigation, but it does not clarify url constraints, viewport, timeoutMs, outputDir, screenshot, maxFindings, or excludeRules. This is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('opens the URL in a real browser and performs an audit') and a concrete standard (KWCAG 2.2) with specific dynamic checks. This clearly distinguishes it from siblings like check_html or check_contrast, which are narrower or static checks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states when to call it ('site inspection / certification preparation') and gives an explicit prerequisite: check browser_status first. It does not explicitly discuss when not to use it relative to siblings, but the context and prerequisite are concrete enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_status브라우저 가용성 확인ARead-only
audit_url이 사용할 브라우저(Chrome→Edge→Playwright chromium)가 설치되어 있는지 확인한다. audit_url 호출 전에 먼저 확인하라.
| Name | Required | Description | Default |
|---|---|---|---|
| refresh | No | true면 프로세스 내 캐시를 무시하고 다시 탐지 |
Output Schema
| Name | Required | Description |
|---|---|---|
| channel | Yes | |
| version | No | |
| available | Yes | |
| installHint | Yes | |
| executablePath | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description is consistent with that. It adds useful behavioral context beyond annotations: the ordered browser fallback chain (Chrome→Edge→Playwright chromium) and the precondition relationship with audit_url.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that states both the tool's purpose and its usage context with zero wasted words. The key fact (check before audit_url) is prominent and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple: no required parameters, a fully documented optional parameter, an output schema present, and read-only annotations. The description covers the essential workflow placement and browser scope, so nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter refresh is fully documented in the schema (100% coverage), so the description need not repeat it. With schema coverage this high, the baseline of 3 applies; the description adds no parameter-level meaning but does not need to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: it checks whether the browser that audit_url will use (Chrome→Edge→Playwright chromium) is installed. It also names the related sibling audit_url, making the tool's role in the workflow immediately distinguishable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs the agent to run this check before calling audit_url. This is a clear, actionable when-to-use directive that leaves no ambiguity about placement in the workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_contrast명도 대비 계산ARead-only
두 색상 사이의 명도 대비를 계산하고 KWCAG 5.4.3(1.4.3) 기준 통과 여부를 판정한다.
| Name | Required | Description | Default |
|---|---|---|---|
| bold | No | ||
| background | Yes | 배경 색. hex/rgb()/rgba()/hsl()/hsla()/CSS 색 이름 | |
| fontSizePx | No | ||
| foreground | Yes | 전경(텍스트) 색. hex/rgb()/rgba()/hsl()/hsla()/CSS 색 이름 |
Output Schema
| Name | Required | Description |
|---|---|---|
| aa | Yes | |
| aaa | Yes | |
| alias | Yes | |
| kwcag | Yes | |
| ratio | Yes | |
| largeText | Yes | |
| threshold | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the core behavior beyond the readOnlyHint annotation: it not only calculates a ratio but also returns a pass/fail judgment against a specific standard. It does not contradict the read-only annotation. Though it does not discuss invalid color handling or alpha edge cases, the read-only nature and output schema lower the burden, and the stated behavior is accurate and useful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It states the action, the object, and the evaluation standard, and every element contributes to agent understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relatively simple two-color contrast checker, the description covers the essential purpose and standard, while required parameter formats are provided in the schema and return semantics are presumably covered by the output schema. The only notable gap is the lack of sibling comparison or explicit when-to-use guidance, but for this isolated utility the description remains sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents foreground/background color formats well, covering 50% of parameters. The description adds the KWCAG criterion context but does not explain the effect of bold and fontSizePx on the threshold determination. The optional parameter semantics are mostly left to their names, defaults, and common knowledge, so the description provides only modest extra meaning over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: it calculates the luminance contrast between two colors and determines whether the contrast passes KWCAG 5.4.3(1.4.3). The verb 'calculates' and 'judges' alongside the specific resource '두 색상 사이의 명도 대비' make the purpose unambiguous and distinguish it from sibling tools like check_html or audit_url.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage in accessibility contrast-checking contexts via the KWCAG reference, but it does not explicitly state when to use check_contrast versus alternatives such as check_html or audit_url, nor does it provide exclusions. The intended use case is reasonably inferable, but the guidance is left to implication rather than explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_htmlHTML 정적 접근성 검사ARead-only
HTML 문자열이나 로컬 HTML 파일을 KWCAG 2.2 기준으로 정적 검사한다. 웹 UI 코드를 작성·수정·리뷰할 때 반드시 호출한다. 브라우저 없이 동작하며, 렌더링이 필요한 항목(명도 대비·초점 표시·타깃 크기)은 '브라우저 감사 필요'로 표시한다.
| Name | Required | Description | Default |
|---|---|---|---|
| html | No | 검사할 HTML 문자열(path와 택1) | |
| path | No | 로컬 .html/.htm 파일 경로(html과 택1) | |
| baseUrl | No | 상대 링크·#target 해석용 | |
| ruleset | No | kwcag22 | |
| maxFindings | No | ||
| excludeRules | No | 제외할 axe·k 규칙 ID |
Output Schema
| Name | Required | Description |
|---|---|---|
| engine | Yes | |
| target | Yes | |
| notices | Yes | |
| summary | Yes | |
| verdict | Yes | |
| findings | Yes | |
| checkpoints | Yes | |
| manualChecklist | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds meaningful behavior beyond that: it runs without a browser, performs static analysis only, and explicitly discloses that contrast, focus indication, and target size checks are not fully performed and are marked as 'browser audit required'. This is honest, specific, and materially shapes agent expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences with no filler: first states what the tool does, second states when to call it, third states the key browserless limitation. Everything earns its place and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only static checker with an output schema, the description covers purpose, invocation context, and behavioral limitations well. It could be slightly stronger by explicitly naming sibling tools for the browser-required checks or clarifying network/auth assumptions, but nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, so most parameters are already documented. The description reinforces the html/path either-or relationship by mentioning both HTML strings and local HTML files, but it adds no new meaning for baseUrl, ruleset, maxFindings, or excludeRules. With moderate schema coverage, a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action (static accessibility inspection), a clear resource (HTML strings or local HTML files), and a concrete standard (KWCAG 2.2). The addition of 'static' and 'without a browser' distinguishes it from sibling tools like check_contrast and audit_url.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells the agent when to use the tool: 'must call when writing, modifying, or reviewing web UI code'. It also implies a boundary by stating that rendering-dependent checks are only marked as needing browser audit, but it does not name specific sibling alternatives for when a browser audit is required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_cert_readiness인증 준비도 추정ARead-only
여러 페이지의 검사 Report를 검사항목별 준수율로 집계해 웹 접근성 품질인증 준비도를 추정한다. 자동 검사만으로 인증 통과를 판정하지 않으며 수동·사용자 심사 잔여를 함께 알린다.
| Name | Required | Description | Default |
|---|---|---|---|
| reports | No | check_html·audit_url의 Report 배열(reportPaths와 택1) | |
| pageCount | No | 표본 총 페이지 수(미지정 시 report 수) | |
| reportPaths | No | Report JSON 파일 경로 배열(reports와 택1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral context beyond the readOnlyHint annotation: it explicitly warns that automated inspection alone does not determine certification pass and that remaining manual/user review items are reported. This is valuable transparency for an estimation tool and aligns with the read-only annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both information-dense and non-redundant. The core action is front-loaded, and the important caveat about automated-only assessment is placed second without bloating the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the read-only annotation, fully described parameters, and clear input sources, the description provides enough context for an agent to invoke the tool correctly. It also communicates what the output conveys: per-item compliance rates and remaining manual/user review. A fully explicit output schema would raise this further, but its absence is partly compensated by the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already documented in the schema, including the mutual exclusivity of reports/reportPaths and the default for pageCount. The tool description adds high-level context about aggregating Reports but does not add parameter-level detail beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb plus resource: it aggregates multiple inspection Reports into per-item compliance rates to estimate web accessibility certification readiness. It also clearly distinguishes itself from lower-level inspection tools like check_html or audit_url by operating on their outputs rather than performing inspections itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: after obtaining Reports from check_html or audit_url, and when estimating overall certification readiness across multiple pages. It does not explicitly name alternatives or state when not to use it, but the input dependency and estimation purpose provide clear contextual guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_checklistKWCAG 체크리스트 생성BRead-only
검사항목·컴포넌트·페이지 전체·사용자 평가 스코프로 KWCAG 2.2 체크리스트를 만든다.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | scope=checkpoint일 때 필수(KWCAG ID 또는 별칭) | |
| scope | Yes | ||
| component | No | scope=component일 때 필수 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool creates a checklist and lists scopes, but does not describe output format, whether the operation has side effects, authentication needs, or any behavioral quirks. For a tool with no annotation coverage, this is insufficient behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the core action and scope. Every part contributes to understanding the tool's purpose, with no redundant or irrelevant material.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no annotations and no output schema, so the description alone must provide sufficient context. It explains the purpose but omits usage guidance, return value/format, and behavioral caveats. Given the presence of siblings and a required scope parameter, the definition is not fully complete for an agent to invoke it correctly without extra assumptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, so the baseline for this dimension is neutral. The description adds the scope categories (검사항목/컴포넌트/페이지/사용자 평가), which map to the scope enum, but it does not add meaning for the id or component parameters beyond what the schema already provides. This is adequate but not compensatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('만든다' - creates) and a specific resource ('KWCAG 2.2 체크리스트'), and enumerates the four scope types. This clearly distinguishes get_checklist from siblings like check_contrast, check_html, audit_url, and lookup_checkpoint, which are inspection/lookup tools rather than generation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance about when to use this tool versus alternatives, no exclusions, and no mention of sibling tools. The scope list hints at use cases, but the description does not state e.g. 'use when you need to create a checklist by scope' or 'use lookup_checkpoint for individual checkpoint details.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_checkpointKWCAG 검사항목 조회ARead-only
KWCAG 2.2 검사항목 ID(공식 번호·별칭)·WCAG SC(wcag: 접두)·axe 규칙 ID·키워드로 검사항목을 조회한다.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | 검사항목 ID(6.4.1 또는 2.4.1), wcag:2.4.1, axe 규칙 ID, 키워드 | |
| detail | No | summary |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, non-destructive, and idempotent behavior, so the description only needs to add contextual detail. It adds the accepted lookup keys and KWCAG 2.2 version, but it does not clarify what summary vs full returns or how results are formatted. No contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence states the resource, action, and all supported query forms with no filler. It is compact and easy for an agent to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only lookup tool with a simple two-parameter schema and clear annotations, the description conveys the query scope needed for correct invocation. The summary/full payload difference is left unspecified, but that does not prevent an agent from selecting or calling the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is roughly 50%: the query parameter has a description, while detail has only an enum and default. The description repeats much of the query schema content but adds 'alias' and 'wcag:' prefix semantics; it does not clarify the difference between summary and full.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('조회한다'), names the resource ('KWCAG 2.2 검사항목'), and enumerates the query dimensions (official ID/alias, WCAG SC, axe rule ID, keyword). It does not explicitly differentiate from sibling tools such as get_checklist, so some sibling distinction is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the look-up use case: call this when you need KWCAG items by ID, WCAG SC, axe rule, or keyword. However, it gives no explicit when-to-use or when-not-to-use guidance, nor alternatives, so an agent must infer how it relates to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
7 tool updates
v0.1.0- First observed
audit_url - First observed
browser_status - First observed
check_contrast - First observed
check_html - First observed
estimate_cert_readiness - First observed
get_checklist - First observed
lookup_checkpoint
TDQS
Each tool occupies a clear role: contrast checking, browser environment probing, checkpoint lookup, checklist construction, static HTML auditing, live URL auditing, and readiness estimation. The only similar pair (check_html vs audit_url) is explicitly separated by static-vs-browser behavior.
Names use a consistent snake_case format and mostly follow a verb_noun pattern (check_contrast, lookup_checkpoint, get_checklist, check_html, audit_url, estimate_cert_readiness). browser_status breaks the verb pattern slightly, but remains readable and unambiguous.
Seven tools is well-scoped for an accessibility-audit MCP server. Each tool maps to a necessary step in the workflow (preflight, static/dynamic audit, contrast, checklist, readiness) without redundancy.
The server covers the main audit lifecycle: static analysis, browser-based dynamic analysis, contrast checking, checklist creation, and readiness aggregation. A minor gap is that manual/user assessment results cannot be recorded, though estimate_cert_readiness does acknowledge that residual.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Accessibility pre-checks (WCAG/BFSG) in a real browser + statement drafts. Pay per call.
Scan URLs for WCAG 2.1 violations, generate AI fixes, and produce VPAT 2.5 compliance reports.
Accessibility and WCAG data for your own websites: fix lists, live checks, and fix validation.
Validate HTML/CSS, audit SEO and JSON-LD, check links, and capture responsive screenshots.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables accessibility testing of websites and HTML content using axe-core and IBM Equal Access engines. Supports WCAG compliance checking, multi-viewport testing, and provides detailed violation reports with remediation guidance.51-
- FlicenseNot gradedqualityDmaintenanceEnables accurate WCAG color contrast checking and accessibility analysis by calculating actual contrast ratios between color pairs, checking compliance levels, and analyzing luminance values for web accessibility.-
- FlicenseNot gradedqualityDmaintenanceEnables automated WCAG 2.2 AA accessibility audits of Figma designs and webpages. Generates detailed markdown reports with severity-grouped violations, specific criterion references, and concrete fix recommendations.-
- AlicenseAqualityDmaintenanceEnables AI agents to perform comprehensive web accessibility checks (WCAG 2.1/2.2) including color contrast analysis, ARIA validation, and full accessibility report generation without requiring any API key.8MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SWJoong/SWWA'
If you have feedback or need assistance with the MCP directory API, please join our Discord server