使用说明

项目简介

MCP Accessibility Scanner 是一个基于 Model Context Protocol (MCP) 构建的服务器,它利用 Playwright 和 Axe-core 库,为 LLM 客户端提供网页可访问性自动扫描功能。该服务器暴露了一个 'scan_accessibility' 工具,允许 LLM 客户端请求对指定 URL 的网页进行可访问性检测,并返回详细的 JSON 报告和带有违规标记的网页截图。

主要功能点

  • 完整的 WCAG 2.1/2.2 合规性检查: 支持最新的 Web 内容可访问性指南标准。
  • 自动截图与违规高亮: 生成带有编号违规标记的网页截图,直观展示问题位置。
  • 详细 JSON 报告与修复建议: 提供包含详细违规信息和修复建议的 JSON 报告,方便开发者理解和解决可访问性问题。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/JustasMonkev/mcp-accessibility-scanner.git
    cd mcp-accessibility-scanner
  2. 安装依赖:
    npm install
  3. 构建项目: (编译 TypeScript 并安装 Playwright 浏览器)
    npm run prepare

服务器配置

要将 Accessibility Scanner 服务器添加到 MCP 客户端(例如 Claude Desktop),您需要配置 MCP 服务器的启动命令。以下是配置示例,请根据实际情况调整 'args' 中的路径:

{
  "mcpServers": {
    "accessibility-checker": {
      "command": "node",
      "args": [
        "path/build/server.js"  // 请替换为实际的 server.js 文件路径,例如: "./dist/server.js"
      ]
    }
  }
}

配置参数说明:

  • 'server name': 'accessibility-checker' - 服务器的名称,用于在 MCP 客户端中标识和引用。
  • 'command': 'node' - 启动服务器的命令,这里使用 Node.js 运行 JavaScript 代码。
  • 'args': 启动命令的参数,为一个字符串数组。
    • '"path/build/server.js"': 需要用户根据实际情况修改为 'server.js' 文件在构建后的实际路径。 通常在项目根目录下的 'dist' 文件夹中,例如可以尝试使用 '"./dist/server.js"'。

基本使用方法

配置完成后,在支持 MCP 的客户端中(例如 Claude),您可以使用自然语言指令调用 'scan_accessibility' 工具进行网页可访问性扫描。

工具名称: 'scan_accessibility'

工具参数:

  • 'url': 要扫描的网页 URL (字符串类型)。
  • 'violationsTag': 要检查的 WCAG 违规标签数组 (字符串数组类型)。常用的标签包括 'wcag2a', 'wcag2aa', 'wcag21a', 'wcag21aa', 'wcag22aa' 等,可以根据需要指定要检查的合规性级别。

使用示例 (在 Claude 中):

Could you scan example.com for accessibility issues related to color contrast?

或更精确地指定违规标签:

Scan accessibility of https://www.example.com and check for wcag2aa violations.

服务器将返回包含 JSON 报告和网页截图的响应。截图会保存到您的下载文件夹,JSON 报告会以文本形式返回,其中包含了检测到的可访问性问题详情。

开发提示:

  • 如果您需要进行本地开发,可以使用 'npm run watch' 命令启动 TypeScript 编译器的监听模式,以便实时编译代码。
  • 使用 'npm run inspector' 命令可以本地测试 MCP 服务器。

信息

分类

开发者工具