Skip to main content
Glama

A11y MCP 서버

axe-core를 사용하여 웹페이지 접근성 감사를 수행하는 MCP(모델 컨텍스트 프로토콜) 서버입니다. 좋아하는 AI 비서(Cline/Cursor/GH Copilot)와 함께 에이전트 루프에서 결과를 사용하여 11y 문제를 해결해 보세요!

특징

  • 모든 웹페이지에 대한 자세한 접근성 감사를 수행합니다.

  • 접근성 문제 요약을 받으세요

  • 특정 WCAG 기준에 따른 감사 필터링

  • 디버깅을 더 쉽게 하기 위해 결과에 HTML 스니펫을 포함합니다.

Related MCP server: A11y MCP Server

설치

지엑스피1

구성

이 MCP 서버를 Cline과 함께 사용하려면 MCP 설정 구성 파일에 추가해야 합니다.

MCP 구성

mcpServers 개체에 다음을 추가합니다.

{
  "mcpServers": {
    "a11y": {
      "command": "npx",
      "args": ["a11y-mcp"],
      "disabled": false,
      "autoApprove": []
    }
  }
}

사용 가능한 도구

감사_웹페이지

웹페이지에 대한 자세한 접근성 감사를 수행합니다.

매개변수:

  • url (필수): 감사할 웹페이지의 URL

  • includeHtml (선택 사항): 결과에 HTML 스니펫을 포함할지 여부(기본값: false)

  • tags (선택 사항): 확인할 특정 접근성 태그 배열(예: wcag2a, wcag2aa, wcag21a, best-practice)

예:

Use the a11y MCP server to audit example.com for accessibility issues

요약 받기

웹페이지의 접근성 문제에 대한 요약을 가져옵니다.

매개변수:

  • url (필수): 감사할 웹페이지의 URL

예:

Give me an accessibility summary of example.com

사용 예

구성이 완료되면 Claude에게 MCP 서버를 사용하여 접근성 감사를 수행하도록 요청할 수 있습니다.

  1. "example.com의 접근성 문제를 확인해 주실 수 있나요?"

  2. " https://mywebsite.com 에서 내 웹사이트의 WCAG 2.1 AA 규정 준수 여부를 감사합니다."

  3. " https://example.com 의 접근성 문제에 대한 요약을 알려주세요."

  4. " http://localhost:3000 에 있는 내 로컬 개발 서버에 심각한 접근성 문제가 있는지 확인하세요"

개발

개발을 위해 서버를 로컬로 실행하려면:

npm start

출시

이 프로젝트에는 버전 관리 및 npm 게시를 지원하는 릴리스 스크립트가 포함되어 있습니다. 이 스크립트는 버전 관리, 테스트 실행, git 태그 지정, npm 게시 기능을 처리합니다.

새 버전을 출시하려면:

# Make sure the script is executable
chmod +x release.sh

# Release a patch version (default)
./release.sh

# Release a minor version
./release.sh --minor

# Release a major version
./release.sh --major

# Release a specific version
./release.sh --version=1.2.3

# Skip git operations
./release.sh --skip-git

# Dry run (no changes will be made)
./release.sh --dry-run

# Force release even with uncommitted changes
./release.sh --force

자세한 내용을 보려면 다음을 실행하세요.

./release.sh --help

특허

엠플 2.0

크레딧

이 프로젝트는 axe-core가 수행한 놀라운 작업을 기반으로 구축되었습니다.

Available Tools

2 tools
audit_webpageC

Perform an accessibility audit on a webpage

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL of the webpage to audit
tagsNoSpecific accessibility tags to check (e.g., wcag2a, wcag2aa, wcag21a, best-practice)
includeHtmlNoWhether to include HTML snippets in the results

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but fails to mention critical aspects like whether it requires authentication, has rate limits, returns structured data, or handles errors. This leaves significant gaps in understanding how the tool behaves in practice.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no wasted words, making it highly concise and front-loaded. Every part of the sentence directly contributes to understanding the tool's purpose, earning its place effectively.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of an accessibility audit tool with no annotations and no output schema, the description is insufficient. It doesn't explain what the audit returns, how results are formatted, or any behavioral traits, leaving the agent with incomplete information to use the tool effectively in context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema already documents all parameters thoroughly. The description doesn't add any additional meaning or context beyond what's in the schema, such as explaining the relationship between parameters or typical use cases. This meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('perform an accessibility audit') and the target resource ('on a webpage'), making the purpose immediately understandable. However, it doesn't differentiate from the sibling tool 'get_summary', which might be related but isn't explicitly contrasted, preventing a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as the sibling 'get_summary'. It lacks context about prerequisites, scenarios, or exclusions, leaving the agent with minimal usage direction beyond the basic purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_summaryC

Get a summary of accessibility issues for a webpage

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL of the webpage to audit

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states what the tool does but fails to describe key behavioral traits such as whether it performs a live scan, uses cached data, requires authentication, has rate limits, or what the output format looks like. This is inadequate for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, with zero waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It does not explain what the summary includes, how it's formatted, or any behavioral context needed for effective use. For a tool with no structured data support, this leaves significant gaps in understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with the single parameter 'url' fully documented in the schema. The description adds no additional meaning beyond what the schema provides, such as URL format requirements or validation rules. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Get') and resource ('summary of accessibility issues for a webpage'). It distinguishes from the sibling tool 'audit_webpage' by focusing on summary retrieval rather than a full audit, though the distinction could be more explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus the sibling 'audit_webpage'. It lacks explicit instructions on alternatives, prerequisites, or exclusions, leaving the agent to infer usage from the tool name and description alone.

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.

  1. 2 tool updatesv1.0.0
    • First observedaudit_webpage
    • First observedget_summary

TDQS

B3.1/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: 'audit_webpage' performs an accessibility audit, while 'get_summary' retrieves a summary of issues, with no overlap in functionality. An agent can easily differentiate between initiating an audit and fetching results.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern ('audit_webpage', 'get_summary'), using snake_case and clear action-oriented verbs. This uniformity makes the tool set predictable and easy to understand.

Tool Count2/5

With only 2 tools, the server feels thin for the domain of web accessibility, lacking operations like detailed issue retrieval, filtering, remediation suggestions, or batch processing. This minimal set may limit agent workflows.

Completeness2/5

The tool set is severely incomplete for web accessibility auditing; it covers audit initiation and summary retrieval but misses essential functions such as getting detailed issue reports, updating audits, or handling multiple pages, leaving significant gaps for practical use.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers