mcpField
A
A11y Mcp

A11y Mcp

ローカル
github.com/priyankark開発ツール532 日前に更新

A11y Mcp について

A11y Mcpはaxe-coreを使ってウェブページのアクセシビリティ問題を監査します。AIアシスタントが結果を確認して修正を進めるワークフロー向けで、WCAGタグによる絞り込みやHTML断片の添付に対応します。

主な機能

  1. 01ウェブページの詳細なアクセシビリティ監査
  2. 02問題の概要表示
  3. 03アクセシビリティタグによる絞り込み
  4. 04任意のHTML断片の添付

活用シーン

  1. 01指定したWCAG基準でウェブサイトを監査
  2. 02ローカル開発ページのアクセシビリティ問題を確認
  3. 03HTML断片を使って検出結果を調査

MCP 対応

ウェブページのアクセシビリティ検査と問題の概要表示に使う `audit_webpage` および `get_summary` ツールをMCPクライアントに公開します。

設定

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

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

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

パッケージ
npma11y-mcp

ツール

2

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

パラメーター型必須説明
urlstringはい監査対象のウェブページの URL
tagsarrayいいえチェックする特定のアクセシビリティタグ(例:wcag2a、wcag2aa、wcag21a、best-practice)
includeHtmlbooleanいいえ結果に HTML スニペットを含めるかどうか

詳細

A11y MCP Server

axe-core を使用してウェブページのアクセシビリティ監査を実施する MCP(Model Context Protocol)サーバーです。お気に入りの AI アシスタント(Cline/Cursor/GH Copilot)とのエージェント型ループで結果を活用し、a11y の問題を修正してもらいましょう!

a11y-mcp MCP server

機能

  • 任意のウェブページで詳細なアクセシビリティ監査を実施します
  • アクセシビリティの問題の概要を取得します
  • 特定の 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(必須):監査するウェブページの URL
  • includeHtml(任意):結果に 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 サーバーを使ったアクセシビリティ監査を依頼できます。

  1. 「example.com にアクセシビリティの問題がないか確認してもらえますか?」
  2. 「https://mywebsite.com が WCAG 2.1 AA に準拠しているか監査してください」
  3. 「https://example.com のアクセシビリティ問題の概要を教えてください」
  4. 「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 を予定するメジャー/マイナーバージョンに更新してください。

コメント

MCP は初めてですか?

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

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