Skip to main content
Glama

a11y-toolkit MCP

CI License: MIT Python 3.9+ MCP

WCAG 2.2アクセシビリティスイートを、AIエージェント向けMCPサーバー(Model Context Protocol)として提供します。さらに統合CLIも付属します。中核は依存関係ゼロで、すべての計算はローカルかつ正確です(公式の相対輝度の式を使用)。

監査 → 修正 → 文書化 → 回帰監視の全サイクルを、1つのツールキットにまとめました:

  1. 監査: 任意のURLに対する簡易WCAG監査(重大度順の結果)

  2. 修正: 正確なコントラストチェック — カラーペア および 画像上のテキスト(実際の背景をピクセル単位でサンプリング)— 合格に最も近い色の提案付き

  3. 文書化: EUの法的アクセシビリティ宣言を、アクセシブルなHTMLとして生成

  4. 監視: ビルド間のスナップショットと差分(diff)で、本番リリース前にアクセシビリティの回帰を検出

全ツールで多言語es/enに対応(ENの宣言書は指令(EU) 2016/2102と指令(EU) 2019/882 — 欧州アクセシビリティ法 — の文言を使用しており、EU全域で有用です)。

MCPツール(9)

ツール

機能

a11y_audit_url

URLの簡易WCAG監査:altのない画像(1.1.1)、アクセシブルな名前のないコントロール(4.1.2)、ラベルのないフォームフィールド(3.3.2)、lang/titleの欠落(3.1.1、2.4.2)、見出しレベルのスキップ(1.3.1)、ズームのブロック(1.4.4)、正のtabindex(2.4.3)、タイトルのないiframe。重大度順にランク付け。判定ではなくフィルター — 自動化でカバーされるのはWCAGの約1/3です。

a11y_contrast_pair

正確なコントラスト比+基準ごとの判定:1.4.3(AA)、1.4.6(AAA)、1.4.11(非テキスト)。AAに不合格の場合、合格に最も近い色を提案します。

a11y_contrast_image

画像上のテキスト:テキストボックスの背後にある実際の背景をピクセル単位でサンプリング → 最悪値/中央値/p95の比率、AAを通過する面積の%とzona_peor(3×3グリッドによる敵対ゾーンの自動検出)。ペア専用チェッカーにはできないことです。

a11y_suggest_color

指定した色に最も近く、目標比率(デフォルト4.5)を達成する色。

a11y_generate_declaration

HTML形式の法的アクセシビリティ宣言:RD 1112/2018 第10条(スペイン・公共部門)またはLey 11/2023/欧州アクセシビリティ法の文言に対応。es/en。生成された文書自体もアクセシブルです。

a11y_snapshot

URLのアクセシビリティスナップショット:インタラクティブ要素(タグ、ロール、アクセシブルな名前、href)+実際のタブフォーカス順。ローカルにPlaywrightが必要です。

a11y_diff

2つのスナップショットを比較:追加・削除・名称変更されたインタラクティブ要素とフォーカス順の変更。インラインJSONまたはファイルパスを受け付けます。

a11y_diff_urls

1回の呼び出しで2つのURLをスナップショットして差分を取得(ステージング vs 本番)。

a11y_aria_live_snippet

注入可能なモニターで、動的リージョンのすべてのアナウンス(aria-live、role=alert/status)を記録します:時刻、ポライトネス、ロール、テキスト — スクリーンリーダーが読み上げる内容を画面上に表示します。

Related MCP server: Accessibility MCP Server

MCPとしてインストール

{
  "mcpServers": {
    "a11y-toolkit": {
      "command": "python3",
      "args": ["/path/to/a11y-toolkit/server.py"]
    }
  }
}

または、クローン不要のuvを使用:

{
  "mcpServers": {
    "a11y-toolkit": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/kinti/a11y-toolkit", "a11y-toolkit-mcp"]
    }
  }
}

a11y_snapshot を使用する予定がある場合は、"timeoutMs": 60000 を追加してください(ブラウザ起動)。

統合CLI — すべてを1コマンドで

