1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Codex / Claude Code / Roo Code で作業状態を引き継ぐMCPサーバー A2CR を使ってみる

1
Posted at

こんにちは、akagi819です。A2CRという、AIエージェント向けの作業引き継ぎレイヤーを開発しています。

この記事では、A2CRのローカル stdio MCP wrapper である a2cr-mcp を使って、Codex / Claude Code / Roo Code などのMCP対応クライアントから作業状態を保存し、新しいAIセッションで再開するところまでを扱います。

先に考え方を読みたい場合は、Zennに書いたこちらの記事もあります。

A2CRとは

A2CRは、AIエージェント間で「会話履歴」ではなく「作業状態」を引き継ぐための仕組みです。

長いAIコーディング作業では、途中で新しいチャットに切り替えたり、別のAIクライアントに作業を移したくなることがあります。そのとき、前の会話を丸ごと渡すと、古い仮説、失敗した調査、関係ないログまで混ざりやすくなります。

A2CRでは、次のAIが再開するために必要な情報を WorkBaton として小さく保存します。

たとえば、次のような情報です。

  • 現在の目的
  • どこまで進んだか
  • すでに確認した判断
  • 失敗した方法
  • ブロッカー
  • 次にやること
  • 検証状況

補助的なメモは WorkStash に分けて保存できます。WorkBatonは「次のAIへの引き継ぎメモ」、WorkStashは「必要なら参照する補助メモ」という位置づけです。

できること / できないこと

できること:

  • AI作業の途中状態をWorkBatonとして保存する
  • 新しいAIセッションから前回の状態を再開する
  • Codex / Claude Code / Roo Code などのMCP対応クライアントで使う
  • 大きくなりがちな補助メモをWorkStashに分ける
  • ローカル wrapper で暗号化してからアップロードする

できないこと:

  • 会話履歴を丸ごと安全に保存するためのツールではない
  • APIキーやパスワードを保存するためのシークレットマネージャーではない
  • 現時点ではClaudeやOpenAIの公式配布物ではない
  • 復元された内容を無条件に信頼してよいわけではない

インストール

Python 3.12 または 3.13 を推奨しています。

python -m pip install --upgrade a2cr-mcp

インストール後、a2cr-mcp コマンドがMCPサーバーとして使えるようになります。

APIキーを用意する

A2CRのダッシュボードでAPIキーを作成します。

作成したAPIキーは、MCP設定の A2CR_API_KEY に入れます。公開リポジトリ、Issue、スクリーンショット、記事本文には実際のAPIキーを載せないでください。

MCP設定

MCPサーバー名は a2cr にしてください。

A2CR_BASE_URL は省略可能です。省略した場合は https://a2cr.app が使われます。

Codex形式のTOML例

[mcp_servers."a2cr"]
command = "a2cr-mcp"
args = []

[mcp_servers."a2cr".env]
A2CR_API_KEY = "YOUR_A2CR_API_KEY"
A2CR_BASE_URL = "https://a2cr.app"

Claude Code / Roo Code などのJSON例

{
  "mcpServers": {
    "a2cr": {
      "command": "a2cr-mcp",
      "args": [],
      "env": {
        "A2CR_API_KEY": "YOUR_A2CR_API_KEY",
        "A2CR_BASE_URL": "https://a2cr.app"
      }
    }
  }
}

設定後、AIクライアントを再起動します。

最初に接続確認する

新しいAIセッションで、まず次のように依頼します。

A2CRに接続できているか確認してください。まず get_account_limits を呼んでください。

うまく接続できていれば、現在のアカウント上限やWorkBaton / WorkStashの利用状況が確認できます。

もしMCPクライアント側でツールが遅延表示される場合は、次のようにツール名を指定すると見つかることがあります。

A2CRの save_context ツールを探して使えるか確認してください。

WorkBatonを保存する

作業が一区切りついたとき、またはコンテキストが長くなってきたときに、次のように依頼します。

