MCPサーバーの手習いを兼ねて、自分やチームの壁打ちの役に立つかもと思い、WCAGの本体、解説書、テクニックをリソースとして提供してくれるMCPサーバーを作ってみた。
https://github.com/tsmd/wcag-mcp
このMCPは4つのリソースを提供する。
wcag://principles-guidelines
:
WCAGの4つの原則およびガイドライン。
wcag://criteria/{criterion-id}
各達成基準。引数のIDはたとえば1.1.1の場合は「non-text-content」となる。IDの一覧はwcag://principles-guidelines
を見ればわかるようになっている。
wcag://criteria/understanding/{criterion-id}
達成基準ごとの解説書。IDについては同上。解説書には達成基準本文も含まれているから、これだけでよかった感は正直ある。
wcag://techniques/{technique-id}
テクニックのID(ARIA10
とかG13
みたいなやつ)を指定してテクニックを取得する。解説書からリンクされているから、必要に応じて(LLMが判断して)追加で読み込むような用途を想定している。
これ自体、Clineのドキュメントにあったインストラクションに沿ってClineに書かせたものなので大したことはしていない。最初はHTMLをそのままゴソッと返していたけど、さすがにトークンの無駄遣いがすぎると思ってMarkdownに変換して返すようにした。コードは正直酷いなと思っているけど、バイブスを大事にしているという言い訳をしつつそのままにした。
できあがったあとに各MCPクライアントを使って動作確認をしたところ、Resourceに対応しているクライアントはまだ少数なことが判明…。Claude Desktopも、対応していると思いきや、リソース名に引数が含まれるDynamic resourceについては未対応との話があり、Toolとして作り直すべきなのかこれ…? と思っているのが現在地です。
リポジトリの中にW3CのWCAGリポジトリをサブモジュールとして持っているので、サブモジュールの中に入ってpull
すればリソースも最新になるようになっている。
この記事は2025年4月7日にそめによって書かれました。