a11y pair "#1f2328" "#fbfaf7"                     # contrast, per-criterion verdicts
a11y image hero.jpg --text "#ffffff" --region 120,40,420,90
a11y audit --url https://example.com              # express WCAG audit
a11y declaration --entidad "Acme" --url https://acme.example \
       --estado parcial --marco eaa --lang en --output decl.html
a11y snapshot https://mysite --out before.json    # before deploy (needs Playwright)
a11y diff before.json after.json                  # after deploy

リポジトリから実行:python3 a11y.py <subcommand>

画像モードの解釈

  • ratio_peor(最悪値)— テキスト色にとって最も敵対的な箇所。

  • area_pasa_aa_texto_normal_4_5 — 安全な表面の%。テキストが配置されている場所で100%未満の場合:スクリム/オーバーレイ、トリミング、またはテキストの移動。

  • zona_peor — 最も不合格の度合いが大きい3×3グリッドのセル(正確な座標付き)。

セキュリティと適用範囲

ローカルツール:お使いのマシン上で、あなたのユーザーとして実行されます。path(画像)とoutput_path(宣言書)の引数はローカルパスを読み書きします — 信頼するMCPクライアントで使用してください。ネットワークに送信されるものはありません(明示的に監査するURLの取得を除く)。

技術メモ

  • 画像デコード:Pillowが利用可能な場合はPillow、それ以外はsips(macOS)。PPMは常に使用可能(CIに依存関係が不要なのはそのためです)。

  • aria-liveモニターには、文書化された設計上の教訓があります:そのパネルは意図的にライブリージョンではなく、オブザーバーからそれ自体を除外しています — role="log" のパネルは自分自身のセレクターに一致し、無限の自己観察ループを生み出すからです。実際に私たちに起こったことなので、これは確かです。

  • 実際の本番サイト(作者自身のサイトで、当然ながら自身の監査に合格しなければならないもの)でテスト済み。

  • 人間向けのWeb版(同じ計算ロジック):jquin.net/lab — コントラスト(ペア+画像)、宣言書ジェネレーター、aria-liveモニター、ビルド差分。


スペイン語

MCPサーバー+統合CLIとして提供するWCAG 2.2アクセシビリティスイート。中核は依存関係ゼロ(Pillowはオプション、macOSではsips、PPMは常に使用可能)。すべてのサイクルを1つのツールキットに集約:監査(a11y_audit_url)→ 修正(ピクセル単位のサンプリングと敵対ゾーン検出によるペアのコントラストおよび画像上のテキスト;アクセシブルな色の提案)→ 文書化(RD 1112/2018 第10条またはLey 11/2023/EAAに基づく法的宣言書をアクセシブルなHTMLで生成)→ 監視(ビルド間のスナップショットと差分:追加・削除・名称変更とフォーカス順)。

MCPツールは9つ(上の表を参照)・多言語es/en(ENの宣言書は指令(EU) 2016/2102と2019/882の用語を使用)・サブコマンドpairimageauditdeclarationsnapshotdiffを持つ統合CLI a11y

{ "mcpServers": { "a11y-toolkit": {
    "command": "python3", "args": ["/ruta/al/repo/server.py"] } } }

ローカルツール:pathoutput_path の引数はローカルパスを読み書きします。明示的に監査するURL以外は、ネットワークに送信されるものはありません。aria-liveモニターはその設計上の教訓を物語っています:パネルはライブリージョンではなく、オブザーバーからそれ自体を除外します(role="log" は自分自身のセレクターに一致し、無限の自己観察ループを生み出します — 実際に起こったことなので、私たちは知っています)。人間向けのWeb版:jquin.net/lab

著者 / Author

Jesús Quintana Fernándezjquin.net)— 2003年からのSEO/GEOコンサルタントであり、ウェブアクセシビリティの実践者。MIT © 2026。

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Scan URLs for WCAG 2.1 violations, generate AI fixes, and produce VPAT 2.5 compliance reports.

  • Screenshot, diff, audit and sitemap-capture any web page — 5 MCP tools for AI agents.

  • SEO research, audits, backlinks, GSC, and content workflow tools for AI agents.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kinti/a11y-toolkit'

If you have feedback or need assistance with the MCP directory API, please join our Discord server