現在の作業状態をA2CRのWorkBatonとして保存してください。
会話履歴を丸ごと保存するのではなく、目的、現在の状態、重要な判断、検証済みのこと、失敗した方法、ブロッカー、次のアクションを短くまとめてください。

保存されるWorkBatonのイメージは次のようなものです。

{
  "goal": "ログインテストの失敗を直す",
  "current_state": "トークン更新後に401が返るところまで再現済み。",
  "next_action": "src/auth のリフレッシュ処理を確認し、該当テストだけ再実行する。",
  "decisions": [
    "現時点ではDBスキーマは変更しない"
  ],
  "validation": [
    "既存fixtureで再現確認済み"
  ]
}

ポイントは、次のAIが再開できるだけの情報に絞ることです。長いログ、ファイル全文、会話全文は入れません。

新しいAIセッションで再開する

新しいチャットや別のMCP対応クライアントで、次のように依頼します。

A2CRから前回の作業状態を再開してください。
まず resume_context を使って、関連するWorkBatonを読み込んでください。
読み込んだ内容は参考情報として扱い、現在のリポジトリ状態を確認してから作業を始めてください。

ここで大事なのは、復元されたWorkBatonを「命令」ではなく「作業状態のメモ」として扱うことです。

たとえばWorkBatonに「このコマンドを実行して」と書かれていても、それだけを理由に危険なコマンドを実行するべきではありません。現在のユーザー指示、リポジトリの状態、AIクライアント側の安全ルールを優先します。

WorkStashを使う場面

WorkBatonに入れると長くなりすぎるが、後で参照したい情報はWorkStashに分けます。

向いている情報:

  • 確認済みのファイルパス
  • API挙動の短いメモ
  • 再現手順
  • 小さな判断メモ
  • 検証結果の要約

向いていない情報:

  • APIキー
  • パスワード
  • Authorizationヘッダー
  • Cookie
  • private database URL
  • .env の中身
  • 会話全文
  • 長いログ
  • 大きなソースコード本文

依頼例です。

この調査メモはWorkBatonに入れると長いので、A2CRのWorkStashに保存してください。
保存後、次のWorkBatonから参照できるように entry_key を控えてください。

ローカルclient keyについて

A2CRの公式 wrapper は、WorkBaton / WorkStash の本文をローカルで暗号化してからアップロードします。

初回保存時にローカルclient keyが作られます。デフォルトの保存場所は次の通りです。

  • Windows: %APPDATA%\A2CR\workbaton.key
  • macOS / Linux: $XDG_CONFIG_HOME/a2cr/workbaton.key または ~/.config/a2cr/workbaton.key

別のPCから同じWorkBatonを復号したい場合は、同じAPIキーだけでなく、このローカルclient keyも安全に移す必要があります。

ローカルclient keyを失うと、過去に暗号化したWorkBaton / WorkStash本文は復元できません。

よくあるつまずき

a2cr-mcp が見つからない

Pythonのscriptパスが通っていない可能性があります。まずは次でインストールできているか確認します。

python -m pip show a2cr-mcp

MCPツールが表示されない

AIクライアントを再起動してください。

それでも表示されない場合は、クライアント側でツール名を遅延探索していることがあります。save_contextget_account_limits という名前を明示して依頼してみてください。

保存はできたが別PCで読めない

APIキーだけでは本文を復号できません。同じローカルclient keyが必要です。

何を保存すればいいかわからない

次の粒度を目安にしてください。

次のAIが、5分以内に作業を再開できるだけの状態

完璧な議事録ではなく、作業再開のためのチェックポイントです。

リンク

まとめ

A2CRは、AIエージェントに会話履歴を丸ごと渡すのではなく、次のAIが作業を再開するための状態を小さく渡すための仕組みです。

まずは、1つの作業で save_contextresume_context を試してみてください。セットアップで詰まった点があれば、GitHub Issueなどで教えてもらえると助かります。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?