mcpField
A
atag-mcp

atag-mcp

ローカル
github.com/MMasey開発ツール117 週間前に更新

atag-mcp について

atag-mcpは、オーサリングツール開発者向けにATAG 2.0の指針を提供するMCPサーバーです。人手で確認したW3C仕様の静的データを使い、基準の検索や機能に応じたガイダンスを行います。

主な機能

  1. 01機能に応じたATAGガイダンス
  2. 02パート・原則・ガイドラインの閲覧
  3. 03レベル別の達成基準検索
  4. 04ATAGコンテンツ検索
  5. 05用語集の定義検索

活用シーン

  1. 01画像挿入ダイアログの評価
  2. 02Part BのレベルA基準の確認
  3. 03特定ガイドラインの参照
  4. 04ATAG用語の意味の確認

MCP 対応

MCPサーバーは、機能別ガイダンス、達成基準、用語集の検索など、ATAG 2.0を検索・参照するツールを提供します。

設定

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

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

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

パッケージ
npmatag-mcp1.0.2

ツール

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-atagATAG の概要、WCAG との違い、2 部構成について
list-partsPart 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-atagATAG コンテンツ全体を対象としたキーワード検索
list-glossary-termsATAG の用語集にあるすべての用語
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 仕様の内容に変更があった場合はイシューを作成します。

手動で更新するには:

  1. https://www.w3.org/TR/ATAG20/ の変更内容を確認します
  2. 変更内容を data/atag.json に反映します
  3. npm run validate-data を実行して構造を確認します
  4. npm run check-updates -- --save を実行して保存済みのハッシュを更新します

データ

  • バージョン: ATAG 2.0
  • 仕様: https://www.w3.org/TR/ATAG20/
  • パート数: 2(パート A + パート B)
  • 原則: 8
  • ガイドライン: 24
  • 達成基準: 63
  • 用語集の用語: 18

ライセンス

MIT

コメント

MCP は初めてですか?

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

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