项目简介

A11y MCP 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型(LLM)提供进行 Web 无障碍测试的能力。它利用 Axe-core 和 Puppeteer 等工具,帮助 LLM 分析网页或 HTML 内容,检查其是否符合 WCAG 标准并找出存在的无障碍问题。

主要功能点

  • 测试网页: 对指定的公共 URL 执行完整的无障碍测试。
  • 测试 HTML 片段: 分析提供的 HTML 代码字符串的无障碍性。
  • WCAG 合规性检查: 根据不同的 WCAG 标准版本(如 2.0, 2.1, 2.2)进行测试。
  • 自定义测试: 支持指定特定的无障碍标签或标准进行有针对性的测试。
  • 规则探索: 获取有关可用无障碍测试规则的详细信息。
  • 颜色对比度分析: 检查前景和背景颜色组合是否满足 WCAG 对比度要求。
  • ARIA 验证: 测试 HTML 中 ARIA 属性的使用是否正确有效。
  • 方向锁定检测: 识别可能强制锁定屏幕方向的内容(如通过 meta 标签)。

安装步骤

本项目通常作为依赖由支持 MCP 的客户端工具(如 Claude Desktop)通过 Node.js 环境自动下载并执行。您无需手动克隆或安装整个 GitHub 仓库。

您只需确保您的系统已经安装了 Node.js 和 npm(或 yarn/pnpm),因为 MCP 客户端在启动此服务器时会依赖它们来查找并运行 'a11y-mcp-server' 包。

服务器配置

MCP 服务器通过 JSON-RPC 协议与支持 MCP 的客户端通信。客户端需要配置服务器的启动方式,通常在客户端的设置文件或界面中完成。典型的配置会包含服务器的名称、启动命令及其参数。

例如,在某些 MCP 客户端的配置文件中,您可能需要添加类似以下的配置条目(请参考您的 MCP 客户端文档进行具体配置):

  • '服务器名称':一个标识符,例如 'a11y-accessibility'。客户端使用此名称来识别和连接到服务器。
  • '启动命令 (command)':用于启动服务器进程的可执行命令。例如,如果您通过 npx 运行,命令是 'npx'。
  • '命令参数 (args)':传递给启动命令的参数列表。例如 '["-y", "a11y-mcp-server"]',这指示 npx 临时安装并运行 'a11y-mcp-server' 包。

基本使用方法

一旦服务器配置并被 MCP 客户端(即您的 LLM 应用或开发环境)成功启动,LLM 即可通过 MCP 协议调用服务器暴露的工具(Tools)来执行无障碍测试任务。

例如,LLM 可以通过调用 'callTool' 请求,指定工具名称(如 'test_accessibility')和相应的参数(如 '{ "url": "https://example.com", "tags": ["wcag2aa"] }')。服务器将执行测试,并通过 MCP 响应将包含无障碍问题详情、通过项等的结构化 JSON 结果返回给 LLM。LLM 可以解析这些结果进行总结、分析或提供建议。

调用其他工具(如 'check_color_contrast', 'get_rules' 等)也遵循类似的 MCP 'callTool' 请求模式,根据每个工具的输入参数 schema 提供相应参数即可。

信息

分类

开发者工具