A202 について
A202は、ソフトウェアエージェントと独立した組織間の検証可能な商取引を定めるオープン仕様です。委任権限、取引とセッションの状態、開示ルール、適合性チェックを定義します。
主な機能
- 01型付き委任権限モデル
- 02取引とセッションの状態機械
- 03開示制御ルール
- 04実行可能な適合性テスト
活用シーン
- 01エージェント主導取引の権限定義
- 02取引実装の仕様適合性確認
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm ghcr.io/a202-protocol/a202-mcp:0.1.0ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/a202-protocol/a202-mcp:0.1.0stdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
A202:エージェント主導の商取引のための検証可能な合意プロトコル
ステータス: 全文が参考情報です。
A202は、エージェント間またはエージェント主導の取引における検証可能な商取引のための仕様です。独立した組織間の取引について、商取引上の権限、交渉状態、検証可能な適合性を定めるオープンな仕様であり、ソフトウェアエージェントが組織に代わって行う取引も対象とします。
委譲された商取引上の権限を表す型付きオブジェクト、取引およびその内部の各二者間セッションの状態機械、誰に何を開示できるかのルール、そしてこれらすべてを実装が合格または不合格となるチェックにする実行可能な適合性テストスイートを定義します。
目的、範囲、対象外事項の全容はCHARTER.mdをご覧ください。
A. A. Musseが作成、開発しました。MAINTAINERS.mdをご覧ください。
ステータス
リリース済み、1.0以前です。
v0.1.0は、この一連の最初のタグ付きリリースです。タグ、各スキーマファイルのダイジェスト、適合性マニフェスト、リリースノートをまとめて公開しています。RELEASES.mdとCHANGELOG.mdをご覧ください。1.0以前は、MINORのバージョン更新で互換性が破られる場合があり、互換性を破る変更には必ず移行に関する注記が付属します。- 名称はA202で、「エー・ツー・オー・ツー」と読み、正式名称はA202、エージェント主導の商取引のための検証可能な合意プロトコルです。正式名称は説明的な表現であり、略称の展開形ではありません。各文字が正式名称を表すわけではありません。
202はHTTP 202 Acceptedを指します。A202-0017では、受理が仕様の基礎となる基本要素であるため、受理された送信が返すステータスとしてこれを定めています。A202-の理由コードの接頭辞、A202-NNNN形式の提案識別子、a202-commercial/0.1形式の仕様バージョン文字列も、すべてこの名称に由来します。 - A202™はPlural Worldsの商標です。名称の使用許可についてはTRADEMARK.mdをご覧ください。
- スキーマの
$id値はhttps://schemas.a202.orgで解決されます。フィクスチャのホストには予約済みの.invalid名を使用します。テストデータが決して解決されないようにするためです。 - Apache License, Version 2.0に基づいてライセンスされています。 リポジトリ全体を一つのライセンスでカバーします。仕様のテキスト、スキーマ、フィクスチャ、マニフェスト、ランナー、参考資料が対象です。このライセンスには、各コントリビューターからの明示的な特許許諾が含まれています。LICENSEとCONTRIBUTING.mdをご覧ください。
- 外部からの貢献は、CONTRIBUTING.mdに記載された条件で受け付けます。同一ライセンスのもとで貢献し、開発者起源証明書に署名する必要があります。
レイアウト
| パス | 内容 |
|---|---|
CHARTER.md | 目的、対象範囲、対象外事項、設計原則 |
GOVERNANCE.md | プロジェクトの運営方法、およびスポンサーが管理する事項と管理しない事項 |
MAINTAINERS.md | このリポジトリのメンテナー |
CONTRIBUTING.md | コントリビューションの受付状況、およびコントリビューションを受け入れる際の条件 |
SECURITY.md | 非公開での協調的な脆弱性開示 |
THREAT-MODEL.md | 想定する敵対者、防御する特性、意図的に防御しない事項 |
CODE_OF_CONDUCT.md | 期待される行動 |
TRADEMARK.md | A202 という名称、およびその使用が許可される場合と許可されない場合 |
RELEASES.md | バージョン管理、リリースの構成、互換性ポリシー |
CHANGELOG.md | 変更内容、および RELEASES.md で求められるリリースノートの蓄積先 |
.github/ | レビューの振り分け、プルリクエストとイシューのフォーム、すべての変更に対してテストスイートを実行するワークフロー |
proposals/ | A202 の変更提案プロセス |
schemas/ | 標準商用モデル、取引プロファイル拡張モデル、JSON スキーマ |
authority/ | 商業上の権限:委任された権限、制約、委任、承認、取り消し |
discovery/ | 取引相手への招待:未登録の当事者が、名前を指定した単一の取引に参加する方法 |
negotiation/ | 取引とセッションの状態マシン、およびオークションのイベントセマンティクス |
conformance/ | フィクスチャ、マニフェスト、規範的ランナー、適合性グレードの定義 |
各仕様書には、どのセクションが規範的で、どのセクションが参考情報であるかを示すステータスヘッダーがあります。
適合性テストスイートの実行
ランナーは、マニフェストに記載されているすべてのフィクスチャをスキーマに照らして検証し、その後、JSON Schema では表現できない不変条件を適用します。スキーマに適合することは適合性を意味しません。それがランナーの存在する理由です。
jsonschema>=4.18 が必要です。システムのインタープリターにインストールされていない場合は、仮想環境で十分です。
python3 -m venv .venv && .venv/bin/pip install "jsonschema>=4.18"
リポジトリのルートから実行します。
python3 conformance/run-conformance.py --verbose
期待される結果は、すべてのフィクスチャが成功し、失敗がないことです。合計数はマニフェストに記載された数と一致します。マニフェストが件数の唯一の情報源であり、ランナーは実行のたびにその数を出力します。またランナーは、規範レイヤーでコードが定義されている場合、各ネガティブフィクスチャがマニフェストで指定された理由コードで拒否されることも検証します。スキーマを変更する前と後に実行してください。
各ネガティブフィクスチャは最小限の構成です。問題となる要素を1つ取り除けば、文書は問題なく検証できる状態でなければなりません。偶発的な理由で失敗するネガティブフィクスチャは何も検証しないため、追加する際はその点を確認してください。
このテストスイートは、誰かが実行するのを覚えていることに依存しません。参照実装のテストおよび MCP サーバーのテストとともに、すべてのプルリクエストとデフォルトブランチへのすべてのプッシュで、.github/workflows/checks.yml に基づいて実行されます。GOVERNANCE.md のセクション 3.4 では、スキーマ、フィクスチャ、マニフェスト、ランナーに対するあらゆる変更について、このテストスイートの合格を必須としています。このワークフローが、その要件をゲートとして機能させます。
読み始める場所
- これは何であり、意図的に何ではないのかについては、CHARTER.md を参照してください。
- オブジェクトモデル、エンベロープ、スキーマ検証では表現できない不変条件については、schemas/canonical-commercial-model-v0.1.md を参照してください。
- 状態を遷移させるものと、遷移させないものについては、negotiation/pilot-transaction-state-machine-v0.1.md を参照してください。
- 実装が上記のいずれかと一致しているかを判定するフィクスチャについては、conformance/manifest-v0.1.json を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。