A11y Mcp について
A11y Mcpはaxe-coreを使ってウェブページのアクセシビリティ問題を監査します。AIアシスタントが結果を確認して修正を進めるワークフロー向けで、WCAGタグによる絞り込みやHTML断片の添付に対応します。
主な機能
- 01ウェブページの詳細なアクセシビリティ監査
- 02問題の概要表示
- 03アクセシビリティタグによる絞り込み
- 04任意のHTML断片の添付
活用シーン
- 01指定したWCAG基準でウェブサイトを監査
- 02ローカル開発ページのアクセシビリティ問題を確認
- 03HTML断片を使って検出結果を調査
MCP 対応
ウェブページのアクセシビリティ検査と問題の概要表示に使う `audit_webpage` および `get_summary` ツールをMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
2掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | はい | 監査対象のウェブページの URL |
| tags | array | いいえ | チェックする特定のアクセシビリティタグ(例:wcag2a、wcag2aa、wcag21a、best-practice) |
| includeHtml | boolean | いいえ | 結果に HTML スニペットを含めるかどうか |
詳細
A11y MCP Server
axe-core を使用してウェブページのアクセシビリティ監査を実施する MCP(Model Context Protocol)サーバーです。お気に入りの AI アシスタント(Cline/Cursor/GH Copilot)とのエージェント型ループで結果を活用し、a11y の問題を修正してもらいましょう!
機能
- 任意のウェブページで詳細なアクセシビリティ監査を実施します
- アクセシビリティの問題の概要を取得します
- 特定の WCAG 基準で監査結果を絞り込みます
- デバッグを容易にするため、結果に HTML スニペットを含めます
インストール
# Install globally
npm install -g a11y-mcp
# Or use directly with npx
npx a11y-mcp
設定
この MCP サーバーを Cline で使用するには、MCP 設定ファイルに追加する必要があります。
MCP 設定
次の内容を mcpServers オブジェクトに追加します。
{
"mcpServers": {
"a11y": {
"command": "npx",
"args": ["a11y-mcp"],
"disabled": false,
"autoApprove": []
}
}
}
利用可能なツール
audit_webpage
ウェブページの詳細なアクセシビリティ監査を実施します。
パラメーター:
url(必須):監査するウェブページの URLincludeHtml(任意):結果に HTML スニペットを含めるかどうか(デフォルト:false)tags(任意):チェックする特定のアクセシビリティタグの配列(例:wcag2a、wcag2aa、wcag21a、best-practice)
例:
Use the a11y MCP server to audit example.com for accessibility issues
get_summary
ウェブページのアクセシビリティ問題の概要を取得します。
パラメーター:
url(必須):監査するウェブページの URL
例:
Give me an accessibility summary of example.com
使用例
設定後は、Claude に MCP サーバーを使ったアクセシビリティ監査を依頼できます。
- 「example.com にアクセシビリティの問題がないか確認してもらえますか?」
- 「https://mywebsite.com が WCAG 2.1 AA に準拠しているか監査してください」
- 「https://example.com のアクセシビリティ問題の概要を教えてください」
- 「http://localhost:3000 のローカル開発サーバーに重大なアクセシビリティの問題がないか確認してください」
開発
開発用にサーバーをローカルで実行するには:
npm start
リリース
このプロジェクトには、バージョン管理と npm への公開を支援するリリーススクリプトが含まれています。このスクリプトは、バージョンの更新、テストの実行、git タグの作成、npm への公開を行います。
新しいバージョンをリリースするには:
# Make sure the script is executable
chmod +x release.sh
# Release a patch version (default)
./release.sh
# Release a minor version
./release.sh --minor
# Release a major version
./release.sh --major
# Release a specific version
./release.sh --version=1.2.3
# Skip git operations
./release.sh --skip-git
# Dry run (no changes will be made)
./release.sh --dry-run
# Force release even with uncommitted changes
./release.sh --force
詳細については、次を実行してください。
./release.sh --help
ライセンス
MPL 2.0
クレジット
このプロジェクトは、axe-core による素晴らしい取り組みを基盤としています。
セキュリティとホスティング
Node.js 22.12 以降が必要です。Chrome はサンドボックスを有効にして実行されます。
リダイレクトやサブリソースを含む、すべての HTTP(S) 接続は、宛先 IP を固定する検証プロキシを経由します。IPv6 マッピングを含め、プライベート、リンクローカル、マルチキャスト、予約済み、クラウドメタデータの各アドレスはブロックされます。
ローカル開発ではループバックを引き続き利用できます。公開サイトのみを監査する場合は、AUDIT_ALLOW_LOOPBACK=false を設定してください。LAN アドレスはサポートされなくなりました。
MCP プロセスごとに実行される監査は 1 件で、ブラウザーの制限時間は 90 秒です。
ホスティング環境で使用する場合は、さらにブラウザーワーカーを分離し、インフラストラクチャ層でネットワークの送信制限を適用してください。axe による自動チェックだけでは WCAG 準拠を証明できません。手動レビューも必要です。
npm test、npm run test:smoke(Chrome が必要)、npm audit を実行してください。
メンテナー向け CI とリリース
GitHub Actions は、ビルド、ネットワークとリリースポリシーのテスト、npm のセキュリティ監査、および実際の Chrome によるスモークテストを、サポート対象の最小 Node バージョンと Node 24 で実行します。また Node 24 では、npm の tarball をクリーンな一時プロジェクトにインストールし、実行可能ファイル、依存関係、MCP のバージョン、ブラウザー監査を確認します。
main へのプッシュごとにリリースパイプラインが実行されます。パッケージファイルに変更がある場合、パッチバージョンを自動的にインクリメントするか、すでにコミット済みのより大きなバージョンを適用し、パッケージのメタデータを同期して、検証を再実行します。その後、リリースをコミットしてタグ付けし、provenance 付きで npm に公開して、GitHub リリースを作成します。ドキュメント、テスト、ワークフローのみの変更では、新しいバージョンは公開されません。ランタイムのサーバーバージョンは package.json から取得します。
Dependabot は npm と GitHub Actions を毎週チェックします。PR の CI が成功すると、変更された依存関係がすべて安定版のパッチ/マイナーアップグレードであり、変更されたファイルが package.json と package-lock.json のみの場合に限り、npm の更新を自動的にマージします。メジャーアップグレード、0.x のマイナーアップグレード、ダウングレード、プレリリース、GitHub Actions の変更にはレビューが必要です。マージジョブは main の信頼できるコードのみを実行し、テスト済みの PR のヘッドを検証して、ボットによるマージ後に公開を明示的にディスパッチします。
npm への公開には、GitHub の npm 環境と、priyankark/a11y-mcp 用の npm trusted publisher を使用します。ワークフローは publish.yml、環境は npm で、直接の公開が許可されています。GitHub に npm トークンは保存されません。この環境でデプロイを受け付けるのは main からのみです。
失敗したリリースを再試行するには、Publish ワークフローを再実行するか、./release.sh を実行します。パイプラインは未公開のバージョンを再利用し、すでに公開済みで変更のないパッケージはスキップします。予約済みのリリースタグが異なるコードを指している場合、そのバージョンを上書きせずに停止します。破壊的変更の場合は、マージ前にレビュー済みの PR で package.json と package-lock.json を予定するメジャー/マイナーバージョンに更新してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。