a11y-mcp
A11y MCP 服务器
一个使用 axe-core 对网页执行可访问性审核的 MCP(模型上下文协议)服务器。将审核结果与您常用的 AI 助手(Cline/Cursor/GH Copilot)组合使用,让它们为您解决所有问题!
特征
对任何网页进行详细的可访问性审核
获取可访问性问题的摘要
根据特定的 WCAG 标准过滤审核
在结果中包含 HTML 代码片段以便于调试
Related MCP server: A11y MCP Server
安装
# Install globally
npm install -g a11y-mcp
# Or use directly with npx
npx a11y-mcp配置
要将此 MCP 服务器与 Cline 一起使用,您需要将其添加到您的 MCP 设置配置文件中。
MCP 配置
将以下内容添加到mcpServers对象:
{
"mcpServers": {
"a11y": {
"command": "npx",
"args": ["a11y-mcp"],
"disabled": false,
"autoApprove": []
}
}
}可用工具
审计网页
对网页执行详细的可访问性审核。
参数:
url(必填):需要审核的网页的 URLincludeHtml(可选):是否在结果中包含 HTML 片段(默认值:false)tags(可选):要检查的特定可访问性标签数组(例如,wcag2a,wcag2aa,wcag21a,最佳实践)
例子:
Use the a11y MCP server to audit example.com for accessibility issues获取摘要
获取网页可访问性问题的摘要。
参数:
url(必填):需要审核的网页的 URL
例子:
Give me an accessibility summary of example.com示例用法
配置完成后,您可以要求 Claude 使用 MCP 服务器执行可访问性审核:
“您能检查一下 example.com 是否存在可访问性问题吗?”
“通过https://mywebsite.com审核我的网站是否符合 WCAG 2.1 AA 标准”
“请提供https://example.com上可访问性问题的摘要”
“检查我的本地开发服务器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执照
MPL 2.0
致谢
该项目建立在axe-core的出色工作之上
Available Tools
2 toolsaudit_webpageC
Perform an accessibility audit on a webpage
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL of the webpage to audit | |
| tags | No | Specific accessibility tags to check (e.g., wcag2a, wcag2aa, wcag21a, best-practice) | |
| includeHtml | No | Whether to include HTML snippets in the results |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL of the webpage to audit |
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 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.
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.
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.
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.
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.
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.
2 tool updates
v1.0.0- First observed
audit_webpage - First observed
get_summary
TDQS
Scored across 2 tools
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.
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.
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.
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
Related MCP Connectors
Free WCAG 2.2/ADA/508 accessibility MCP: scan, AI fixes, verify, vision audit, localhost tunnel
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
- RampifyOAuthdev.rampify
SEO MCP server: crawl your site, find AI-visibility gaps, and ship the fix from your coding agent.
Hosted browser for AI agents: screenshots, post-JS DOM, console, WCAG. No install, no API key.
Related MCP Servers
AlicenseBqualityAmaintenanceA Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.18256,678,981 npm37,941Apache 2.0- AlicenseAqualityDmaintenanceAn MCP server that enables LLMs to perform web accessibility testing against WCAG standards using Deque Axe-core API and Puppeteer.6266 npm92MIT
- AlicenseAqualityCmaintenanceA lightweight local MCP server that runs axe-core accessibility audits via Playwright and returns compressed, actionable results optimized for Claude's context window.5191 npmMIT
- AlicenseAqualityDmaintenanceMCP server for axe-core accessibility audits. Enables scanning URLs or HTML for WCAG violations with impact levels and fix guidance.421 npm1MIT