設定リファレンス
セルフホスト型Claude Managed Agentsサーバーの設定の配置場所を確認し、各設定のキー、環境変数、デフォルト、および目的を調べます。
このページでは、セルフホスト型Claude Managed Agentsサーバーの設定の配置場所を示し、設定を一覧にしています。機能をセットアップするには、シングルサインオン、エージェントアイデンティティと認証情報、推論プロバイダーを参照してください。
設定の配置場所
サーバーは、設定を1つのYAMLファイルから、認証情報を環境から読み取ります。
- Docker Compose: ファイルは、展開したアーカイブ内の
docker-compose.ymlの隣にあるcompose.config.yamlです。これを編集してから、そのディレクトリでdocker compose restart cma-serverを実行します。 - Kubernetes: ファイルは、サーバーHelmチャートの
server.config値です。valuesファイルで編集し、helm upgradeを実行してから、kubectl -n cma-server rollout restart deployment -l anthropic.com/role=serverを実行してサーバーを再起動します。Kubernetesにデプロイするを参照してください。
サーバーがセルフホスト型のページに記載された設定を拒否する場合は、サーバーをアップグレードしてください。アーカイブの最上位にあるcma-server.example.yamlには、一般的なキーの注記が記載されています。
認証情報はファイルには記述しません。サーバーは、認証情報を環境変数から、またはクラウドがホストに関連付けるアイデンティティから読み取ります。
Composeスタックに認証情報を渡す
Composeスタックでは、サーバーコンテナはdocker-compose.yml内のcma-serverサービスのenvironment:リストにある変数のみを受け取ります。別の変数を渡すには、次のようにします。
- その名前をリストに追加し、
.envでその値を設定します。 - 認証情報がファイルの場合は、そのファイルを
docker-compose.ymlの隣に置き、docker-compose.yml内のx-server-mountsリストに- ./gcp-key.json:/etc/cma-server/gcp-key.json:roのような行を追加します。最初のコロンの後のパスは、コンテナ内でのファイルのパスです。そのパスを、.envでの変数の値として、またはファイルを指定する設定の値として使用します。 docker compose up -dを実行します。再起動では.envは再読み込みされません。
アップグレードではdocker-compose.ymlが置き換えられるため、新しいリリースのスタックを起動する前に、そのリリースのファイルでこれらの編集を繰り返してください。
表の読み方
各設定には設定ファイル内のキーがあり、ほとんどの設定には環境変数もあります。変数はファイルより優先され、ファイルはデフォルトより優先されます。設定ファイルに不明なキーがある場合、サーバーは起動せず、エラーにそのキーの場所が示されます。
- キー: キー内の各ドットは、ファイル内のネストの1レベルを表します。たとえば、
server.addrはserverセクション内のaddrキーです。 - 変数: 変数名は
CMA_に続けてキーを大文字で記述したもので、各ドットは2つのアンダースコアに置き換えられます。 - ファイルのみ: この設定には変数がありません。
- 環境変数のみ: この設定がファイルにあると、サーバーは起動しません。
bedrockのみ、および同様のラベル: この設定は、そのプロバイダー、ストア、またはシークレットマネージャーでのみ機能します。別のものを使用しているときにこの設定を行うと、サーバーは起動しません。- リスト: リストは、ファイルではYAMLリスト、変数ではカンマ区切りの文字列です。
- 期間: 期間は、
30s、5m、1hのように単位付きの数値です。 - 整数: 整数は符号、先頭のゼロ、アンダースコアを含まない数字のみです。
起動時、サーバーは設定した値とほとんどのデフォルト値を、それぞれの値の出所とともにログに記録します(例:server.addr=0.0.0.0:8400 (file))。シークレットの代わりに***を記録しますが、サーバー自身が生成したサーバーAPIキーは例外です。
サーバーとログ
| 設定 環境変数 | デフォルト | 説明 |
|---|---|---|
server.addrCMA_SERVER__ADDR | 127.0.0.1:8400 | サーバーがリッスンするアドレス。 |
server.api_keyCMA_SERVER__API_KEY | なし | サーバーAPIキー。auth.refuse_server_api_keyがtrueでない限り、store.backend: postgresでは必須です。memoryでは、何も設定しない場合サーバーがキーを生成し、起動時にログに記録します。 |
server.id_markerCMA_SERVER__ID_MARKER | local | サーバーが作成する各IDのプレフィックスに続く部分。localではsesn_local_01…となり、noneではホスト型サービスと同様にsesn_01…となります。 |
server.shutdown_delayCMA_SERVER__SHUTDOWN_DELAY | 0s | 停止シグナルを受け取った後、「readiness probe」(レディネスプローブ)がnot_readyを返している間にサーバーがリクエストの処理を続ける時間。最大値は5mです。 |
server.max_connectionsCMA_SERVER__MAX_CONNECTIONS | 0 | server.addrでサーバーが同時に開いたままにする接続の最大数。0は無制限を意味します。上限に達すると、新しい接続は、別の接続が閉じるか、そのクライアントが断念するまで待機します。イベントストリーム、ワーカーのポーリング、ヘルスプローブはすべてカウントされます。Kubernetesでは、プローブの待機時間が長すぎるポッドをkubeletが再起動します。 |
logging.formatCMA_LOGGING__FORMAT | text | ログ形式。textまたはjsonです。 |
logging.levelCMA_LOGGING__LEVEL | info | サーバーがログに記録する最低レベル。値はdebug、info、warn、errorです。 |
logging.errorsCMA_LOGGING__ERRORS | false | 4xxおよび5xxレスポンスのエラーメッセージをログに含めるかどうか。メッセージにはクライアントが送信した値が引用される場合があります。 |
health.check_intervalCMA_HEALTH__CHECK_INTERVAL | 60s | レディネスプローブのために、サーバーが推論用の認証情報をチェックする頻度。最小値は5sです。 |
health.upstream_affects_readinessCMA_HEALTH__UPSTREAM_AFFECTS_READINESS | true | 推論プロバイダーがサーバーの認証情報を拒否している間、レディネスプローブが503を返すかどうか。 |
データベース
この表のstore.backend以外のすべての設定は、store.backend: postgresの場合にのみ適用されます。
| 設定 環境変数 | デフォルト | 説明 |
|---|---|---|
store.backendCMA_STORE__BACKEND | memory | サーバーがデータを保持する場所。値は、再起動で消去されるmemoryと、postgresです。 |
store.database_urlCMA_STORE__DATABASE_URL | なし | PostgreSQLの接続文字列。postgresでは必須です。 |
store.control_database_urlCMA_STORE__CONTROL_DATABASE_URL | store.database_urlの値 | ハートビートなど、サーバー自身の保守用接続に使用する接続文字列。 |
store.listen_database_urlCMA_STORE__LISTEN_DATABASE_URL | store.database_urlの値 | サーバーが通知をリッスンする1つの接続に使用する接続文字列。トランザクションモードの「connection pooler」(コネクションプーラー)では、この接続を扱えません。 |
store.migrate_database_urlCMA_STORE__MIGRATE_DATABASE_URL | store.database_urlの値 | サーバーのmigrateコマンドが使用する接続文字列。トランザクションモードのコネクションプーラーでは、この接続を扱えません。 |
store.pool_max_connsCMA_STORE__POOL_MAX_CONNS | 24 | 1つのサーバーのプールが開くデータベース接続の最大数。最小値は4です。 |
store.event_poll_intervalCMA_STORE__EVENT_POLL_INTERVAL | 25ms | 各サーバーが、そのクライアントがストリーミングしているセッションの最新イベントをデータベースに問い合わせる頻度。別のサーバーが記録したイベントは、最大でおよそこの時間待ってからストリームに届きます。 |
store.credentials_encryption_keyCMA_STORE__CREDENTIALS_ENCRYPTION_KEY環境変数のみ | なし | データベースに保存される認証情報を暗号化するキー。base64形式の32ランダムバイトで指定します。Docker ComposeおよびKubernetesのインストールではこれが設定されます。store.allow_unencrypted_credentialsがtrueでない限り、これがないとサーバーは起動しません。 |
store.allow_unencrypted_credentialsCMA_STORE__ALLOW_UNENCRYPTED_CREDENTIALS | false | サーバーがstore.credentials_encryption_keyなしで起動できるかどうか。キーがない場合、サーバーは認証情報をデータベースに平文で保存します。git.allowed_hostnamesにホストが記載されている場合、またはDocker ComposeやサーバーHelmチャートでインストールする場合、trueは効果がありません。 |
store.credentials_encryption_keys_retiringCMA_STORE__CREDENTIALS_ENCRYPTION_KEYS_RETIRING環境変数のみ | なし | キーのローテーション中にサーバーが引き続き復号に使用できる以前の暗号化キー。この設定にはstore.credentials_encryption_keyが必要です。 |
推論プロバイダー
プロバイダーのセットアップについては、推論プロバイダーを参照してください。
| 設定 環境変数 | デフォルト | 説明 |
|---|---|---|
inference.providerCMA_INFERENCE__PROVIDER | anthropic | サーバーがモデル呼び出しを送信する先。値はanthropic、bedrock、vertex、foundry、gatewayです。 |
inference.headersファイルのみ | なし | サーバーがすべてのモデル呼び出しに追加するリクエストヘッダー。ヘッダー名から値へのマップで指定します。すべての値を引用符で囲んでください。trueや0042のように、YAMLがテキストとして読み取らない引用符なしの値があると、サーバーは起動を拒否します。gatewayでは、値に{ from: request_id }または{ from: session_id }も指定できます。 |
inference.model_fallbackCMA_INFERENCE__MODEL_FALLBACK | true | anthropicのみ。モデル呼び出しでサーバー側フォールバックを要求するかどうか。これらの呼び出しにはfallbacksフィールドとヘッダーanthropic-beta: server-side-fallback-2026-07-01が含まれます。ANTHROPIC_BASE_URLで指定したプロキシが、このフィールドまたはヘッダーを拒否する場合があります。プロキシが400または422で応答した場合、サーバーはそれらを除いて呼び出しを再送信します。 |
inference.metadata.user_idCMA_INFERENCE__METADATA__USER_ID | なし | anthropicおよびfoundryのみ、またはformat: anthropic-messagesを指定したgateway。サーバーがすべてのモデル呼び出しでmetadata.user_idとして送信する1つの識別子。起動ログに出力されます。この設定がない場合、サーバーはラベルcma-serverを送信します。metadata.user_idをオフにすることはできません。プロバイダーまたはプロキシがこれを拒否した場合、すべてのモデル呼び出しが失敗します。ネットワーク外に送信されるものを参照してください。 |
クラウドプロバイダー
| 設定 環境変数 | デフォルト | 説明 |
|---|---|---|
inference.regionCMA_INFERENCE__REGION | なし | bedrockおよびvertexのみ。AWSリージョン、またはGoogle Cloud’s Agent Platformのロケーション。vertexでは必須です。これがない場合、bedrockはAWS SDKのデフォルトチェーンが見つけたリージョンを使用します。 |
inference.project_idCMA_INFERENCE__PROJECT_ID | なし | vertexのみ。呼び出しが行われるGoogle Cloudプロジェクト。Googleの認証情報がプロジェクトを指定していない限り必須です。 |
inference.apiCMA_INFERENCE__API | invoke_model | bedrockのみ。呼び出しを伝送するAmazon Bedrock API。invoke_modelまたはmessagesです。messagesはClaude in Amazon Bedrock(bedrock-mantle)で説明されているエンドポイントです。これを使用する場合、サーバーのAWSロールにはbedrock:InvokeModelとbedrock:InvokeModelWithResponseStreamの代わりにbedrock-mantle:CreateInferenceが必要です。 |
inference.list_modelsCMA_INFERENCE__LIST_MODELS | true | bedrockのみ。サーバーがAmazon BedrockのClaudeモデルのリストを読み取るかどうか。これらのリストにより、エージェントはサーバーのリリース後に登場したモデルを使用できます。 |
inference.model_id_prefixCMA_INFERENCE__MODEL_ID_PREFIX | us.anthropic. | bedrockのみ。サーバーが各モデルIDの前に付加するテキスト。inference.api: messagesでは、デフォルトはanthropic.です。 |
inference.model_id_overridesファイルのみ | なし | bedrock、vertex、foundryのみ。モデルIDからプロバイダーが期待する正確なIDへのマップ。foundryでは、そのIDはデプロイメント名です。 |
inference.foundry.resourceCMA_INFERENCE__FOUNDRY__RESOURCE | なし | foundryのみ。Foundryリソースの名前。これかinference.foundry.base_urlのどちらか一方を設定し、両方は設定しないでください。 |
inference.foundry.base_urlCMA_INFERENCE__FOUNDRY__BASE_URL | なし | foundryのみ。デフォルトでは、呼び出しはhttps://<resource>.services.ai.azure.com/anthropicに送信されます。プロキシなど別のアドレスでリソースにアクセスするには、代わりにそのURLをここに設定します。URLは/anthropicで終わります。 |
モデルゲートウェイ
これらの設定はinference.provider: gatewayの場合にのみ適用されます。モデルゲートウェイを参照してください。
| 設定 環境変数 | デフォルト | 説明 |
|---|---|---|
inference.gateway.urlCMA_INFERENCE__GATEWAY__URL | なし | 必須。モデル呼び出しを受け取るURL。bedrock-invokeおよびvertex-raw-predictでは、{model}がモデルIDの入る位置を示します。vertex-raw-predictでは、URLは/{model}:rawPredictで終わる必要があります。 |
inference.gateway.formatCMA_INFERENCE__GATEWAY__FORMAT | なし | 必須。ゲートウェイが受け付けるリクエスト形式。bedrock-invoke、anthropic-messages、またはvertex-raw-predictです。 |
inference.gateway.model_mapファイルのみ | なし | 必須。エージェントが指定できる各モデルIDから、ゲートウェイが期待するIDへのマップ。inference.headersと同様に、すべての値を引用符で囲んでください。 |
inference.gateway.streamingCMA_INFERENCE__GATEWAY__STREAMING | false | サーバーがその形式のストリーミング呼び出しを送信するかどうか。有効にすると、モデルが生成するにつれて応答が届きます。bedrock-invokeでは、その呼び出しは-with-response-streamを末尾に付加した同じURLに送信されます。vertex-raw-predictでは、その呼び出しは:rawPredictの代わりに:streamRawPredictを含む同じURLに送信されます。inference.gateway.urlには:rawPredictを残してください。 |
inference.credentials.supplierCMA_INFERENCE__CREDENTIALS__SUPPLIER | なし | 必須。ゲートウェイの認証情報の取得元。envは1つの長期間有効なキーを意味し、oauth_exchangeは短期間有効なトークンを意味し、azureはサーバー自身のAzureアイデンティティに発行されたMicrosoft Entra IDトークンを意味します。 |
inference.credentials.env.varCMA_INFERENCE__CREDENTIALS__ENV__VAR | なし | envでは必須。キーを保持する環境変数の名前。 |
inference.credentials.azure.scopeCMA_INFERENCE__CREDENTIALS__AZURE__SCOPE | なし | azureでは必須。サーバーがトークンを要求するスコープ。ゲートウェイのアプリ登録のアプリケーションID URIまたはアプリケーションIDの後に/.defaultを付けたものです。 |
inference.credentials.send_as.headerCMA_INFERENCE__CREDENTIALS__SEND_AS__HEADER | Authorization | 認証情報を伝送するリクエストヘッダー。 |
inference.credentials.send_as.schemeCMA_INFERENCE__CREDENTIALS__SEND_AS__SCHEME | Bearer | ヘッダー内で認証情報の前に置かれる語。Authorization以外のヘッダーでは、デフォルトはスキームなしです。 |
inference.credentials.renew_beforeCMA_INFERENCE__CREDENTIALS__RENEW_BEFORE | 90s | oauth_exchangeで、サーバーがトークンをどれだけ早く置き換えるか。サーバーは、キャッシュ済みトークンの有効期限のこの時間前にその使用を停止し、次のモデル呼び出しのために別のトークンを取得します。値はトークンの有効期間より小さくしてください。有効期間がこの値未満のトークンは、サーバーが拒否します。 |
短期間有効なゲートウェイトークン
これらの設定はinference.credentials.supplier: oauth_exchangeの場合にのみ適用されます。短期間有効なトークンを参照してください。exchange設定はグループとして任意です。これらがない場合、サーバーはコールバックが返したものをゲートウェイに送信します。
| 設定 環境変数 | デフォルト | 説明 |
|---|---|---|
inference.credentials.assertion.urlCMA_INFERENCE__CREDENTIALS__ASSERTION__URL | なし | 必須。署名付きアサーションを返すHTTPコールバックのURL。 |
inference.credentials.assertion.auth.typeCMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__TYPE | なし | 必須。サーバーがコールバックに対して認証する方法。mtlsまたはbearer_fileです。 |
inference.credentials.assertion.auth.cert_fileCMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__CERT_FILE | なし | mtlsでは必須。サーバーのクライアント証明書のパス。 |
inference.credentials.assertion.auth.key_fileCMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__KEY_FILE | なし | mtlsでは必須。クライアント証明書の秘密鍵のパス。 |
inference.credentials.assertion.auth.token_fileCMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__TOKEN_FILE | なし | bearer_fileでは必須。ベアラートークンを保持するファイルのパス。 |
inference.credentials.assertion.auth.ca_fileCMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__CA_FILE | なし | サーバーがコールバックに対して信頼する認証局を含むPEMファイルのパス。 |
inference.credentials.assertion.forward_metadataCMA_INFERENCE__CREDENTIALS__ASSERTION__FORWARD_METADATA | なし | サーバーがその値をコールバックに送信するセッションメタデータのキー。これらはリクエスト本文のsession.metadataとして届きます。値はAPI呼び出し元が書き込んだものそのままなので、自身の記録と照合してください。 |
inference.credentials.exchange.token_urlCMA_INFERENCE__CREDENTIALS__EXCHANGE__TOKEN_URL | なし | 交換を行う場合は必須。サーバーがアサーションをトークンと交換するOAuthトークンエンドポイント。 |
inference.credentials.exchange.grant_typeCMA_INFERENCE__CREDENTIALS__EXCHANGE__GRANT_TYPE | なし | 交換を行う場合は必須。サーバーが送信するgrant_type(例:urn:ietf:params:oauth:grant-type:jwt-bearer)。 |
inference.credentials.exchange.encodingCMA_INFERENCE__CREDENTIALS__EXCHANGE__ENCODING | form | サーバーが交換リクエストをエンコードする方法。formまたはmultipartです。 |
inference.credentials.exchange.expiryCMA_INFERENCE__CREDENTIALS__EXCHANGE__EXPIRY | expires_in | サーバーがトークンの有効期間を読み取る場所。expires_inは、レスポンスのexpires_inとトークンのexpクレームのうち早いほうを意味します。jwt_expはexpクレームのみを意味します。 |
inference.credentials.exchange.headersファイルのみ | なし | トークンエンドポイント用の追加リクエストヘッダー。ヘッダー名から値へのマップで指定します。inference.headersと同様に、すべての値を引用符で囲んでください。 |
inference.credentials.exchange.ca_fileCMA_INFERENCE__CREDENTIALS__EXCHANGE__CA_FILE | なし | サーバーがトークンエンドポイントに対して信頼する認証局を含むPEMファイルのパス。 |
シングルサインオン
サインインのセットアップについては、シングルサインオンを参照してください。
| 設定 環境変数 | デフォルト | 説明 |
|---|---|---|
auth.issuersファイルのみ | なし | サーバーがトークンを受け付けるOpenID Connect発行者。発行者エントリを参照してください。 |
auth.refuse_server_api_keyファイルのみ | false | サーバーがすべてのルートでサーバーAPIキーを拒否するかどうか。trueには少なくとも1つの発行者が必要です。その場合、キーを受け取るすべての管理CLIコマンドは失敗します。 |
発行者エントリ
auth.issuersの各エントリは、次のフィールドを受け取ります。
| フィールド | デフォルト | 説明 |
|---|---|---|
name | なし | 必須。ログ行における発行者のラベル。サーバーはこれを各リソースの作成者の一部としても記録します。 |
issuer_url | なし | 必須。発行者のURL。そのトークンのissクレームと完全に一致させます。サーバーは、このホストと、発行者のディスカバリードキュメントが指定するjwks_uriのホストから署名鍵を取得します。ネットワークで送信接続を制限している場合は、両方のホストを許可してください。 |
audiences | なし | 必須。トークンのaudクレームが持つことのできる値。アプリケーションがすでに保持しているトークンを転送する場合は、各アプリケーションのクライアントIDを列挙してください。 |
roles | なし | groupとroleのペアのリスト。グループは完全一致で、または*が任意の文字列、?が1文字を表すパターンとして一致します。ロールはadmin、developer、またはuserです。一致するロールのうち最も高いものが適用されます。roles、default_role、またはその両方を設定してください。 |
default_role | なし | グループがどのrolesエントリにも一致しない呼び出し元のロール。このオーディエンスのトークンを取得できる全員がアクセス権を持つべき場合にのみ設定してください。 |
subject_claim | sub | 呼び出し元を識別するクレーム。/で始まる名前は、ネストされたクレームへのJSON Pointerです。 |
stable_subject | false | subject_claimがsubまたはoid以外のクレームを指定する場合にのみ適用されます。プロバイダーがある人物のそのクレームの値を変更せず、他の人に割り当てることもないことを確認するには、trueを設定します。サーバーはこれをチェックしません。falseの場合、エージェントトークンはactor_subおよびactor_issクレームを省略します。 |
groups_claim | groups | 呼び出し元のグループを列挙するクレーム。/で始まる名前は、ネストされたクレームへのJSON Pointerです。 |
jwks_file | なし | JSON Web Key Setファイルのパス。サーバーはここから署名鍵を読み取り、発行者には一切接続しません。 |
login_client_id | なし | ターミナルログインが使用するアプリケーションのクライアントID。これを設定できる発行者は1つだけです。 |
login_scopes | [openid] | ログインが要求するスコープ。このフィールドにはlogin_client_idが必要です。 |
シークレットマネージャー
ストアのセットアップについては、シークレットマネージャーを参照してください。
| 設定 環境変数 | デフォルト | 説明 |
|---|---|---|
secret_store.typeCMA_SECRET_STORE__TYPE | なし | ボールトの認証情報を保持するシークレットマネージャー。値はaws_secrets_manager、gcp_secret_manager、azure_key_vault、hashicorp_vaultです。これがない場合、ボールトの認証情報はデータベースに残ります。 |
secret_store.prefixCMA_SECRET_STORE__PREFIX | なし | secret_store.typeを使用する場合は必須。サーバーが作成するすべてのシークレットの名前の先頭部分。aws_secrets_managerとhashicorp_vaultでは/、gcp_secret_managerでは-または_、azure_key_vaultでは-で終わる必要があります。 |
secret_store.regionCMA_SECRET_STORE__REGION | なし | aws_secrets_managerのみで、その場合は必須。シークレットを保持するAWSリージョン。 |
secret_store.projectCMA_SECRET_STORE__PROJECT | なし | gcp_secret_managerのみで、その場合は必須。シークレットを保持するGoogle CloudプロジェクトのID。 |
secret_store.vault_urlCMA_SECRET_STORE__VAULT_URL | なし | azure_key_vaultのみで、その場合は必須。キーボールトのURL(例:https://my-vault.vault.azure.net)。 |
HashiCorp Vault
これらの設定はsecret_store.type: hashicorp_vaultの場合にのみ適用されます。ログイン方法はtoken_file、kubernetes、approleのいずれか1つだけを設定してください。
| 設定 環境変数 | デフォルト | 説明 |
|---|---|---|
secret_store.addressCMA_SECRET_STORE__ADDRESS | なし | 必須。Vaultサーバーのhttps:// URL。 |
secret_store.namespaceCMA_SECRET_STORE__NAMESPACE | なし | マウントとログイン方法を保持するVault Enterpriseのネームスペース。 |
secret_store.mountCMA_SECRET_STORE__MOUNT | secret | KVバージョン2シークレットエンジンのパス。 |
secret_store.ca_cert_fileCMA_SECRET_STORE__CA_CERT_FILE | なし | Vaultの証明書に署名した認証局を含むPEMファイルのパス。 |
secret_store.token_fileCMA_SECRET_STORE__TOKEN_FILE | なし | Vault Agentなどの別のプロセスが最新の状態に保つVaultトークンを含むファイルのパス。 |
secret_store.kubernetes.roleCMA_SECRET_STORE__KUBERNETES__ROLE | なし | kubernetesでは必須。サーバーがログインに使用するVaultロール。これをサーバーのサービスアカウントにバインドしてください。 |
secret_store.kubernetes.mount_pathCMA_SECRET_STORE__KUBERNETES__MOUNT_PATH | kubernetes | VaultがKubernetesログイン方法をマウントする場所。 |
secret_store.kubernetes.service_account_token_fileCMA_SECRET_STORE__KUBERNETES__SERVICE_ACCOUNT_TOKEN_FILE | /var/run/secrets/kubernetes.io/serviceaccount/token | サーバーが各ログイン時に提示するサービスアカウントトークンのパス。 |
secret_store.approle.role_idCMA_SECRET_STORE__APPROLE__ROLE_ID | なし | approleでは必須。サーバーがログインに使用するAppRoleロールのID。 |
secret_store.approle.secret_id_fileCMA_SECRET_STORE__APPROLE__SECRET_ID_FILE | なし | approleでは必須。ロールのsecret_idを含むファイルのパス。 |
secret_store.approle.mount_pathCMA_SECRET_STORE__APPROLE__MOUNT_PATH | approle | VaultがAppRoleログイン方法をマウントする場所。 |
エージェントアイデンティティ
エージェントトークンのセットアップについては、エージェントアイデンティティを参照してください。この表のいずれかの設定を行うと、この機能が有効になります。その場合、サーバーにはagent_identity.issuerと、署名鍵の場所としてkey_file、key_secret、kms_keyのいずれか1つだけが必要です。
| 設定 環境変数 | デフォルト | 説明 |
|---|---|---|
agent_identity.issuerCMA_AGENT_IDENTITY__ISSUER | なし | エージェントトークンがissクレームとして持つhttps:// URL。 |
agent_identity.key_fileCMA_AGENT_IDENTITY__KEY_FILE | なし | トークンに署名するPEM秘密鍵のパス。 |
agent_identity.key_secretCMA_AGENT_IDENTITY__KEY_SECRET | なし | シークレットマネージャー内でPEM秘密鍵を保持するシークレットの名前(secret_store.prefixを除く)。 |
agent_identity.kms_key.providerCMA_AGENT_IDENTITY__KMS_KEY__PROVIDER | なし | 署名鍵を保持する鍵管理サービス。aws_kmsまたはgcp_kmsです。 |
agent_identity.kms_key.keyCMA_AGENT_IDENTITY__KMS_KEY__KEY | なし | kms_key.providerを使用する場合は必須。aws_kmsでは鍵のARN、gcp_kmsでは1つの鍵バージョンのリソース名です。 |
agent_identity.published_key_filesCMA_AGENT_IDENTITY__PUBLISHED_KEY_FILES | なし | 鍵セット用の追加のPEM公開鍵のパス。サーバーはこれらの鍵を公開しますが、これらで署名することはありません。署名鍵をローテーションするときにこの設定を使用します。 |
agent_identity.token_lifetimeCMA_AGENT_IDENTITY__TOKEN_LIFETIME | 5m | トークンのiatクレームからexpクレームまでの時間。すでに送信されたトークンは、そのexpまで有効です。最小値はlimits.mcp_call_timeoutに1mを加えた値で、最大値は15mです。 |
agent_identity.jwks_uriCMA_AGENT_IDENTITY__JWKS_URI | <issuer>/.well-known/jwks.json | 発行者のディスカバリードキュメントが鍵セットとして示すURL。発行者URL配下以外の場所で鍵セットをホストする場合にのみ設定してください。 |
agent_identity.direct.audiencesファイルのみ | なし | トークンを取得できる受信者。各エントリには、audience URLと、その受信者のMCPサーバーのURLプレフィックスであるurlsがあります。 |
agent_identity.actor.enabledCMA_AGENT_IDENTITY__ACTOR__ENABLED | true | サーバーがツール呼び出しのトークンにactor_subおよびactor_issクレームを追加するかどうか。actor_subは、セッションを作成した呼び出し元のサブジェクトです。actor_issは、呼び出し元がサインインに使用したauth.issuersエントリのissuer_urlです。どちらのクレームも、呼び出し元がその呼び出しを承認したことを意味するものではありません。 |
エグレスゲートウェイ
ゲートウェイのセットアップについては、環境変数の認証情報を参照してください。この表のその他の設定は、egress.gateway_enabled: trueの場合にのみ設定してください。これがない場合、いずれかが設定されているとサーバーは起動しません。
| 設定 環境変数 | デフォルト | 説明 |
|---|---|---|
egress.gateway_enabledCMA_EGRESS__GATEWAY_ENABLED | false | サーバーがエグレスゲートウェイと連携し、environment_variableのボールト認証情報を受け付けるかどうか。 |
egress.allowed_hostnamesCMA_EGRESS__ALLOWED_HOSTNAMES | なし | サンドボックスがゲートウェイ経由でアクセスできる、完全一致の公開ホスト名。api.example.comのようにポートのないエントリは、https URLではポート443、http URLではポート80を許可します。api.example.com:8443のようにポート付きのエントリは、そのポートのみを許可します。 |
egress.swap_header_namesCMA_EGRESS__SWAP_HEADER_NAMES | Authorization | ゲートウェイが認証情報の値を入れることができるリクエストヘッダー。独自のリストはデフォルトを置き換えるため、そのリストにAuthorizationを含めてください。 |
egress.gateway_listenCMA_EGRESS__GATEWAY_LISTEN | :8410 | ゲートウェイのみにサービスを提供する、サーバーの2番目のリスナーのアドレス。デフォルトではすべてのインターフェースでリッスンします。 |
egress.gateway_key_fileCMA_EGRESS__GATEWAY_KEY_FILE | なし | 必須。ゲートウェイがサーバーに提示するキーを含むファイルのパス。 |
egress.ca_cert_fileCMA_EGRESS__CA_CERT_FILE | なし | 必須。ゲートウェイの認証局のPEM証明書のパス。 |
egress.gateway_proxy_addressCMA_EGRESS__GATEWAY_PROXY_ADDRESS | なし | 必須。サンドボックスがゲートウェイのプロキシポートにアクセスするhost:port。 |
MCPサーバー
MCPサーバーには許可リストのエントリが必要を参照してください。
| 設定 環境変数 | デフォルト | 説明 |
|---|---|---|
mcp.allowed_hostnamesCMA_MCP__ALLOWED_HOSTNAMES | なし | サーバーが接続できるMCPサーバーの完全一致のホスト名。これがない場合、サーバーはどこにも接続しません。 |
mcp.private_hostnamesファイルのみ | なし | mcp.allowed_hostnamesのうち、プライベートアドレスに解決される可能性のあるホスト名。 |
mcp.max_result_bytesCMA_MCP__MAX_RESULT_BYTES | 102400(100 KiB) | 1つのMCPツール結果のうち、モデルが参照する最大バイト数。最小値は1024です。 |
Gitリポジトリ
Gitリポジトリには許可リストのエントリが必要を参照してください。
| 設定 環境変数 | デフォルト | 説明 |
|---|---|---|
git.allowed_hostnamesCMA_GIT__ALLOWED_HOSTNAMES | なし | セッションのリポジトリが置かれることのできるGitホスト。ホスト名はワイルドカードなしで完全一致し、エントリはそのサブドメインを対象としません。エントリは、ポート443、またはgit.example.com:8443のようにエントリが指定する1つのポートを許可します。この設定がない場合、サーバーはリポジトリを受け付けません。 |
git.private_hostnamesファイルのみ | なし | git.allowed_hostnamesのうち、プライベートアドレスに解決されるホスト名。ポートなしで記述します。その他のホスト名については、サーバーはそのパブリックアドレスにのみ接続します。 |
git.allowed_push_refsCMA_GIT__ALLOWED_PUSH_REFS | なし | エージェントがプッシュできるブランチ(それぞれrefs/heads/配下)。/で終わるエントリは、その配下のすべてのブランチを許可します。その他のエントリは、その1つのブランチを許可します。この設定がない場合、エージェントはプッシュできません。 |
git.commit_author_nameCMA_GIT__COMMIT_AUTHOR_NAME | Claude | エージェントのコミットの作成者名。git.commit_author_emailと一緒に設定してください。 |
git.commit_author_emailCMA_GIT__COMMIT_AUTHOR_EMAIL | noreply@anthropic.com | エージェントのコミットの作成者メールアドレス。git.commit_author_nameと一緒に設定してください。 |
git.max_concurrent_transfersCMA_GIT__MAX_CONCURRENT_TRANSFERS | 32 | 1つのサーバーが同時に処理するGitリクエストの最大数。最小値は1です。 |
git.max_session_transfer_bytesCMA_GIT__MAX_SESSION_TRANSFER_BYTES | 8589934592(8 GiB) | 1つのサーバーが1つのセッションのために処理するGitトラフィックの最大量(バイト単位、アップロードとダウンロードの合計)。カウントは、サンドボックスがセッションを引き継ぐたびにゼロから再開します。上限に達すると、サーバーはそのセッションの以降のGitリクエストを403で拒否します。0は無制限を意味します。それ以外の場合、最小値は1048576です。 |
git.max_push_bytesCMA_GIT__MAX_PUSH_BYTES | 2147483648(2 GiB) | 1回のプッシュで送信できる最大バイト数。最小値は1048576です。 |
Gitリポジトリには次の制限が適用されます。
- プロトコル: サーバーはSSHやGit LFSをサポートしておらず、名前が変更されたリポジトリのリダイレクトなど、リダイレクトを拒否します。
- トークン: Gitホストは、ユーザー名
x-access-tokenでのHTTP Basic認証のパスワードとしてトークンを受け付ける必要があります。 - URL: リポジトリURLには1つのオーナーと1つのリポジトリ名しか含まれないため、GitLabのサブグループ内のリポジトリは使用できません。
- ホスト:
git.allowed_hostnamesに記載されていないホスト上のURLに対しては、サーバーは400を返します。エラーメッセージには、他のホストを記載していても、URLはgithub.com上にある必要があると示されます。 - プッシュ: サーバーは、ブランチを削除するプッシュや、タグなどブランチ以外のものを変更するプッシュを常に拒否します。
Webツールとスキル
Webツールにはサーバー設定が必要を参照してください。
| 設定 環境変数 | デフォルト | 説明 |
|---|---|---|
web_tools.enabledCMA_WEB_TOOLS__ENABLED | false | エージェントがweb_searchおよびweb_fetchツールを使用できるかどうか。別のweb_tools設定を行った場合、デフォルトはtrueになります。 |
web_tools.allowed_domainsCMA_WEB_TOOLS__ALLOWED_DOMAINS | なし | エージェントがWebツールで読み取れる唯一のドメイン。エントリはそのサブドメインも対象とします。 |
web_tools.blocked_domainsCMA_WEB_TOOLS__BLOCKED_DOMAINS | なし | どのエージェントもWebツールで読み取れないドメイン。これかweb_tools.allowed_domainsのどちらか一方を設定し、両方は設定しないでください。 |
web_tools.max_content_tokensCMA_WEB_TOOLS__MAX_CONTENT_TOKENS | なし | web_fetchが取得した1ページのうち、モデルに返す最大トークン数。 |
skills.max_name_charsCMA_SKILLS__MAX_NAME_CHARS | 64 | SKILL.mdファイルに指定できるnameの最大長。最大値は255です。 |
skills.max_description_charsCMA_SKILLS__MAX_DESCRIPTION_CHARS | 1024 | SKILL.mdファイルに指定できるdescriptionの最大長。 |
制限、タイムアウト、スケジューリング
| 設定 環境変数 | デフォルト | 説明 |
|---|---|---|
limits.max_active_sessionsCMA_LIMITS__MAX_ACTIVE_SESSIONS | 64 | store.backend: memoryのみ。同時にターンを実行するセッションの最大数。0は無制限を意味します。 |
limits.max_live_subagent_threadsCMA_LIMITS__MAX_LIVE_SUBAGENT_THREADS | 25 | 1つのセッションが同時に保持できるサブエージェントスレッドの最大数。スレッドはアーカイブまたは終了されるまでカウントされるため、アイドル状態のスレッドもカウントされます。上限に達すると、エージェントは別のサブエージェントを開始できません。最小値は1、最大値は4000です。 |
scheduler.max_concurrent_turnsCMA_SCHEDULER__MAX_CONCURRENT_TURNS | 64 | store.backend: postgresのみ。1つのサーバーが同時に実行するターンの最大数。最小値は1です。サーバーは、サブエージェントのターン専用の追加スロットを確保します。その数はこの値の4分の1で、最低でも4です。デフォルトでは、1つのサーバーで64ターンに加えて16のサブエージェントターンを実行できます。 |
scheduler.claim_poll_intervalCMA_SCHEDULER__CLAIM_POLL_INTERVAL | 1s | store.backend: postgresのみ。空きターンスロットのあるサーバーが、待機中の作業をデータベースで探す頻度。最小値は50msです。 |
scheduler.sandbox_claimCMA_SCHEDULER__SANDBOX_CLAIM | immediate | ワーカーがセッションのサンドボックスを開始できるタイミング。immediateはセッションが作成されるとすぐを意味するため、最初のツール呼び出しの待機時間が最も短くなります。tool_callは、サンドボックスを必要とするセッションの最初のツール呼び出し時を意味するため、そのような呼び出しを行わないセッションはサンドボックスを使用しません。 |
limits.model_call_timeoutCMA_LIMITS__MODEL_CALL_TIMEOUT | 20m | サーバーがキャンセルするまでに、1回のモデル呼び出しがリトライを含めて実行できる時間。 |
limits.stream_idle_timeoutCMA_LIMITS__STREAM_IDLE_TIMEOUT | 5m | サーバーがその試行を断念するまでに、モデル呼び出しのレスポンスが何も返さずにいられる時間。 |
limits.mcp_call_timeoutCMA_LIMITS__MCP_CALL_TIMEOUT | 4m | サーバーが断念するまでに、1回のMCPツール呼び出しが実行できる時間。 |
モデルとコンパクション
| 設定 環境変数 | デフォルト | 説明 |
|---|---|---|
models.settingsファイルのみ | なし | サーバーの組み込みモデルカタログへの変更。モデルIDをキーとします。モデルエントリを参照してください。 |
compaction.triggersファイルのみ | 各モデルのコンテキストウィンドウの約90% | モデル上のターンが履歴をコンパクションするコンテキストサイズ(トークン単位)。モデルIDをキーとします。最小値は50000です。各モデルはコンパクションをサポートしている必要があります。 |
モデルエントリ
models.settingsの各エントリは、カタログ内のモデルを変更するか、モデルを追加します。カタログ内のモデルの場合、省略したフィールドは組み込みの値を保持します。
| フィールド | 説明 |
|---|---|
fast_supported | モデルがspeed: "fast"を受け付けるかどうか。追加するモデルでは必須です。 |
inference_geo_supported | モデルがinference_geoを受け付けるかどうか。 |
forced_tool_choice_supported | モデルが、1つのツールの呼び出しを強制するリクエストを受け付けるかどうか。サーバーがこのようなリクエストを送信するのは、承認されたweb_searchまたはweb_fetch呼び出しを実行する場合のみです。falseの場合、サーバーはこのモデルでツールを強制しません。 |
effort_supported | モデルがeffortレベルを受け付けるかどうか。 |
effort_levels | モデルが受け付けるeffortレベル。low、medium、high、xhigh、maxから選びます。組み込みのレベルがないモデルでeffort_supported: trueを指定する場合は必須です。 |
effort_default | エージェントがeffortレベルを指定しないセッションのeffortレベル。effort_levelsのいずれかである必要があります。組み込みのデフォルトがないモデルでeffort_supported: trueを指定する場合は必須です。 |
thinking | サーバーが要求する思考モード。enabledまたはadaptiveです。 |
thinking_budget | thinking: enabledの場合にサーバーが送信する思考予算(トークン単位)。 |
max_tokens | 各モデル呼び出しのmax_tokens値。 |
サーバー上のコンソール
| 設定 環境変数 | デフォルト | 説明 |
|---|---|---|
console.serveCMA_CONSOLE__SERVE | true | サーバー上のコンソールを提供するかどうか。 |
このページは役に立ちましたか?