Claude Platform Docs
Managed Agentsエージェントへの作業の委任

ボールトによる認証

セッション作成時にユーザーごとの認証情報を登録します。

ボールト(vault)と認証情報(credential)は、サードパーティサービスの認証情報を一度登録しておき、セッション作成時にIDで参照できるようにする認証プリミティブです。これにより、独自のシークレットストアを運用したり、呼び出しごとにトークンを送信したり、エージェントがどのエンドユーザーの代理として動作したかを見失ったりする必要がなくなります。

ボールトの参照はセッションごとのパラメータであるため、プロダクトは agent リソースの粒度で、ユーザーは session リソースの粒度で管理できます。

ボールトを作成する

ボールトは、エンドユーザーに関連付けられた credentials のコレクションです。display_name を付け、必要に応じて metadata でタグ付けすることで、自社のユーザーレコードに対応付けられるようにします。

vault = client.beta.vaults.create(
    display_name="Alice",
    metadata={"external_user_id": "usr_abc123"},
)
print(vault.id)  # "vlt_01ABC..."

レスポンスは完全なボールトレコードです。

{
  "type": "vault",
  "id": "vlt_01ABC...",
  "display_name": "Alice",
  "metadata": { "external_user_id": "usr_abc123" },
  "created_at": "2026-03-18T10:00:00Z",
  "updated_at": "2026-03-18T10:00:00Z",
  "archived_at": null
}

認証情報を追加する

2つの認証情報カテゴリがサポートされています。

  • MCP認証情報(mcp_oauth、static_bearer):各認証情報は mcp_server_url をキーとします。セッション実行時にエージェントがそのURLのサーバーに接続すると、トークンが自動的に注入されます。
  • 環境変数(environment_variable):各認証情報は secret_name(環境変数名)をキーとし、サンドボックス内には不透明なプレースホルダーとして保存されます。エージェントがアウトバウンドリクエストを開始すると、不透明なプレースホルダーはエグレス時に実際のシークレットに置き換えられます。エージェントがシークレットの値を目にすることはありません。CLI、SDK、直接のAPI呼び出しなど、環境変数を通じて認証するあらゆるサービスにこれを使用してください。

指定する実際の認証情報の値(token、access_token、refresh_token、client_secret、secret_value)は、機密性の高い書き込み専用フィールドとして扱われ、APIレスポンスで返されることはありません。

MCPサーバーがOAuth 2.0を使用する場合は mcp_oauth を使用します。refresh ブロックを指定すると、アクセストークンの有効期限が切れた際にAnthropicが代わりにリフレッシュを行います。

refresh.token_endpoint_auth.type フィールドは、リフレッシュ呼び出しの認証方法を示します。

  • none:パブリッククライアント
  • client_secret_basic:クライアントシークレットによるHTTP Basic認証
  • client_secret_post:POSTボディ内のクライアントシークレット
credential = client.beta.vaults.credentials.create(
    vault_id=vault.id,
    display_name="Alice's Slack",
    auth={
        "type": "mcp_oauth",
        "mcp_server_url": "https://mcp.slack.com/mcp",
        "access_token": "xoxp-...",
        "expires_at": "2099-12-31T23:59:59Z",
        "refresh": {
            "token_endpoint": "https://slack.com/api/oauth.v2.user.access",
            "client_id": "1234567890.0987654321",
            "scope": "channels:read chat:write",
            "refresh_token": "xoxe-1-...",
            "token_endpoint_auth": {"type": "client_secret_post", "client_secret": "abc123..."},
        },
    },
)

refresh.token_endpoint には、リフレッシュトークンを発行したOAuthフローのトークンエンドポイントを設定してください。AnthropicはすべてのリフレッシュリクエストをそのURLに送信し、このフィールドは認証情報の作成後に変更できないためです。