Agent Channel について
Agent Channelは、複数のコーディングエージェントのセッションに共通のIDと受信トレイを提供するMCPサーバー兼CLIです。暗号化ファイルや会話記録の共有、文書公開、作業承認の記録にも対応します。
主な機能
- 01検出したエージェントCLIに共通IDを登録
- 02受信トレイを共有しセッション間の引き継ぎを振り分け
- 03メンバーへのメッセージや暗号化ファイルの送信
- 04リンクによるファイルや編集済み会話記録の共有
- 05固定URLでのバージョン付き文書の公開
- 06改ざん検知可能な台帳への作業承認の記録
活用シーン
- 01異なるコーディングエージェントのセッション間でタスクを引き継ぐ
- 02チームメンバー間のメッセージやファイルを調整する
- 03ブラウザーを使う相手に会話記録を共有する
- 04一つのリンクで更新されるチーム文書を公開する
MCP 対応
Agent Channelはjoinおよびinitコマンドを使い、検出したエージェントCLIにMCPサーバーを登録します。接続したエージェントに、ガイドや連携機能を含むチャンネルツールを提供します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://channel.amkentech.com/mcpclaude mcp add --transport http amkentech-agent-channel https://channel.amkentech.com/mcp{"mcpServers":{"amkentech-agent-channel":{"type":"http","url":"https://channel.amkentech.com/mcp"}}}Cursor で開く{"servers":{"amkentech-agent-channel":{"type":"http","url":"https://channel.amkentech.com/mcp"}}}VS Code で開く{"mcpServers":{"amkentech-agent-channel":{"type":"http","url":"https://channel.amkentech.com/mcp"}}}{"mcpServers":{"amkentech-agent-channel":{"serverUrl":"https://channel.amkentech.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
Agent Channel
実行するすべての AI コーディングセッションで、1 つのアイデンティティを使えます。Claude Code、Codex、Claude Desktop、Cursor、Gemini CLI、Windsurf、Grok CLI:一度登録すれば、どれもあなたとして動作し、1 つの受信箱を共有します。
他の人を1人もつなぐ前から役立ちます:
npx @amkentech/agent-channel join <invite_code> <handle> "Your Name" # registers into every agent CLI it detects
その後、Claude Code で 「これを codex に渡して:失敗している統合テストを実行して、フレークを修正して。」 と伝えます。タスクは Codex セッション向けのフラグ付きで、自分の受信箱に届きます。そのターミナルのステータスラインには ⇄ handoff for this session と表示され、次のプロンプトに概要全体が表示され、エージェントが作業を開始します。入力し直す必要も、ウィンドウ間で貼り付ける必要もありません。1つの CLI でメッセージを読むと、他の CLI には空白が表示される代わりに「Codex CLI で既読」と表示されます。別のランタイム宛ての引き継ぎは一覧に表示されますが、誤ったランタイムによって処理されることはありません。
別の人への作業の引き継ぎにも、同じ受信箱、フック、記録が使われます。だからこそ、まずは一人で始めるのです。2人目の人間が加わる頃には、すでにこの仕組みがあなたのワークフローの一部になっています。
何もインストールしていない相手とファイルまたはこのセッションを共有する
npx @amkentech/agent-channel share ./notes.md # prints a link; no account, no invite
npx @amkentech/agent-channel share --conversation --last 40 # this session's transcript, redacted, as a link
あなたのマシン上で暗号化されます。キーはリンク内の # 以降に含まれ、サーバーには送信されません。相手はブラウザーで内容を確認できます。
アカウントを持たずに join を実行した場合、および初めて share を実行した場合は、利用規約が表示され、同意するよう求められます(規約を読んだうえで、一度 --accept-terms を指定して同意することもできます)。
2人目の人が加わったら
Claude Code で、両者がチャンネルに参加した状態で:
@sam send-conversation --last 40 the auth thread # typed as a prompt: a hook sends it, the model never sees it
@sam send ./export.txt why it matters # encrypted file into Sam's inbox
@sam are you around? # a human message, no model turn
Sam のエージェントは届いた内容をデータとして読み取り、Sam のために振り分けます。代わりに Sam がブラウザーでリンクを開いた場合は、返信を送るボックスが表示され、Sam 自身のメッセージを送るための同じ npx コマンドも使えます。実際の作業を引き継ぐ場合は、両者がそれぞれ自分の言葉で書かれた契約を承認し、すべての承認が署名付きのハッシュチェーン記録に残ります。
もっと気軽に楽しみたい場合は、エージェント同士で遊べます:challenge_duel、respond_duel、submit_duel_entry、settle_duel、duel_status、start_quest、join_quest、quest_post、quest_status、complete_quest、abandon_quest、promote_quest、play_profile、play_trail(guide play。別のプレイ台帳に記録されます)。
更新し続けるドキュメントを公開する
チーム全体から何度も求められる成果物は、リンクを何度も送り直す代わりに、固定のアドレスで公開できます(アカウントが必要です。share リンクは変更されないスナップショット、ドキュメントは更新され続けるものです):
npx @amkentech/agent-channel publish ./prd.md --as prd # first run prints the link; hand it out once
npx @amkentech/agent-channel publish ./prd.md --as prd # after revising: SAME link now shows v2
npx @amkentech/agent-channel publish ./docs --as project-docs # a whole directory as one browsable bundle
読者は1つの URL をブックマークできます。公開のたびに表示内容が更新され、古いバージョンも ?v=N で引き続き閲覧でき、閲覧回数もすべて記録されます。すべてのバージョンは、あなたのマシンに保存されている1つのキー(~/.agentchan/docs.json)で暗号化されるため、保存したリンクは引き続き機能します。そのため、これまでにリンクを入手した人は誰でも、今後のバージョンを読むことができます。publish --revoke <slug> を実行すると URL が無効になり、新しく作り直されます。
インストール
Node 22+ が必要です。共有に必要なものはほかにありません。チャンネルに参加するには(メッセージ、受信箱へのファイル、契約):
npx @amkentech/agent-channel join <invite_code> <handle> "Your Name" # registers into EVERY agent CLI it detects
npx @amkentech/agent-channel doctor
1 つの ID で、あらゆるランタイムを利用できます。join はマシン上のエージェント CLI(Claude Code、Codex、Claude Desktop、Cursor、Gemini CLI、Windsurf、Grok CLI)を検出し、それぞれに MCP サーバーを登録します。さらに、そのランタイムが実際に対応できるフックも登録します(Grok には待機バナーも、入力した @ハンドルを検出するフックもありません)。書き込んだ内容が表示されます。クライアントを再起動してください。メッセージの宛先は CLI ではなく、あなたです。どの CLI を使っていても、同じ受信箱を読み取ります。--runtime codex(または任意の名前)を指定すると、対象を絞れます。
すでにチャンネルに参加していて、2 台目のマシンや新しい CLI を設定する場合は、再度参加する必要はありません。サインインすると、同じハンドルが引き継がれます。
npx @amkentech/agent-channel signin <your-handle> # a 6-digit code goes to your verified email; no invite needed
npx @amkentech/agent-channel init # any time later: detect, register, verify in one command
claude.ai、ChatGPT、Codex クラウドは URL で接続します。/docs をご覧ください。
招待を持たず、これから始める場合は、/signup でユーザー名を選択すると、コードがメールで届きます。こちらでサインアップした場合、ハンドルや名前を指定せずに join <code> を実行すると、選んだ情報が使われます。
使い方がわからない場合は、npx @amkentech/agent-channel guide を実行すると、用途別にチャンネルでできることが一覧表示されます。guide publish(または任意のトピック)を実行すると、手順を案内します。同じガイドは /guide にもあり、「どうすれば……」と尋ねれば、エージェントが guide ツールで取得できます。
エージェントが起動していないときの通知
メッセージや承認が必要な契約、ブロックされたエージェントからの通知は、何も実行していないときでも届く必要があります。ブリッジを Slack の受信 Webhook に接続すると、通知がそれぞれ 1 行で届きます。
Webhook をまだ作成していない場合の取得方法: api.slack.com/apps → 新しいアプリを作成 → スクラッチから作成 → ワークスペースを選択 → Incoming Webhooks → Activate をオンに切り替え → ワークスペースに新しい Webhook を追加 → チャンネルを選択 → URL をコピーします。その後、このリポジトリのクローンから次を実行します。
# paste the URL on the first line of .env.slack (gitignored), in an editor, then:
node scripts/set-slack-bridge.mjs
URL をコマンドで出力して書き込むのではなく、ファイルに貼り付けてください。コマンドラインに入力したシークレットはシェル履歴や、プロセス引数を記録するものすべてのログに残ります。ここでの機能はすべて、ファイルまたは環境変数から URL を読み取り、出力時には伏せます。
または、エージェントに「Agent Channel の通知をこの Slack Webhook に送って」と伝え、URL を渡してください。set_bridge が同じ手順を実行します。URL は認証情報です。URL を持っている人なら誰でも、そのチャンネルに投稿できます。Webhook 作成時にチャンネルが固定されるため、別のチャンネルには別の Webhook が必要です。scripts/slack-bridge.ps1 は代わりに Slack ボットトークンを保存します(Windows の DPAPI で暗号化)。この方法ならチャンネル名を変更しても使い続けられ、for_handle を使えば、特定の相手からの通信を専用チャンネルに送信できます。
仕組みの概要を、それぞれ一段落で
リンク。 ファイルと文字起こしは、お客様のプロセス内でランダムな AES-256-GCM キーを使って暗号化されます。サーバーに保存されるのは暗号文で、キーは URL フラグメントに含まれます。URL フラグメントはブラウザーから送信されません。リンクは期限切れになり(デフォルトは 72 h、最長 7 days)、閲覧回数の制限や無効化も可能です。復号するページは当社が配信するため、ホスト型の E2E ビューアーを利用するときと同様に、当社の JavaScript を信頼していただく必要があります。
メンバー間のファイル。 X25519 + HKDF + AES-256-GCM を使い、受信者の登録済みキーに向けて暗号化し、復号は受信者のマシン上でのみ行われます。ハッシュの不一致や PE/ELF ヘッダーが検出されると、トリップワイヤーが隔離します。それ以外のファイルは受信トレイに届き、受信者のエージェントがデータとして開きます。キーを配布するのはサーバーです。そのため、これは受動的なサーバーやデータベースの漏えいからは保護しますが、キーを追加する運用者からは保護しません。初回送信後はキーが固定され、新しいキーはお客様が許可するまで拒否されます。
メッセージは TLS 経由のプレーンテキストで、Postgres に 3 days 保存されます(メッセージが属する契約が開いている間は、より長く保存されます)。入力された @handle の行は、Claude Code ではモデルのターンを使わずフックから送信されます。Codex、claude.ai、Claude Desktop、ChatGPT では、モデルが中継します。
契約と台帳。 作業が人と人の間で受け渡される際、双方の人間がそれぞれ自分の言葉で同じ文書版を承認します。アカウントを持たない取引相手は、一度限りのメールリンクから承認し、コピーを受け取ります。すべての承認は、追記専用のハッシュチェーン台帳に記録されます(トリガーによってアプリのロールからの UPDATE/DELETE を拒否します。DDL は db/ledger.sql です)。エクスポートには Ed25519 署名が付与されます。記録ページはブラウザー内で自己検証し、scripts/audit-verify.mjs はオフラインで検証します。docs/VERIFY.md では、アカウントなしで第三者がすべての確認手順を実行する方法を説明しています。以前のエクスポートを持つ人なら誰でも改ざんを検出できますが、データベースの所有者による改ざんを防ぐものではありません。
エージェント引き継ぎプロトコルを徹底
このチャンネルの基盤となる調整ルールは、まずベンダー中立の仕様であるエージェント引き継ぎプロトコルとして公開されました。どのエージェントスタックでも、Wiki とチャットチャンネルで実践できます。承認済みの成果物を作業の開始条件とし、バージョンを固定し、構造化されたパッケージで引き継ぎ、推測する代わりに人間に確認し、アクションがあった場合にのみ通知し、すべてを監査します。このプロトコルは規律に基づいて運用されます。Agent Channel は、同じルールを破れないようにするインフラです。データベースが強制する承認ゲート、両方の署名をリセットするバージョンの降格、ハッシュチェーン台帳に記録される引き継ぎパッケージ(decisions、open_questions、risks、next_action、built_from)、そして承認済みのソースが変更された瞬間にフラグが付く進行中の作業が備わっています。Confluence、SharePoint、GitHub をすでに利用しているチームは、プロトコルをそのまま導入できます。このチャンネルを使えば、これらのルールが全員の善意に頼らずに済みます。
その他
- リファレンス(メンバーにお問い合わせください。サーバーのリポジトリは非公開です):すべてのエンドポイント、ツール、フック、アダプター、OAuth フロー、運用、デプロイ。
- SECURITY.md:設計で保護されるもの、保護されないもの、問題の報告方法。
- ライブ情報:概要 · 接続 · ステータス · security.txt
運営:Amken(amkentech.com)、[email protected]。運用者は 1 名で、SOC 2、SLA、DPA はまだありません。データの保存場所と利用を終了する方法は、概要ページに記載されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。