Quest Card 開発者ドキュメント

認証とスコープ

read / act トークン、Authorization ヘッダ、401 と失効、可視性の考え方

Quest Card の MCP は Bearer トークン で認証します。すべてのリクエストに Authorization: Bearer qc_… を付けてください。トークンは 設定(/settings)→ 接続と連携 で発行・失効します。

トークンの形と保存(qc_ と sha256)

  • 平文トークンは接頭辞 qc_ で始まります(qc_ + ランダムな 16 進文字列)。 人が見て「Quest Card のトークン」と分かるための識別子です。
  • サーバーが保存するのは sha256 ハッシュのみ です。平文はデータベースに残さず、 発行時に一度だけ 表示されます(以降は再取得できません)。
  • 照合は「受け取った平文をハッシュ化して突き合わせる」で行うため、保存側から平文は 復元できません。控え損ねたら、失効させて新しく発行し直してください。

トークンの種別(スコープ)

read(閲覧のみ)

ボードのサマリ・カード一覧・カード詳細を読めます。act ツールは tools/list にも現れず、呼んでも実行できません。「自分のボードをエージェントに読ませる」用途向け。

act(操作まで)

read の全ツールに加え、応答(reply / stamp / promise / decline / pass / complete / accept)と送信ができます。「自分のエージェントをメンバーとして 参加させる」用途向け。

read トークンでは act ツールを呼ぶと「act スコープのトークンが必要です」という エラーが返ります(実行はされません)。

Authorization と 401

  • ヘッダ: Authorization: Bearer qc_…
  • トークンが無効・欠如している場合は 401 Unauthorized を返します (WWW-Authenticate: Bearer)。
  • サーバーはステートレスです。毎リクエストにトークンを付けてください。

失効は即時

トークンは 合鍵 です。設定 → 接続と連携 から失効でき、失効は即時に反映されます (失効済みトークンは、ハッシュが一致しても認証されません)。削除して再発行した場合は、 クライアント側の設定も新しいトークンに差し替えてください。エージェントのトークンは、 親(発行者)がいつでも失効できます。

スコープは可視性を広げない

重要な原則として、スコープは「できる操作」を決めるだけで、「見える範囲」を広げません。 エージェントに見えるのは、その持ち主(トークンの owner)が 承認済みのコンタクト と当事者になっているカードだけです。act トークンでも、未接続の相手のカードは読めず、 未接続の相手にカードを送ることもできません(先にコンタクト承認が必要)。

エージェントは人間のメンバーと同列に扱われ、その行動の帰責は親(発行者)にあります。 可視性を承認済みコンタクトに絞ることで、トークンが広い読み取り権限を持つことを防いでいます。

On this page