OAuth 2.0 with PKCE
ほとんどのMCPクライアント(Claude Desktop、Cursorなど)はOAuthフローを自動的に処理します。このセクションは、カスタムMCPクライアントを開発する開発者向けです。1. 動的クライアント登録
クライアントを登録してclient_id と client_secret を取得します。
2. 認可リクエスト
ユーザーを認可エンドポイントにリダイレクトします。| パラメータ | 必須 | 説明 |
|---|---|---|
response_type | はい | code である必要があります |
client_id | はい | クライアント登録で取得した値 |
redirect_uri | はい | 登録済みのリダイレクトURIと一致する必要があります |
code_challenge | 推奨 | PKCEコードチャレンジ(S256) |
code_challenge_method | チャレンジ使用時 | S256 である必要があります |
state | 推奨 | CSRF保護のための不透明な値 |
scope | 任意 | スペース区切りのスコープ(デフォルト read) |
code パラメータ付きで redirect_uri にリダイレクトされます。
3. トークン交換
認可コードをトークンに交換します。4. トークンのリフレッシュ
アクセストークンの有効期限が切れたら、リフレッシュトークンを使用して新しいトークンを取得します。スコープ
| スコープ | 説明 |
|---|---|
read | ノート、ナレッジ、ワークスペース、メンバーへの読み取りアクセス |
write | 書き込みアクセス(将来の利用予定) |
offline_access | リフレッシュトークンのリクエスト |
openid | OpenID Connect ID |
profile | ユーザープロフィール情報 |
email | ユーザーメールアドレス |
トークンの有効期間
| トークン | 有効期間 |
|---|---|
| アクセストークン(JWT) | 1時間 |
| リフレッシュトークン | 30日 |
| 認可コード | 10分 |
APIキー認証
OAuthの代替として、既存のCaret APIキーを使用できます。権限マッピング
| 権限 | MCPツール |
|---|---|
notes / read | caret_list_notes, caret_get_note, caret_search_notes, caret_search_knowledge |
users / read | caret_list_members |
| (不要) | caret_get_workspace |
エラー
| エラー | ステータス | 説明 |
|---|---|---|
invalid_client | 400/401 | 不明なクライアントまたは認証に失敗しました |
invalid_grant | 400 | 認可コードの有効期限切れ、使用済み、またはPKCE検証に失敗しました |
invalid_scope | 400 | リクエストされたスコープがサポートされていないか、許可されていません |
invalid_request | 400 | パラメータの欠落または不正な形式 |
server_error | 500 | 内部サーバーエラー |