WebアクセシビリティMCPサーバー
axe-core と Puppeteer を使用して Web アクセシビリティ分析機能を提供する MCP (Model Context Protocol) サーバー。
特徴
axe-coreを使用して任意のURLのWebアクセシビリティを分析する
カラーマトリックスを使用して色覚異常(P型、D型、T型)をシミュレートする
アクセシビリティ違反の詳細な報告
カスタムユーザーエージェントとセレクタのサポート
トラブルシューティングのためのデバッグログ
WCAGガイドラインに基づく包括的なアクセシビリティチェック
Related MCP server: MCP Accessibility Scanner
前提条件
Node.js (v14以上)
npm
インストール
Smithery経由でインストール
Smithery経由で Claude Desktop 用の Web アクセシビリティ MCP サーバーを自動的にインストールするには:
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設定で構成されている場合には絶対パスである必要があります
使用法
サーバーは、Web アクセシビリティを分析するためのcheck_accessibilityと色覚異常をシミュレートするためのsimulate_colorblindの 2 つのツールを提供します。
ツール: 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>ツール: シミュレートカラーブラインド
カラーマトリックス変換を使用して、さまざまなタイプの色覚異常を持つユーザーに Web ページがどのように表示されるかをシミュレートします。
色覚異常の種類
このツールは、次の 3 種類の色覚異常シミュレーションをサポートしています。
赤色盲- マトリックスを使用:
0.567, 0.433, 0 0.558, 0.442, 0 0, 0.242, 0.758緑色盲- マトリックスを使用:
0.625, 0.375, 0 0.7, 0.3, 0 0, 0.3, 0.7三色盲(青盲) - マトリックスを使用:
0.95, 0.05, 0 0, 0.433, 0.567 0, 0.475, 0.525
パラメータ
url(必須): キャプチャするURLtype(必須): シミュレートする色覚異常の種類 (「第1色覚」、「第2色覚」、「第3色覚」)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
}色盲シミュレーションレスポンス
{
"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 # Main server implementation
├── build/ # Compiled JavaScript
├── output/ # Generated screenshots
├── package.json # Project dependencies and scripts
└── tsconfig.json # TypeScript configuration建物
npm run buildこれにより、次のようになります。
TypeScriptをJavaScriptにコンパイルする
出力ファイルを実行可能にする
コンパイルしたファイルを
buildディレクトリに配置する
デバッグ
サーバーには、コンソール出力で確認できる詳細なデバッグログ機能が搭載されています。これには以下が含まれます。
ネットワーク要求と応答
ページの読み込みステータス
セレクタの待機状態
分析されたページからのコンソールメッセージ
カラーシミュレーションの進捗状況
よくある問題と解決策
タイムアウトエラー
コード内のタイムアウト値を増やす
ネットワーク接続を確認する
URLにアクセスできることを確認する
DNS解決エラー
URLが正しいことを確認してください
ネットワーク接続を確認する
wwwサブドメインを使ってみてください
セレクタが見つかりません
ページにセレクターが存在することを確認する
動的コンテンツが読み込まれるまで待ちます
正しいセレクターについてはページソースを確認してください
カラーシミュレーションの問題
ページの色はサポートされている形式(RGB、RGBA、または HEX)で指定されていることを確認してください。
ページで動的な色の変更が使用されているかどうかを確認します(追加の待ち時間が必要になる場合があります)
スクリーンショット出力ディレクトリが存在し、書き込み可能であることを確認します
貢献
リポジトリをフォークする
機能ブランチを作成する
変更をコミットする
ブランチにプッシュする
プルリクエストを作成する
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。