mcpField
W
Web Accessibility-Testing MCP Server (A11y MCP)

Web Accessibility-Testing MCP Server (A11y MCP)

ローカル
mseep.ai開発ツール9433 週間前に更新

Web Accessibility-Testing MCP Server (A11y MCP) について

A11y MCP は、LLM から Web アクセシビリティテスト API を呼び出し、ページや HTML 断片が WCAG に適合しているかを確認する MCP サーバーです。Deque の Axe-core と Puppeteer を基盤とし、フロントエンド開発者やアクセシビリティ担当者を想定しています。本プロジェクトは Deque Labs の公式サーバーではないと明記されています。

主な機能

  1. 01公開 Web ページのアクセシビリティ問題のテスト
  2. 02HTML 文字列のテスト
  3. 03WCAG 2.0、2.1、2.2 への適合チェック
  4. 04カラーコントラストと ARIA 属性のチェック
  5. 05利用可能なアクセシビリティルールの参照
  6. 06画面の向きの固定の検出

活用シーン

  1. 01開発中のページが WCAG 2.1 AA に適合しているかの確認
  2. 02デスクトップとモバイルのビューポートでの結果比較
  3. 03配色の組み合わせがコントラスト要件を満たすかの検証

MCP 対応

本プロジェクトは MCP サーバーとして、Claude Desktop、Claude Code、VS Code、Cursor などの MCP クライアントにアクセシビリティテストのツールを提供します。クライアントはツール呼び出しで構造化された JSON の結果を受け取ります。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"a11ymcp": {
"command": "npx",
"args": [
"-y",
"a11y-mcp-server"
]
}
}
}
起動コマンドnpx -y a11y-mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npma11y-mcp-server

ツール

6

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
urlstringはいテストするウェブページの URL
tagsarrayいいえテストするアクセシビリティタグの任意の配列(例:"wcag2a"、"wcag2aa"、"wcag21a")
widthnumberいいえビューポートの幅(ピクセル単位、デフォルト:1280)
heightnumberいいえビューポートの高さ(ピクセル単位、デフォルト:800)

詳細

Web アクセシビリティテスト MCP サーバー(A11y MCP)

Web Accessibility Testing MCP - Give LLMs access to web accessibility testing APIs | Product Hunt

MseeP.ai Security Assessment Badge

Verified on MseeP

README の画像

https://github.com/user-attachments/assets/316c6d44-e677-433e-b4d5-63630b4bab2b

A11y MCP は、LLM がウェブアクセシビリティテスト API を利用できるようにする MCP(Model Context Protocol) サーバーです。

このサーバーは、Deque Axe-core API と Puppeteer を使用して、LLM がウェブコンテンツの WCAG 準拠状況を分析し、アクセシビリティの問題を特定できるようにします。

注記: これは Deque Labs の公式 MCP サーバーではありません。

機能

  • ウェブページのテスト:カスタマイズ可能なビューポート寸法を指定して、公開 URL のアクセシビリティの問題をテストします
  • HTML スニペットのテスト:生の HTML 文字列のアクセシビリティの問題をテストします
  • WCAG 準拠テスト:さまざまな WCAG 規格(2.0、2.1、2.2)に照らしてコンテンツを確認します
  • テストのカスタマイズ:テスト対象とするアクセシビリティのタグや規格を指定します
  • ルールの確認:利用可能なアクセシビリティルールの情報を取得します
  • カラーコントラスト分析:色の組み合わせが WCAG に準拠しているか確認します
  • ARIA の検証:ARIA 属性が適切に使用されているかテストします
  • 画面向きのロック検出:特定の画面向きを強制するコンテンツを特定します

インストール

前提条件
  • Node.js 18 以降
  • MCP 対応クライアント(Claude Desktop、Claude Code、VS Code、Cursor など)
Claude Desktop

MCP 設定ファイルを編集します。

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

サーバーを mcpServers オブジェクトに追加します。

{
  "mcpServers": {
    "a11y-accessibility": {
      "command": "npx",
      "args": ["-y", "a11y-mcp-server"]
    }
  }
}
Claude Code(CLI)
claude mcp add a11y-accessibility -- npx -y a11y-mcp-server

これにより、現在のプロジェクトにサーバーが登録されます。すべてのプロジェクトで利用できるようにするには、次のようにします。

claude mcp add --scope user a11y-accessibility -- npx -y a11y-mcp-server

サーバーが登録されていることを確認します。

claude mcp list

注記: MCP ツールは、Claude Code のセッションを再起動すると利用できるようになります。

VS Code(Copilot)

VS Code の settings.json または .vscode/settings.json に追加します。

{
  "mcp": {
    "servers": {
      "a11y-accessibility": {
        "command": "npx",
        "args": ["-y", "a11y-mcp-server"]
      }
    }
  }
}
Cursor

Cursor の MCP 設定(.cursor/mcp.json)に追加します。

{
  "mcpServers": {
    "a11y-accessibility": {
      "command": "npx",
      "args": ["-y", "a11y-mcp-server"]
    }
  }
}
Windsurf

