Web Accessibility MCP Server
使用 axe-core 和 Puppeteer 提供 Web 可访问性分析和色盲模拟,从而能够根据 WCAG 指南进行详细的可访问性检查和视觉模拟。
Tools
simulate_colorblind
Simulate how a webpage looks for colorblind users
check_accessibility
Check web accessibility of a given URL using axe-core
README
Web Accessibility MCP 服务器
一个使用 axe-core 和 Puppeteer 提供 Web 可访问性分析功能的 MCP (模型上下文协议) 服务器。
<a href="https://glama.ai/mcp/servers/mya2mkxy9a"><img width="380" height="200" src="https://glama.ai/mcp/servers/mya2mkxy9a/badge" alt="Web Accessibility Server MCP server" /></a>
功能
- 使用 axe-core 分析任何 URL 的 Web 可访问性
- 使用颜色矩阵模拟色盲(红色盲、绿色盲、蓝色盲)
- 详细的可访问性违规报告
- 支持自定义用户代理和选择器
- 用于故障排除的调试日志
- 基于 WCAG 指南的全面可访问性检查
前提条件
- Node.js (v14 或更高版本)
- npm
安装
通过 Smithery 安装
要通过 Smithery 为 Claude Desktop 自动安装 Web Accessibility MCP Server:
npx -y @smithery/cli install @bilhasry-deriv/mcp-web-a11y --client claude
手动安装
- 克隆存储库:
git clone [repository-url]
cd mcp-web-a11y
- 安装依赖项:
npm install
- 构建服务器:
npm run build
配置
将服务器添加到您的 MCP 设置文件(通常位于 ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json):
{
"mcpServers": {
"web-a11y": {
"command": "node",
"args": ["/path/to/mcp-web-a11y/build/index.js"],
"disabled": false,
"autoApprove": [],
"env": {
"MCP_OUTPUT_DIR": "/path/to/output/directory"
}
}
}
}
环境变量
MCP_OUTPUT_DIR: 将保存屏幕截图输出的目录simulate_colorblind工具需要- 如果未指定,则默认为相对于当前工作目录的 './output'
- 在 MCP 设置中配置时必须是绝对路径
用法
该服务器提供两个工具:check_accessibility 用于分析 Web 可访问性,simulate_colorblind 用于模拟色盲。
工具: check_accessibility
使用 axe-core 检查给定 URL 的可访问性。
参数
url(必需): 要分析的 URLwaitForSelector(可选): 分析前要等待的 CSS 选择器userAgent(可选): 请求的自定义用户代理字符串
用法示例
<use_mcp_tool>
<server_name>mcp-web-a11y</server_name>
<tool_name>check_accessibility</tool_name>
<arguments>
{
"url": "https://example.com",
"waitForSelector": ".main-content",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}
</arguments>
</use_mcp_tool>
工具: simulate_colorblind
使用颜色矩阵转换模拟网页在患有不同类型色盲的用户眼中的外观。
色盲类型
该工具支持三种类型的色盲模拟:
-
红色盲 (Protanopia) - 使用矩阵:
0.567, 0.433, 0 0.558, 0.442, 0 0, 0.242, 0.758 -
绿色盲 (Deuteranopia) - 使用矩阵:
0.625, 0.375, 0 0.7, 0.3, 0 0, 0.3, 0.7 -
蓝色盲 (Tritanopia) - 使用矩阵:
0.95, 0.05, 0 0, 0.433, 0.567 0, 0.475, 0.525
参数
url(必需): 要捕获的 URLtype(必需): 要模拟的色盲类型 ('protanopia', 'deuteranopia', 或 'tritanopia')outputPath(可选): 屏幕截图输出的自定义路径userAgent(可选): 请求的自定义用户代理字符串
用法示例
<use_mcp_tool>
<server_name>mcp-web-a11y</server_name>
<tool_name>simulate_colorblind</tool_name>
<arguments>
{
"url": "https://example.com",
"type": "deuteranopia",
"outputPath": "colorblind_simulation.png"
}
</arguments>
</use_mcp_tool>
响应格式
check_accessibility 响应
{
"url": "analyzed-url",
"timestamp": "ISO-timestamp",
"violations": [
{
"impact": "serious|critical|moderate|minor",
"description": "Description of the violation",
"help": "Help text explaining the issue",
"helpUrl": "URL to detailed documentation",
"nodes": [
{
"html": "HTML of the affected element",
"failureSummary": "Summary of what needs to be fixed"
}
]
}
],
"passes": 42,
"inapplicable": 45,
"incomplete": 3
}
simulate_colorblind 响应
{
"url": "analyzed-url",
"type": "colorblind-type",
"outputPath": "path/to/screenshot.png",
"timestamp": "ISO-timestamp",
"message": "Screenshot saved with [type] simulation"
}
错误处理
该服务器包括针对常见场景的全面错误处理:
- 网络错误
- 无效的 URL
- 超时问题
- DNS 解析问题
错误响应将包含详细的消息,以帮助诊断问题。
开发
项目结构
mcp-web-a11y/
├── src/
│ └── index.ts # 主要服务器实现
├── build/ # 编译后的 JavaScript
├── output/ # 生成的屏幕截图
├── package.json # 项目依赖项和脚本
└── tsconfig.json # TypeScript 配置
构建
npm run build
这将:
- 将 TypeScript 编译为 JavaScript
- 使输出文件可执行
- 将编译后的文件放在
build目录中
调试
该服务器包括详细的调试日志,可以在控制台输出中观察到。 这包括:
- 网络请求和响应
- 页面加载状态
- 选择器等待状态
- 来自分析页面的任何控制台消息
- 颜色模拟进度
常见问题和解决方案
-
超时错误
- 增加代码中的超时值
- 检查网络连接
- 验证 URL 是否可访问
-
DNS 解析错误
- 验证 URL 是否正确
- 检查网络连接
- 尝试使用 www 子域名
-
未找到选择器
- 验证选择器是否存在于页面上
- 等待动态内容加载
- 检查页面源代码以获取正确的选择器
-
颜色模拟问题
- 确保页面的颜色以支持的格式指定(RGB、RGBA 或 HEX)
- 检查页面是否使用动态颜色更改(可能需要额外的等待时间)
- 验证屏幕截图输出目录是否存在且可写
贡献
- Fork 存储库
- 创建一个功能分支
- 提交您的更改
- 推送到分支
- 创建一个 Pull Request
许可证
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。