atag-mcp について
atag-mcpは、オーサリングツール開発者向けにATAG 2.0の指針を提供するMCPサーバーです。人手で確認したW3C仕様の静的データを使い、基準の検索や機能に応じたガイダンスを行います。
主な機能
- 01機能に応じたATAGガイダンス
- 02パート・原則・ガイドラインの閲覧
- 03レベル別の達成基準検索
- 04ATAGコンテンツ検索
- 05用語集の定義検索
活用シーン
- 01画像挿入ダイアログの評価
- 02Part BのレベルA基準の確認
- 03特定ガイドラインの参照
- 04ATAG用語の意味の確認
MCP 対応
MCPサーバーは、機能別ガイダンス、達成基準、用語集の検索など、ATAG 2.0を検索・参照するツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
13掲載時のツール一覧 · 3 週間前に更新
このツールにパラメーターはありません。
詳細
ATAG MCP
ATAG 2.0(W3C オーサリングツールアクセシビリティガイドライン)に関するガイダンスを提供し、オーサリングツールの開発者がよりアクセシブルなソフトウェアを構築できるよう支援する MCP(Model Context Protocol)サーバーです。
ATAG とは?
ATAG 2.0 は、オーサリングツール(リッチテキストエディター、CMS、IDE、ウェブサイトビルダーなど)がどのように対応すべきかを定めています。
- Part A — 障害のある作成者も利用できるようにする(ツール自体の UI)
- Part B — 作成者がアクセシブルなウェブコンテンツを作成できるよう支援する(代替テキストのプロンプト、アクセシビリティチェッカー、アクセシブルなテンプレートなど)
なぜこれがあるのか
ATAG 2.0 は 2015 年から W3C 勧告となっていますが、オーサリングツールへの導入は依然として限られています。その理由の一つは、設計や実装の判断を実際に行う段階で、ガイダンスが見落とされやすいことです。現在、AI コーディングアシスタントの支援を受けて開発されるオーサリングツールの機能が増えるなか、このサーバーは仕様全体をアシスタントが参照できるようにします。作業中の機能(画像アップロードダイアログ、リッチテキストツールバー、テンプレート選択画面など)を説明すると、曖昧な記憶に頼った要約ではなく、実際に適用される成功基準が返されます。目標は、ATAG を検討するコストそのものを下げることです。ATAG をサポートするツールに向けた第一歩となります。
データは ATAG 2.0 仕様の静的な手動確認済みコピーであり、実行時に取得または生成されるものではありません。そのため、回答は W3C の原典に忠実なままです。上流の仕様に変更がないかを毎週ワークフローで確認します。
ツール
| ツール | 説明 |
|---|---|
get-server-info | データセットの統計情報と出典 |
explain-atag | ATAG の概要、WCAG との違い、2 部構成について |
list-parts | Part A と Part B の概要 |
list-principles | 全 8 原則。Part で絞り込み可能 |
list-guidelines | 全 24 ガイドライン。Part または原則で絞り込み可能 |
list-success-criteria | 全 63 成功基準。Part、原則、ガイドライン、レベルで絞り込み可能 |
get-criterion | 特定の SC(例:B.2.3.1)の詳細 |
get-guideline | 子となるすべての成功基準を含む、ガイドラインの詳細 |
get-criteria-by-level | レベル A、AA、または AAA のすべての基準 |
search-atag | ATAG コンテンツ全体を対象としたキーワード検索 |
list-glossary-terms | ATAG の用語集にあるすべての用語 |
get-glossary-term | 特定の ATAG 用語の定義 |
get-guidance | 主要なツール — 構築中の機能を説明すると、最も関連性の高い ATAG 基準を取得できます |
セットアップ
ローカルへのインストールは不要です。以下の設定を追加すると、MCP クライアントが npx 経由でパッケージを自動的に取得します。
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)を編集します。
{
"mcpServers": {
"atag-mcp": {
"command": "npx",
"args": ["-y", "atag-mcp"]
}
}
}
VS Code(Claude 拡張機能)
{
"mcp": {
"servers": {
"atag-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "atag-mcp"]
}
}
}
}
ローカル開発環境へのインストール
npm install
npm run build
# then point your config to dist/index.js directly
使用例
Claude に次のように尋ねます。
- 「画像挿入ダイアログには、どの ATAG 基準が適用されますか?」 →
get-guidanceを使用 - 「Part B のレベル A 基準をすべて表示して」 →
get-criteria-by-levelを使用 - 「ガイドライン B.3.1 を説明して」 →
get-guidelineを使用 - 「ATAG でいう『editing-view』とは何ですか?」 →
get-glossary-termを使用 - 「ATAG でキーボードアクセスを検索して」 →
search-atagを使用
開発
npm run dev # Run server directly with tsx (no compile step)
npm test # Run all tests
npm run test:watch # Watch mode
npm run validate-data # Validate data/atag.json structure
npm run check-updates # Check if W3C spec has changed
ブランチ運用とコミット
このプロジェクトでは、git flow と Conventional Commits に従います。
main— リリース済みコードのみを格納します。main へのマージごとにタグ付けして公開しますdevelop— 統合ブランチです。日々の作業はここに反映しますfeature/<name>—developから分岐し、developにマージしますrelease/<version>—developから分岐し、main(タグ付け)とdevelopにマージしますhotfix/<name>— 緊急修正のためにmainから分岐し、mainとdevelopの両方にマージします
コミットメッセージには、feat:、fix:、docs:、test:、ci:、chore:、refactor: の標準プレフィックスを使用します。破壊的変更の場合は ! を付けるか、BREAKING CHANGE: フッターを追加します。
リリース
バージョン管理には、標準的な npm のバージョン更新を使用します。v* タグをプッシュすると GitHub Actions の公開ワークフローが起動し、テストを実行した後、自動的に npm に公開されます。
npm version patch # bug fixes: 1.0.0 → 1.0.1
npm version minor # new features: 1.0.0 → 1.1.0
npm version major # breaking: 1.0.0 → 2.0.0
git push && git push --tags
バージョンを更新する際は、server.json の version フィールドも一致するように更新してください。MCP Registry は、公開済みの npm パッケージと照合して値を検証します。npm への公開が成功したら、次のコマンドでレジストリの掲載情報を更新します。
mcp-publisher login github
mcp-publisher publish
公開には、リポジトリシークレット NPM_TOKEN(atag-mcp への書き込み権限を持つ、粒度の細かい npm アクセストークン)が必要です。トークンの有効期限が切れた場合やローテーションした場合は、同じシークレット名で新しいトークンを登録し、リリースタグを付ける前に、手動の Check npm token ワークフロー(Actions タブ)を実行して認証できることを確認してください。
データを最新の状態に保つ
ATAG 2.0 の仕様は data/atag.json に記録されています。GitHub Actions ワークフロー(.github/workflows/update-atag.yml)は毎週実行され、W3C 仕様の内容に変更があった場合はイシューを作成します。
手動で更新するには:
- https://www.w3.org/TR/ATAG20/ の変更内容を確認します
- 変更内容を
data/atag.jsonに反映します npm run validate-dataを実行して構造を確認しますnpm run check-updates -- --saveを実行して保存済みのハッシュを更新します
データ
- バージョン: ATAG 2.0
- 仕様: https://www.w3.org/TR/ATAG20/
- パート数: 2(パート A + パート B)
- 原則: 8
- ガイドライン: 24
- 達成基準: 63
- 用語集の用語: 18
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。