Windsurf の MCP 設定(~/.codeium/windsurf/mcp_config.json)に追加します。

{
  "mcpServers": {
    "a11y-accessibility": {
      "command": "npx",
      "args": ["-y", "a11y-mcp-server"]
    }
  }
}

利用可能なツール

test_accessibility

URL のアクセシビリティの問題をテストします。

パラメーター:

パラメーター必須説明
urlはいテストするウェブページの URL
tagsいいえテスト対象とする WCAG タグの配列(例:["wcag2aa"])
widthいいえビューポートの幅(ピクセル単位、デフォルト:1280)
heightいいえビューポートの高さ(ピクセル単位、デフォルト:800)

例 — デスクトップのビューポート(デフォルト):

{
  "url": "https://example.com",
  "tags": ["wcag2aa"]
}

例 — モバイルのビューポート(iPhone 12/13):

{
  "url": "https://example.com",
  "tags": ["wcag2aa"],
  "width": 390,
  "height": 844
}
test_html_string

HTML 文字列にアクセシビリティ上の問題がないかテストします。

パラメーター:

パラメーター必須説明
htmlはいテストする HTML コンテンツ
tagsいいえテスト対象の WCAG タグの配列(例:["wcag2aa"])
widthいいえビューポートの幅(ピクセル単位。デフォルト:1280)
heightいいえビューポートの高さ(ピクセル単位。デフォルト:800)

例 — デフォルトのビューポート:

{
  "html": "<div><img src='image.jpg'></div>",
  "tags": ["wcag2aa"]
}

例 — モバイルのビューポート:

{
  "html": "<div><img src='image.jpg'></div>",
  "tags": ["wcag2aa"],
  "width": 375,
  "height": 812
}
get_rules

利用可能なアクセシビリティルールの情報を、任意のフィルターを指定して取得します。各オブジェクトに ruleId、description、help、helpUrl、tags が含まれるルールオブジェクトの配列を返します。

パラメーター:

パラメーター必須説明
tagsいいえタグでルールを絞り込みます(例:["wcag2a", "wcag2aa", "best-practice"])

例 — WCAG 2.1 AA のルールで絞り込む:

{
  "tags": ["wcag21aa"]
}

例 — すべてのルールを取得する(フィルターなし):

{}
check_color_contrast

前景色と背景色の組み合わせが WCAG のコントラスト要件を満たしているか確認します。

パラメーター:

パラメーター必須説明
foregroundはい前景色(例:"#000000"、"rgb(0,0,0)")
backgroundはい背景色(例:"#FFFFFF"、"rgb(255,255,255)")
fontSizeいいえフォントサイズ(ピクセル単位。デフォルト:16)
isBoldいいえテキストが太字かどうか(デフォルト:false)

例:

{
  "foreground": "#777777",
  "background": "#EEEEEE",
  "fontSize": 16,
  "isBold": false
}
check_aria_attributes

HTML で ARIA 属性が正しく使用されているか確認します。

パラメーター:

パラメーター必須説明
htmlはいARIA 属性の使用状況をテストする HTML コンテンツ

例:

{
  "html": "<div role='button' aria-pressed='false'>Click me</div>"
}
check_orientation_lock

コンテンツによって特定の画面の向きが強制されていないか確認します。

パラメーター:

パラメーター必須説明
htmlはい画面の向きの固定に関する問題をテストする HTML コンテンツ

例:

{
  "html": "<html><head><meta name='viewport' content='width=device-width, orientation=portrait'></head><body>Content</body></html>"
}

応答形式

サーバーは、アクセシビリティテストの結果を構造化された JSON で返します。

{
  "violations": [
    {
      "id": "color-contrast",
      "impact": "serious",
      "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
      "help": "Elements must meet minimum color contrast ratio thresholds",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast",
      "affectedNodes": [
        {
          "html": "<div style=\"color: #aaa; background-color: #eee;\">Low contrast text</div>",
          "target": ["div"],
          "failureSummary": "Fix any of the following: Element has insufficient color contrast of 1.98 (foreground color: #aaa, background color: #eee, font size: 12.0pt, font weight: normal)"
        }
      ]
    }
  ],
  "passes": 1,
  "incomplete": 0,
  "inapplicable": 2,
  "timestamp": "2025-04-25T16:45:33.655Z",
  "url": "about:blank",
  "testEngine": {
    "name": "axe-core",
    "version": "4.10.3"
  }
}

WCAG タグのリファレンス

tags パラメーターで使用できる一般的なタグ:

タグ説明
wcag2aWCAG 2.0 レベル A
wcag2aaWCAG 2.0 レベル AA
wcag2aaaWCAG 2.0 レベル AAA
wcag21aWCAG 2.1 レベル A
wcag21aaWCAG 2.1 レベル AA
wcag22aaWCAG 2.2 レベル AA
best-practiceベストプラクティス(WCAG の厳密な要件ではありません)

依存関係

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。