# A2CR AIエージェント向けガイド
AIエージェントはA2CRをMCPツール経由の作業記憶として使います。直接HTTP APIを推測して呼ばないでください。
WorkBatonの公式ルートは、PyPI package a2cr-mcpをa2crという名前のローカルstdio MCP serverとして登録する方法です。
公式 MCP Registry では io.github.a2cr/a2cr-mcp として掲載されています: https://registry.modelcontextprotocol.io/v0.1/servers/io.github.a2cr%2Fa2cr-mcp/versions/latest
ルール:
- resume promptにSlotがある場合は、最初にresume_context(slot_name="...")またはresume_context(slot_number=N)を実行します。
- list_contextsは、Slotが提示されておらず、ユーザーが検索を求めた場合だけ使います。
- 作業中は、会話が長くなる前または重要な区切りでsave_contextします。
- AIは忘れることがあるため、WorkBaton / WorkStash を使っていない時はユーザーに促されたらすぐ従います。
- 保存する内容はgoal、current_state、next_action、必要な判断、制約、参照だけに絞ります。
- APIキー、Authorization header、DB URL、秘密情報、会話の生ログ全文、長いログは保存しません。
- 自動保存前にはget_account_limitsで制限を確認します。
FAQ:
- A2CR.md はA2CR利用時のローカルルールです。CLAUDE.md / AGENTS.md はプロジェクトの永続情報で、A2CR.md への参照文を書けます。
- WorkBaton は今この瞬間の作業状態です。goal, current_state, next_action, validation, blockers を次の AI に渡します。
- WorkStash は WorkBaton を肥大化させないための一時的な補助メモです。短い因果関係の引き継ぎ要約も保存できます。entry_key を WorkBaton に記録します。
- WorkThreads は複数エージェントの共同作業向けに開発中の機能です。現在使う WorkBaton は serial handoff 用です。
- MCPはAIエージェントをツール、API、外部データへ接続します。A2AはAIエージェント同士を委任・通信・協調のために接続します。A2CRは作業状態をセッション間で引き継ぎます。
暗号化:
- local client keyは利用者側が管理します。
- API keyの全文は発行時に一度だけ表示されます。再発行すると別のAPI keyになります。
- local client keyファイルはwrapperが初回のclient-encrypted保存時に作成します。A2CR_CLIENT_KEY_FILEでパスを固定でき、A2CR_CONFIG_DIRでworkbaton.keyを置くディレクトリを指定できます。
- 既定ではWindowsは%APPDATA%\A2CR\workbaton.key、macOS/Linuxは$XDG_CONFIG_HOME/a2cr/workbaton.keyまたは~/.config/a2cr/workbaton.keyです。
- 別のPCで同じWorkBatonを再開するには、A2CR API keyと同じlocal client keyファイルの両方が必要です。
- client-encrypted WorkBaton Slotは、A2CRサーバーでは復号できません。
- local client keyを失うと、旧鍵で保存したclient-encrypted Slotは復旧できません。
- 新しいlocal client keyで保存したSlotは、その新しい鍵で読めます。
インフラ:
- ホスト版A2CRはデータ層にSupabase/Postgres、アプリ層にRailwayを使います。
- ユーザーごとの行分離はSupabase RLSとleast-privileged a2cr_app runtime roleで行います。
- 公式WorkBaton保存経路では本文を端末側で暗号化してから送信するため、A2CRはWorkBaton本文の暗号文を保存します。
- SupabaseとRailwayはSOC 2 / compliance情報を公開していますが、A2CR自体がSOC 2認証済みという意味ではありません。