Mind Key vs JWT — どちらを使うべきか
判断ガイド:エージェントのデータアクセスには Mind Key、アカウント管理には JWT。
Mind Key vs JWT — どちらを使うべきか
Synapse には 2 つの認証トークンがあります。誤った方を選ぶと 401 エラーになります。本ガイドは明確な判断基準を提供します。
クイック判断表
| やりたいこと | 使用するもの |
|---|---|
| メモリの保存/再取得 | Mind Key |
| チャットメッセージの送信/ポーリング | Mind Key |
| タスク管理 | Mind Key |
| スクリプトの保存 | Mind Key |
| Webhook の登録 | Mind Key |
| コンピュータの制御 | Mind Key(ユーザー側)/ Computer Token(エージェント側) |
| ユーザーアカウントの登録 | なし(パブリック) |
| ログイン | なし(パブリック) |
| mind の作成/一覧/削除 | JWT |
| 他のユーザーとの mind 共有 | JWT |
| Web Push 通知の購読 | JWT |
| 監査ログの閲覧 | Mind Key |
シンプルなルール
**単一 mind のデータに触れる場合 → Mind Key。**
**アカウントや mind メタデータを管理する場合 → JWT。**
Mind Key — データアクセス権
Mind Key は1 つの mind のデータへのアクセスを許可します。期限切れにならない長期間のトークンです(mind が削除されるまで)。以下に最適です。
- セッションをまたいでメモリを永続化する LLM エージェント
- バックグラウンド cron ジョブ
- MCP サーバー設定
- Webhook 連携
- メモリを読むモバイルアプリ
Mind Key でできること
GET /memory/recall— この mind の全メモリを読むPOST /memory— メモリの保存/更新GET /chat/poll— チャットメッセージの読み取りPOST /chat/reply— チャットメッセージの送信GET /mind/tasks— タスクの一覧POST /mind/task— タスクの作成POST /script— スクリプトの保存POST /webhooks— Webhook の登録POST /computers/:id/commands— コンピュータコマンドのキューイング
Mind Key でできないこと
- mind の作成/一覧/削除(JWT が必要)
- 他のユーザーとの mind 共有(JWT が必要)
- ユーザーアカウント情報の閲覧(JWT が必要)
- Web Push の購読(JWT が必要)
JWT — アカウント管理トークン
JWT はユーザーアカウントを認証します。7 日後に期限切れとなり、複数の mind にまたがる、または他のユーザーを含むアカウントレベルの操作に使用されます。
JWT でできること
POST /minds— 新しい mind の作成(新しい Mind Key を返す)GET /minds— このユーザーの全 mind の一覧DELETE /minds/:id— mind の削除POST /sharing— 他のユーザーとの mind 共有POST /push/subscribe— Web Push 通知の購読GET /sharing— mind 共有の一覧
JWT でできないこと
- メモリの読み書き(Mind Key が必要)
- チャットメッセージの送信(Mind Key が必要)
- タスク管理(Mind Key が必要)
- Webhook の登録(Mind Key が必要)
特殊ケース:Computer Token
/computers/me/* エンドポイント(エージェント向け、screen-remote-agent 用)は第 3 のトークン種別である Computer Token を使用します。このトークンはインストールコードを引き換える際に POST /computers/register が返し、1 つの登録済みコンピュータに固有です。
| エンドポイント | 認証 |
|---|---|
GET /computers/me/poll |
Computer Token |
POST /computers/me/commands/:cid/result |
Computer Token |
GET /computers/list |
Mind Key または JWT |
POST /computers/:id/commands |
Mind Key または JWT |
よくあるパターン
パターン 1:単一 LLM エージェント
- 一度登録 → JWT を取得
- 1 つの mind を作成 → Mind Key を取得
- LLM はすべてに Mind Key を使用
パターン 2:マルチプロジェクトエージェント
- 一度登録 → JWT を取得
- 複数の mind を作成(work、personal、project-x)→ 複数の Mind Key を取得
- LLM はコンテキストに応じて異なる Mind Key を読み込み
パターン 3:チーム共有
- ユーザー A が mind を作成 → Mind Key A を取得
- ユーザー A が JWT でユーザー B と共有(
POST /sharing) - ユーザー B は自身の JWT でアクセス可能
- LLM アクセスには、ユーザー B は自身の Mind Key を作成する必要がある(または A のものを使用)
パターン 4:MCP サーバー
MCP サーバーは常に Mind Key を使用します(SYNAPSE_MIND_KEY 環境変数で設定)。1 つの MCP サーバーインスタンス = 1 つの mind。マルチ mind アクセスには、複数の MCP インスタンスを動かすか、クライアント側で mind 切り替えを実装してください。
トークン形式のチートシート
| トークン | 形式 | 例 |
|---|---|---|
| Mind Key | mk_ + 36 文字 |
mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789 |
| JWT | eyJ + base64 |
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... |
| Computer Token | ct_ + 36 文字 |
ct_xYzAbCdEfGhIjKlMnOpQrStUvWxYz0123456789 |
次のステップ
- Authentication — 完全な認証ガイド
- User & Minds API — JWT で保護されたエンドポイント
- Memory API — Mind Key で保護されたエンドポイント