Referencia de configuración
Consulta dónde van las configuraciones de un servidor autoalojado de Claude Managed Agents, y busca la clave, la variable de entorno, el valor predeterminado y el propósito de cada configuración.
Esta página muestra dónde van las configuraciones de un servidor autoalojado de Claude Managed Agents y las enumera. Para configurar una función, consulta Inicio de sesión único, Identidad y credenciales del agente y Proveedor de inferencia.
Dónde van los ajustes
El servidor lee sus configuraciones de un único archivo YAML, y sus credenciales de su entorno.
- Docker Compose: El archivo es
compose.config.yaml, junto adocker-compose.ymlen el archivo comprimido extraído. Edítalo y luego ejecutadocker compose restart cma-serverdesde ese directorio. - Kubernetes: El archivo es el valor
server.configdel chart de Helm del servidor. Edítalo en tu archivo de valores, ejecutahelm upgradey luego reinicia los servidores conkubectl -n cma-server rollout restart deployment -l anthropic.com/role=server. Consulta Implementar en Kubernetes.
Si el servidor rechaza una configuración que muestran las páginas de autoalojamiento, actualiza el servidor. cma-server.example.yaml, en la parte superior del archivo comprimido, anota las claves comunes.
Las credenciales nunca van en el archivo. El servidor las lee de variables de entorno, o de la identidad que tu nube asocia al host.
Pasar una credencial al stack de Compose
En el stack de Compose, el contenedor del servidor recibe solo las variables de la lista environment: del servicio cma-server en docker-compose.yml. Para pasar otra:
- Agrega su nombre a esa lista y establece su valor en
.env. - Si la credencial es un archivo, coloca el archivo junto a
docker-compose.ymly agrega una línea como- ./gcp-key.json:/etc/cma-server/gcp-key.json:roa la listax-server-mountsendocker-compose.yml. La ruta después de los primeros dos puntos es la ruta del archivo dentro del contenedor. Usa esa ruta como valor de la variable en.env, o como valor de la configuración que indica el archivo. - Ejecuta
docker compose up -d. Un reinicio no vuelve a leer.env.
Una actualización reemplaza docker-compose.yml, así que repite estas ediciones en el archivo de la nueva versión antes de iniciar su stack.
Cómo leer las tablas
Cada configuración tiene una clave en el archivo de configuración, y la mayoría de las configuraciones también tienen una variable de entorno. Una variable prevalece sobre el archivo, y el archivo prevalece sobre el valor predeterminado. El servidor no se inicia si su archivo de configuración tiene una clave desconocida, y el error indica dónde está la clave.
- Claves: Cada punto en una clave es un nivel de anidamiento en el archivo. Por ejemplo,
server.addres la claveaddren la secciónserver. - Variables: El nombre de una variable es
CMA_seguido de la clave en mayúsculas, con dos guiones bajos en lugar de cada punto. - Solo archivo: La configuración no tiene variable.
- Solo entorno: El servidor no se inicia si la configuración está en el archivo.
- Solo
bedrocky etiquetas similares: La configuración funciona solo con ese proveedor, almacén o gestor de secretos. Si la estableces mientras usas uno diferente, el servidor no se inicia. - Listas: Una lista es una lista YAML en el archivo, y una cadena separada por comas en una variable.
- Duraciones: Una duración es un número con una unidad, como
30s,5mo1h. - Enteros: Un entero se compone solo de dígitos, sin signo, cero inicial ni guion bajo.
Al iniciarse, el servidor registra las configuraciones que estableces y la mayoría de los valores predeterminados, cada uno con el origen de su valor, como server.addr=0.0.0.0:8400 (file). Registra *** en lugar de un secreto, excepto una clave de API del servidor que haya generado él mismo.
Servidor y registro
| Configuración Variable de entorno | Valor predeterminado | Descripción |
|---|---|---|
server.addrCMA_SERVER__ADDR | 127.0.0.1:8400 | La dirección en la que escucha el servidor. |
server.api_keyCMA_SERVER__API_KEY | Ninguno | La clave de API del servidor. Obligatoria con store.backend: postgres, a menos que auth.refuse_server_api_key sea true. Con memory, el servidor genera una clave si no estableces ninguna, y la registra al iniciarse. |
server.id_markerCMA_SERVER__ID_MARKER | local | Lo que sigue al prefijo en cada ID que crea el servidor. local produce sesn_local_01…, y none produce sesn_01…, como en el servicio alojado. |
server.shutdown_delayCMA_SERVER__SHUTDOWN_DELAY | 0s | Cuánto tiempo sigue atendiendo el servidor después de una señal de detención, mientras su sonda de disponibilidad responde not_ready. El máximo es 5m. |
server.max_connectionsCMA_SERVER__MAX_CONNECTIONS | 0 | El máximo de conexiones que el servidor mantiene abiertas a la vez en server.addr. 0 significa sin límite. Al alcanzar el límite, una nueva conexión espera hasta que otra se cierre o su cliente desista. Los flujos de eventos, los sondeos de los workers y las sondas de estado cuentan. En Kubernetes, el kubelet reinicia un pod cuyas sondas esperan demasiado. |
logging.formatCMA_LOGGING__FORMAT | text | El formato del registro, text o json. |
logging.levelCMA_LOGGING__LEVEL | info | El nivel más bajo que registra el servidor. Los valores son debug, info, warn y error. |
logging.errorsCMA_LOGGING__ERRORS | false | Si el registro incluye los mensajes de error de las respuestas 4xx y 5xx. Un mensaje puede citar un valor que envió el cliente. |
health.check_intervalCMA_HEALTH__CHECK_INTERVAL | 60s | Con qué frecuencia el servidor comprueba su credencial de inferencia para la sonda de disponibilidad. El mínimo es 5s. |
health.upstream_affects_readinessCMA_HEALTH__UPSTREAM_AFFECTS_READINESS | true | Si la sonda de disponibilidad responde 503 mientras el proveedor de inferencia rechaza la credencial del servidor. |
Base de datos
Todas las configuraciones de esta tabla excepto store.backend se aplican solo con store.backend: postgres.
| Configuración Variable de entorno | Valor predeterminado | Descripción |
|---|---|---|
store.backendCMA_STORE__BACKEND | memory | Dónde guarda el servidor sus datos. Los valores son memory, que se borra con un reinicio, y postgres. |
store.database_urlCMA_STORE__DATABASE_URL | Ninguno | La cadena de conexión de PostgreSQL. Obligatoria con postgres. |
store.control_database_urlCMA_STORE__CONTROL_DATABASE_URL | El valor de store.database_url | La cadena de conexión para las conexiones de mantenimiento propias del servidor, como su latido. |
store.listen_database_urlCMA_STORE__LISTEN_DATABASE_URL | El valor de store.database_url | La cadena de conexión para la única conexión en la que el servidor escucha notificaciones. Un agrupador de conexiones en modo de transacción no puede transportar esa conexión. |
store.migrate_database_urlCMA_STORE__MIGRATE_DATABASE_URL | El valor de store.database_url | La cadena de conexión que usa el comando migrate del servidor. Un agrupador de conexiones en modo de transacción no puede transportar esa conexión. |
store.pool_max_connsCMA_STORE__POOL_MAX_CONNS | 24 | El máximo de conexiones a la base de datos que abre el grupo de un servidor. El mínimo es 4. |
store.event_poll_intervalCMA_STORE__EVENT_POLL_INTERVAL | 25ms | Con qué frecuencia cada servidor consulta a la base de datos los eventos más recientes de las sesiones que sus clientes reciben por “streaming”. Un evento que registró otro servidor espera como máximo aproximadamente este tiempo para llegar al flujo. |
store.credentials_encryption_keyCMA_STORE__CREDENTIALS_ENCRYPTION_KEYSolo entorno | Ninguno | La clave que cifra las credenciales almacenadas en la base de datos, como 32 bytes aleatorios en base64. Las instalaciones de Docker Compose y Kubernetes la establecen. El servidor no se inicia sin ella, a menos que store.allow_unencrypted_credentials sea true. |
store.allow_unencrypted_credentialsCMA_STORE__ALLOW_UNENCRYPTED_CREDENTIALS | false | Si el servidor puede iniciarse sin store.credentials_encryption_key. Sin la clave, almacena las credenciales en la base de datos en texto plano. true no tiene efecto si git.allowed_hostnames enumera un host, o si instalas con Docker Compose o el chart de Helm del servidor. |
store.credentials_encryption_keys_retiringCMA_STORE__CREDENTIALS_ENCRYPTION_KEYS_RETIRINGSolo entorno | Ninguno | Claves de cifrado anteriores con las que el servidor aún puede descifrar durante una rotación de claves. Esta configuración necesita store.credentials_encryption_key. |
Proveedor de inferencia
Para configurar un proveedor, consulta Proveedor de inferencia.
| Configuración Variable de entorno | Valor predeterminado | Descripción |
|---|---|---|
inference.providerCMA_INFERENCE__PROVIDER | anthropic | Adónde envía el servidor las llamadas al modelo. Los valores son anthropic, bedrock, vertex, foundry y gateway. |
inference.headersSolo archivo | Ninguno | Encabezados de solicitud que el servidor agrega a cada llamada al modelo, como un mapa de nombre de encabezado a valor. Pon entre comillas cada valor. El servidor se niega a iniciarse con un valor sin comillas que YAML no lee como texto, como true o 0042. Con gateway, un valor también puede ser { from: request_id } o { from: session_id }. |
inference.model_fallbackCMA_INFERENCE__MODEL_FALLBACK | true | Solo anthropic. Si las llamadas al modelo solicitan respaldo del lado del servidor. Esas llamadas llevan un campo fallbacks y el encabezado anthropic-beta: server-side-fallback-2026-07-01. Un proxy que indiques en ANTHROPIC_BASE_URL podría rechazar el campo o el encabezado. Si responde con un 400 o un 422, el servidor vuelve a enviar la llamada sin ellos. |
inference.metadata.user_idCMA_INFERENCE__METADATA__USER_ID | Ninguno | Solo anthropic y foundry, o gateway con format: anthropic-messages. Un identificador que el servidor envía como metadata.user_id con cada llamada al modelo. El registro de inicio lo muestra. Sin esta configuración, el servidor envía la etiqueta cma-server. No puedes desactivar metadata.user_id. Si el proveedor o un proxy lo rechaza, todas las llamadas al modelo fallan. Consulta Qué sale de tu red. |
Proveedores en la nube
| Configuración Variable de entorno | Valor predeterminado | Descripción |
|---|---|---|
inference.regionCMA_INFERENCE__REGION | Ninguno | Solo bedrock y vertex. La región de AWS, o la ubicación en Google Cloud’s Agent Platform. Obligatoria con vertex. Sin ella, bedrock usa la región que encuentra la cadena predeterminada del SDK de AWS. |
inference.project_idCMA_INFERENCE__PROJECT_ID | Ninguno | Solo vertex. El proyecto de Google Cloud en el que se realizan las llamadas. Obligatoria a menos que la credencial de Google indique un proyecto. |
inference.apiCMA_INFERENCE__API | invoke_model | Solo bedrock. La API de Amazon Bedrock que transporta las llamadas, invoke_model o messages. messages es el endpoint que describe Claude en Amazon Bedrock (bedrock-mantle). Con él, el rol de AWS del servidor necesita bedrock-mantle:CreateInference en lugar de bedrock:InvokeModel y bedrock:InvokeModelWithResponseStream. |
inference.list_modelsCMA_INFERENCE__LIST_MODELS | true | Solo bedrock. Si el servidor lee las listas de modelos de Claude de Amazon Bedrock. Con esas listas, los agentes pueden usar un modelo que salió después de la versión de tu servidor. |
inference.model_id_prefixCMA_INFERENCE__MODEL_ID_PREFIX | us.anthropic. | Solo bedrock. El texto que el servidor coloca antes de cada ID de modelo. Con inference.api: messages, el valor predeterminado es anthropic.. |
inference.model_id_overridesSolo archivo | Ninguno | Solo bedrock, vertex y foundry. Un mapa de ID de modelo al ID exacto que espera el proveedor. Con foundry, ese ID es un nombre de implementación. |
inference.foundry.resourceCMA_INFERENCE__FOUNDRY__RESOURCE | Ninguno | Solo foundry. El nombre del recurso de Foundry. Establece esta o inference.foundry.base_url, no ambas. |
inference.foundry.base_urlCMA_INFERENCE__FOUNDRY__BASE_URL | Ninguno | Solo foundry. De forma predeterminada, las llamadas van a https://<resource>.services.ai.azure.com/anthropic. Para acceder al recurso en otra dirección, como un proxy, establece esa URL aquí en su lugar. Termina en /anthropic. |
Gateway de modelos
Estas configuraciones se aplican solo con inference.provider: gateway. Consulta Gateway de modelos.
| Configuración Variable de entorno | Valor predeterminado | Descripción |
|---|---|---|
inference.gateway.urlCMA_INFERENCE__GATEWAY__URL | Ninguno | Obligatoria. La URL que recibe las llamadas al modelo. Con bedrock-invoke y vertex-raw-predict, {model} marca dónde va el ID del modelo. Con vertex-raw-predict, la URL debe terminar en /{model}:rawPredict. |
inference.gateway.formatCMA_INFERENCE__GATEWAY__FORMAT | Ninguno | Obligatoria. El formato de solicitud que acepta el gateway: bedrock-invoke, anthropic-messages o vertex-raw-predict. |
inference.gateway.model_mapSolo archivo | Ninguno | Obligatoria. Un mapa de cada ID de modelo que los agentes pueden indicar al ID que espera el gateway. Pon entre comillas cada valor, como para inference.headers. |
inference.gateway.streamingCMA_INFERENCE__GATEWAY__STREAMING | false | Si el servidor envía la llamada con streaming del formato, para que las respuestas lleguen a medida que el modelo las produce. Con bedrock-invoke, esa llamada va a la misma URL con -with-response-stream agregado al final. Con vertex-raw-predict, esa llamada va a la misma URL con :streamRawPredict en lugar de :rawPredict. Deja :rawPredict en inference.gateway.url. |
inference.credentials.supplierCMA_INFERENCE__CREDENTIALS__SUPPLIER | Ninguno | Obligatoria. De dónde proviene la credencial del gateway. env significa una clave de larga duración, oauth_exchange significa tokens de corta duración, y azure significa tokens de Microsoft Entra ID emitidos para la propia identidad de Azure del servidor. |
inference.credentials.env.varCMA_INFERENCE__CREDENTIALS__ENV__VAR | Ninguno | Obligatoria con env. El nombre de la variable de entorno que contiene la clave. |
inference.credentials.azure.scopeCMA_INFERENCE__CREDENTIALS__AZURE__SCOPE | Ninguno | Obligatoria con azure. El alcance para el que el servidor solicita tokens: el URI de ID de aplicación o el ID de aplicación del registro de aplicación de tu gateway, seguido de /.default. |
inference.credentials.send_as.headerCMA_INFERENCE__CREDENTIALS__SEND_AS__HEADER | Authorization | El encabezado de solicitud que transporta la credencial. |
inference.credentials.send_as.schemeCMA_INFERENCE__CREDENTIALS__SEND_AS__SCHEME | Bearer | La palabra que precede a la credencial en el encabezado. En cualquier encabezado distinto de Authorization, el valor predeterminado es sin esquema. |
inference.credentials.renew_beforeCMA_INFERENCE__CREDENTIALS__RENEW_BEFORE | 90s | Con oauth_exchange, con cuánta antelación el servidor reemplaza un token. Deja de usar un token en caché con esa antelación antes de que el token caduque, y obtiene otro para la siguiente llamada al modelo. Mantén el valor por debajo de la vida útil de tus tokens. El servidor rechaza cualquier token que sea válido por menos de este valor. |
Tokens de gateway de corta duración
Estas configuraciones se aplican solo con inference.credentials.supplier: oauth_exchange. Consulta Tokens de corta duración. Las configuraciones exchange son opcionales como grupo. Sin ellas, el servidor envía al gateway lo que devuelve la devolución de llamada.
| Configuración Variable de entorno | Valor predeterminado | Descripción |
|---|---|---|
inference.credentials.assertion.urlCMA_INFERENCE__CREDENTIALS__ASSERTION__URL | Ninguno | Obligatoria. La URL de la devolución de llamada HTTP que devuelve una aserción firmada. |
inference.credentials.assertion.auth.typeCMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__TYPE | Ninguno | Obligatoria. Cómo se autentica el servidor ante la devolución de llamada, mtls o bearer_file. |
inference.credentials.assertion.auth.cert_fileCMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__CERT_FILE | Ninguno | Obligatoria con mtls. La ruta del certificado de cliente del servidor. |
inference.credentials.assertion.auth.key_fileCMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__KEY_FILE | Ninguno | Obligatoria con mtls. La ruta de la clave privada del certificado de cliente. |
inference.credentials.assertion.auth.token_fileCMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__TOKEN_FILE | Ninguno | Obligatoria con bearer_file. La ruta de un archivo que contiene el token bearer. |
inference.credentials.assertion.auth.ca_fileCMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__CA_FILE | Ninguno | La ruta de un archivo PEM con las autoridades de certificación en las que confía el servidor para la devolución de llamada. |
inference.credentials.assertion.forward_metadataCMA_INFERENCE__CREDENTIALS__ASSERTION__FORWARD_METADATA | Ninguno | Las claves de metadatos de sesión cuyos valores envía el servidor a la devolución de llamada. Llegan como session.metadata en el cuerpo de la solicitud. Los valores son lo que haya escrito el llamador de la API, así que compruébalos con tus propios registros. |
inference.credentials.exchange.token_urlCMA_INFERENCE__CREDENTIALS__EXCHANGE__TOKEN_URL | Ninguno | Obligatoria para un intercambio. El endpoint de tokens de OAuth donde el servidor intercambia la aserción por un token. |
inference.credentials.exchange.grant_typeCMA_INFERENCE__CREDENTIALS__EXCHANGE__GRANT_TYPE | Ninguno | Obligatoria para un intercambio. El grant_type que envía el servidor, como urn:ietf:params:oauth:grant-type:jwt-bearer. |
inference.credentials.exchange.encodingCMA_INFERENCE__CREDENTIALS__EXCHANGE__ENCODING | form | Cómo codifica el servidor la solicitud de intercambio, form o multipart. |
inference.credentials.exchange.expiryCMA_INFERENCE__CREDENTIALS__EXCHANGE__EXPIRY | expires_in | Dónde lee el servidor la vida útil del token. expires_in significa el menor entre el expires_in de la respuesta y el claim exp del token. jwt_exp significa solo el claim exp. |
inference.credentials.exchange.headersSolo archivo | Ninguno | Encabezados de solicitud adicionales para el endpoint de tokens, como un mapa de nombre de encabezado a valor. Pon entre comillas cada valor, como para inference.headers. |
inference.credentials.exchange.ca_fileCMA_INFERENCE__CREDENTIALS__EXCHANGE__CA_FILE | Ninguno | La ruta de un archivo PEM con las autoridades de certificación en las que confía el servidor para el endpoint de tokens. |
Inicio de sesión único
Para configurar el inicio de sesión, consulta Inicio de sesión único.
| Configuración Variable de entorno | Valor predeterminado | Descripción |
|---|---|---|
auth.issuersSolo archivo | Ninguno | Los emisores de OpenID Connect cuyos tokens acepta el servidor. Consulta Entradas de emisor. |
auth.refuse_server_api_keySolo archivo | false | Si el servidor rechaza la clave de API del servidor en todas las rutas. true necesita al menos un emisor. Entonces, todos los comandos de la CLI de administración que usan la clave fallan. |
Entradas de emisor
Cada entrada de auth.issuers acepta estos campos:
| Campo | Valor predeterminado | Descripción |
|---|---|---|
name | Ninguno | Obligatorio. Una etiqueta para el emisor en las líneas de registro. El servidor también la registra como parte del creador de cada recurso. |
issuer_url | Ninguno | Obligatorio. La URL del emisor, exactamente como en el claim iss de sus tokens. El servidor obtiene las claves de firma de este host y del host de jwks_uri que indica el documento de descubrimiento del emisor. Si tu red limita las conexiones salientes, admite ambos hosts. |
audiences | Ninguno | Obligatorio. Los valores que puede llevar el claim aud de un token. Si las aplicaciones reenvían tokens que ya tienen, enumera el ID de cliente de cada aplicación. |
roles | Ninguno | Una lista de pares group y role. Un grupo coincide exactamente, o como un patrón en el que * representa cualquier secuencia de caracteres y ? un carácter. Un rol es admin, developer o user. Gana el rol coincidente más alto. Establece roles, default_role o ambos. |
default_role | Ninguno | El rol de un llamador cuyos grupos no coinciden con ninguna entrada de roles. Establécelo solo si todas las personas que pueden obtener un token para esta audiencia deben tener acceso. |
subject_claim | sub | El claim que identifica al llamador. Un nombre que empieza con / es un JSON Pointer a claims anidados. |
stable_subject | false | Se aplica solo si subject_claim indica un claim distinto de sub u oid. Establece true para confirmar que tu proveedor nunca cambia el valor de ese claim de una persona y nunca se lo asigna a otra. El servidor no lo comprueba. Con false, los tokens de agente omiten los claims actor_sub y actor_iss. |
groups_claim | groups | El claim que enumera los grupos del llamador. Un nombre que empieza con / es un JSON Pointer a claims anidados. |
jwks_file | Ninguno | La ruta de un archivo JSON Web Key Set. El servidor lee las claves de firma de él y nunca contacta al emisor. |
login_client_id | Ninguno | El ID de cliente de la aplicación que usa el inicio de sesión desde terminal. Solo un emisor puede establecerlo. |
login_scopes | [openid] | Los alcances que solicita el inicio de sesión. Este campo necesita login_client_id. |
Gestor de secretos
Para configurar un almacén, consulta Gestor de secretos.
| Configuración Variable de entorno | Valor predeterminado | Descripción |
|---|---|---|
secret_store.typeCMA_SECRET_STORE__TYPE | Ninguno | El gestor de secretos que contiene las credenciales de vault. Los valores son aws_secrets_manager, gcp_secret_manager, azure_key_vault y hashicorp_vault. Sin ella, las credenciales de vault permanecen en la base de datos. |
secret_store.prefixCMA_SECRET_STORE__PREFIX | Ninguno | Obligatoria con secret_store.type. El inicio del nombre de cada secreto que crea el servidor. Debe terminar en / para aws_secrets_manager y hashicorp_vault, en - o _ para gcp_secret_manager, y en - para azure_key_vault. |
secret_store.regionCMA_SECRET_STORE__REGION | Ninguno | Solo aws_secrets_manager, y obligatoria allí. La región de AWS que contiene los secretos. |
secret_store.projectCMA_SECRET_STORE__PROJECT | Ninguno | Solo gcp_secret_manager, y obligatoria allí. El ID del proyecto de Google Cloud que contiene los secretos. |
secret_store.vault_urlCMA_SECRET_STORE__VAULT_URL | Ninguno | Solo azure_key_vault, y obligatoria allí. La URL del almacén de claves, como https://my-vault.vault.azure.net. |
HashiCorp Vault
Estas configuraciones se aplican solo con secret_store.type: hashicorp_vault. Establece exactamente un método de inicio de sesión: token_file, kubernetes o approle.
| Configuración Variable de entorno | Valor predeterminado | Descripción |
|---|---|---|
secret_store.addressCMA_SECRET_STORE__ADDRESS | Ninguno | Obligatoria. La URL https:// del servidor de Vault. |
secret_store.namespaceCMA_SECRET_STORE__NAMESPACE | Ninguno | El espacio de nombres de Vault Enterprise que contiene el montaje y el método de inicio de sesión. |
secret_store.mountCMA_SECRET_STORE__MOUNT | secret | La ruta del motor de secretos KV versión 2. |
secret_store.ca_cert_fileCMA_SECRET_STORE__CA_CERT_FILE | Ninguno | La ruta de un archivo PEM con la autoridad de certificación que firmó el certificado de Vault. |
secret_store.token_fileCMA_SECRET_STORE__TOKEN_FILE | Ninguno | La ruta de un archivo con un token de Vault que otro proceso, como Vault Agent, mantiene actualizado. |
secret_store.kubernetes.roleCMA_SECRET_STORE__KUBERNETES__ROLE | Ninguno | Obligatoria con kubernetes. El rol de Vault con el que inicia sesión el servidor. Vincúlalo a la cuenta de servicio del servidor. |
secret_store.kubernetes.mount_pathCMA_SECRET_STORE__KUBERNETES__MOUNT_PATH | kubernetes | Dónde monta Vault el método de inicio de sesión de Kubernetes. |
secret_store.kubernetes.service_account_token_fileCMA_SECRET_STORE__KUBERNETES__SERVICE_ACCOUNT_TOKEN_FILE | /var/run/secrets/kubernetes.io/serviceaccount/token | La ruta del token de la cuenta de servicio que presenta el servidor en cada inicio de sesión. |
secret_store.approle.role_idCMA_SECRET_STORE__APPROLE__ROLE_ID | Ninguno | Obligatoria con approle. El ID del rol de AppRole con el que inicia sesión el servidor. |
secret_store.approle.secret_id_fileCMA_SECRET_STORE__APPROLE__SECRET_ID_FILE | Ninguno | Obligatoria con approle. La ruta de un archivo con el secret_id del rol. |
secret_store.approle.mount_pathCMA_SECRET_STORE__APPROLE__MOUNT_PATH | approle | Dónde monta Vault el método de inicio de sesión de AppRole. |
Identidad de agente
Para configurar los tokens de agente, consulta Identidad de agente. Cualquier configuración de esta tabla activa la función. Entonces el servidor necesita agent_identity.issuer y exactamente una ubicación para la clave de firma: key_file, key_secret o kms_key.
| Configuración Variable de entorno | Valor predeterminado | Descripción |
|---|---|---|
agent_identity.issuerCMA_AGENT_IDENTITY__ISSUER | Ninguno | La URL https:// que los tokens de agente llevan como su claim iss. |
agent_identity.key_fileCMA_AGENT_IDENTITY__KEY_FILE | Ninguno | La ruta de la clave privada PEM que firma los tokens. |
agent_identity.key_secretCMA_AGENT_IDENTITY__KEY_SECRET | Ninguno | El nombre del secreto que contiene la clave privada PEM en tu gestor de secretos, sin secret_store.prefix. |
agent_identity.kms_key.providerCMA_AGENT_IDENTITY__KMS_KEY__PROVIDER | Ninguno | El servicio de gestión de claves que contiene la clave de firma, aws_kms o gcp_kms. |
agent_identity.kms_key.keyCMA_AGENT_IDENTITY__KMS_KEY__KEY | Ninguno | Obligatoria con kms_key.provider. El ARN de la clave para aws_kms, o el nombre de recurso de una versión de clave para gcp_kms. |
agent_identity.published_key_filesCMA_AGENT_IDENTITY__PUBLISHED_KEY_FILES | Ninguno | Las rutas de claves públicas PEM adicionales para el conjunto de claves. El servidor publica estas claves pero nunca firma con ellas. Usa esta configuración cuando rotes la clave de firma. |
agent_identity.token_lifetimeCMA_AGENT_IDENTITY__TOKEN_LIFETIME | 5m | El tiempo desde el claim iat de un token hasta su claim exp. Un token ya enviado sigue siendo válido hasta su exp. El mínimo es limits.mcp_call_timeout más 1m, y el máximo es 15m. |
agent_identity.jwks_uriCMA_AGENT_IDENTITY__JWKS_URI | <issuer>/.well-known/jwks.json | La URL que el documento de descubrimiento del emisor indica para el conjunto de claves. Establécela solo si alojas el conjunto de claves en otro lugar que no sea bajo la URL del emisor. |
agent_identity.direct.audiencesSolo archivo | Ninguno | Los receptores que pueden obtener un token. Cada entrada tiene una URL audience y urls, los prefijos de URL de los servidores MCP de ese receptor. |
agent_identity.actor.enabledCMA_AGENT_IDENTITY__ACTOR__ENABLED | true | Si el servidor agrega los claims actor_sub y actor_iss al token de una llamada a herramienta. actor_sub es el subject del llamador que creó la sesión. actor_iss es el issuer_url de la entrada de auth.issuers a través de la cual inició sesión el llamador. Ninguno de los dos claims significa que el llamador haya aprobado la llamada. |
Gateway de salida
Para configurar el gateway, consulta Credenciales de variables de entorno. Establece las demás configuraciones de esta tabla solo con egress.gateway_enabled: true. Sin ella, el servidor no se inicia si alguna de ellas está establecida.
| Configuración Variable de entorno | Valor predeterminado | Descripción |
|---|---|---|
egress.gateway_enabledCMA_EGRESS__GATEWAY_ENABLED | false | Si el servidor funciona con el gateway de salida y acepta credenciales de vault environment_variable. |
egress.allowed_hostnamesCMA_EGRESS__ALLOWED_HOSTNAMES | Ninguno | Los nombres de host públicos exactos a los que los sandboxes pueden acceder a través del gateway. Una entrada sin puerto, como api.example.com, permite el puerto 443 para URL https y el puerto 80 para URL http. Una entrada con puerto, como api.example.com:8443, permite solo ese puerto. |
egress.swap_header_namesCMA_EGRESS__SWAP_HEADER_NAMES | Authorization | Los encabezados de solicitud en los que el gateway puede colocar el valor de una credencial. Una lista propia reemplaza el valor predeterminado, así que incluye Authorization en ella. |
egress.gateway_listenCMA_EGRESS__GATEWAY_LISTEN | :8410 | La dirección del segundo listener del servidor, que atiende solo al gateway. El valor predeterminado escucha en todas las interfaces. |
egress.gateway_key_fileCMA_EGRESS__GATEWAY_KEY_FILE | Ninguno | Obligatoria. La ruta de un archivo con la clave que el gateway presenta al servidor. |
egress.ca_cert_fileCMA_EGRESS__CA_CERT_FILE | Ninguno | Obligatoria. La ruta del certificado PEM de la autoridad de certificación del gateway. |
egress.gateway_proxy_addressCMA_EGRESS__GATEWAY_PROXY_ADDRESS | Ninguno | Obligatoria. El host:port en el que los sandboxes acceden al puerto de proxy del gateway. |
Servidores MCP
Consulta Los servidores MCP necesitan una entrada en la lista de permitidos.
| Configuración Variable de entorno | Valor predeterminado | Descripción |
|---|---|---|
mcp.allowed_hostnamesCMA_MCP__ALLOWED_HOSTNAMES | Ninguno | Los nombres de host exactos de los servidores MCP a los que puede conectarse el servidor. Sin ella, el servidor no se conecta a ninguno. |
mcp.private_hostnamesSolo archivo | Ninguno | Los nombres de host de mcp.allowed_hostnames que pueden resolverse a una dirección privada. |
mcp.max_result_bytesCMA_MCP__MAX_RESULT_BYTES | 102400 (100 KiB) | El máximo de bytes de un resultado de herramienta MCP que ve el modelo. El mínimo es 1024. |
Repositorios Git
Consulta Los repositorios Git necesitan una entrada en la lista de permitidos.
| Configuración Variable de entorno | Valor predeterminado | Descripción |
|---|---|---|
git.allowed_hostnamesCMA_GIT__ALLOWED_HOSTNAMES | Ninguno | Los hosts de Git en los que pueden estar los repositorios de una sesión. Los nombres de host coinciden exactamente, sin comodines, y una entrada no abarca sus subdominios. Una entrada permite el puerto 443, o el único puerto que indica, como en git.example.com:8443. Sin esta configuración, el servidor no acepta repositorios. |
git.private_hostnamesSolo archivo | Ninguno | Los nombres de host de git.allowed_hostnames que se resuelven a una dirección privada, escritos sin puerto. Para cualquier otro nombre de host, el servidor se conecta solo a sus direcciones públicas. |
git.allowed_push_refsCMA_GIT__ALLOWED_PUSH_REFS | Ninguno | Las ramas a las que los agentes pueden hacer push, cada una bajo refs/heads/. Una entrada que termina en / permite todas las ramas bajo ella. Cualquier otra entrada permite esa única rama. Sin esta configuración, los agentes no pueden hacer push. |
git.commit_author_nameCMA_GIT__COMMIT_AUTHOR_NAME | Claude | El nombre del autor en los commits del agente. Establécela junto con git.commit_author_email. |
git.commit_author_emailCMA_GIT__COMMIT_AUTHOR_EMAIL | noreply@anthropic.com | La dirección de correo electrónico del autor en los commits del agente. Establécela junto con git.commit_author_name. |
git.max_concurrent_transfersCMA_GIT__MAX_CONCURRENT_TRANSFERS | 32 | El máximo de solicitudes de Git que un servidor transporta a la vez. El mínimo es 1. |
git.max_session_transfer_bytesCMA_GIT__MAX_SESSION_TRANSFER_BYTES | 8589934592 (8 GiB) | El máximo de tráfico de Git, en bytes, que un servidor transporta para una sesión, contando juntas las cargas y las descargas. El conteo se reinicia en cero cada vez que un sandbox retoma la sesión. Al alcanzar el límite, el servidor rechaza las siguientes solicitudes de Git de la sesión con un 403. 0 significa sin límite. De lo contrario, el mínimo es 1048576. |
git.max_push_bytesCMA_GIT__MAX_PUSH_BYTES | 2147483648 (2 GiB) | El máximo de bytes que puede enviar un push. El mínimo es 1048576. |
Estos límites se aplican a los repositorios Git:
- Protocolos: El servidor no admite SSH ni Git LFS, y rechaza las redirecciones, como la de un repositorio renombrado.
- Tokens: El host de Git debe aceptar el token como contraseña de la autenticación HTTP Basic, con el nombre de usuario
x-access-token. - URL: Una URL de repositorio tiene un propietario y un nombre de repositorio, así que no puedes usar un repositorio en un subgrupo de GitLab.
- Hosts: Para una URL en un host que
git.allowed_hostnamesno enumera, el servidor devuelve un400. El mensaje de error indica que la URL debe estar engithub.com, incluso si enumeras otros hosts. - Pushes: El servidor siempre rechaza un push que elimina una rama, o que cambia algo distinto de una rama, como una etiqueta.
Herramientas web y skills
Consulta Las herramientas web necesitan una configuración del servidor.
| Configuración Variable de entorno | Valor predeterminado | Descripción |
|---|---|---|
web_tools.enabledCMA_WEB_TOOLS__ENABLED | false | Si los agentes pueden usar las herramientas web_search y web_fetch. Si estableces otra configuración de web_tools, el valor predeterminado es true. |
web_tools.allowed_domainsCMA_WEB_TOOLS__ALLOWED_DOMAINS | Ninguno | Los únicos dominios que los agentes pueden leer a través de las herramientas web. Una entrada abarca sus subdominios. |
web_tools.blocked_domainsCMA_WEB_TOOLS__BLOCKED_DOMAINS | Ninguno | Dominios que ningún agente puede leer a través de las herramientas web. Establece esta o web_tools.allowed_domains, no ambas. |
web_tools.max_content_tokensCMA_WEB_TOOLS__MAX_CONTENT_TOKENS | Ninguno | El máximo de tokens de una página obtenida que web_fetch devuelve al modelo. |
skills.max_name_charsCMA_SKILLS__MAX_NAME_CHARS | 64 | El name más largo que puede tener un archivo SKILL.md. El máximo es 255. |
skills.max_description_charsCMA_SKILLS__MAX_DESCRIPTION_CHARS | 1024 | La description más larga que puede tener un archivo SKILL.md. |
Límites, tiempos de espera y programación
| Configuración Variable de entorno | Valor predeterminado | Descripción |
|---|---|---|
limits.max_active_sessionsCMA_LIMITS__MAX_ACTIVE_SESSIONS | 64 | Solo store.backend: memory. El máximo de sesiones que ejecutan un turno a la vez. 0 significa sin límite. |
limits.max_live_subagent_threadsCMA_LIMITS__MAX_LIVE_SUBAGENT_THREADS | 25 | El máximo de hilos de subagente que una sesión puede mantener a la vez. Un hilo cuenta hasta que se archiva o se termina, así que un hilo inactivo cuenta. Al alcanzar el límite, el agente no puede iniciar otro subagente. El mínimo es 1, y el máximo es 4000. |
scheduler.max_concurrent_turnsCMA_SCHEDULER__MAX_CONCURRENT_TURNS | 64 | Solo store.backend: postgres. El máximo de turnos que un servidor ejecuta a la vez. El mínimo es 1. El servidor reserva espacios adicionales solo para turnos de subagentes. Su número es una cuarta parte de este valor, y como mínimo 4. Con el valor predeterminado, un servidor puede ejecutar 64 turnos más 16 turnos de subagentes. |
scheduler.claim_poll_intervalCMA_SCHEDULER__CLAIM_POLL_INTERVAL | 1s | Solo store.backend: postgres. Con qué frecuencia un servidor con un espacio de turno libre busca trabajo en espera en la base de datos. El mínimo es 50ms. |
scheduler.sandbox_claimCMA_SCHEDULER__SANDBOX_CLAIM | immediate | Cuándo puede un worker iniciar el sandbox de una sesión. immediate significa en cuanto se crea la sesión, así que la primera llamada a herramienta espera menos. tool_call significa en la primera llamada a herramienta de la sesión que necesita el sandbox, así que una sesión que no hace ninguna no usa ningún sandbox. |
limits.model_call_timeoutCMA_LIMITS__MODEL_CALL_TIMEOUT | 20m | Cuánto tiempo puede ejecutarse una llamada al modelo, incluidos los reintentos, antes de que el servidor la cancele. |
limits.stream_idle_timeoutCMA_LIMITS__STREAM_IDLE_TIMEOUT | 5m | Cuánto tiempo puede pasar la respuesta de una llamada al modelo sin entregar nada antes de que el servidor abandone ese intento. |
limits.mcp_call_timeoutCMA_LIMITS__MCP_CALL_TIMEOUT | 4m | Cuánto tiempo puede ejecutarse una llamada a herramienta MCP antes de que el servidor la abandone. |
Modelos y compactación
| Configuración Variable de entorno | Valor predeterminado | Descripción |
|---|---|---|
models.settingsSolo archivo | Ninguno | Cambios en el catálogo de modelos integrado del servidor, indexados por ID de modelo. Consulta Entradas de modelo. |
compaction.triggersSolo archivo | Aproximadamente el 90 % de la “context window” (ventana de contexto) de cada modelo | El tamaño del contexto, en tokens, al que un turno en un modelo compacta su historial, indexado por ID de modelo. El mínimo es 50000. Cada modelo debe admitir compactación. |
Entradas de modelo
Cada entrada de models.settings modifica un modelo del catálogo o agrega uno. Para un modelo del catálogo, un campo que omitas conserva su valor integrado.
| Campo | Descripción |
|---|---|
fast_supported | Si el modelo acepta speed: "fast". Obligatorio para un modelo que agregues. |
inference_geo_supported | Si el modelo acepta inference_geo. |
forced_tool_choice_supported | Si el modelo acepta una solicitud que lo obliga a llamar a una herramienta. El servidor envía una solicitud de ese tipo solo para ejecutar una llamada a web_search o web_fetch que se aprobó. Con false, nunca fuerza una herramienta en este modelo. |
effort_supported | Si el modelo acepta un nivel de esfuerzo. |
effort_levels | Los niveles de esfuerzo que acepta el modelo, entre low, medium, high, xhigh y max. Obligatorio con effort_supported: true en un modelo sin niveles integrados. |
effort_default | El nivel de esfuerzo de una sesión cuyo agente no indica ninguno. Debe ser uno de effort_levels. Obligatorio con effort_supported: true en un modelo sin valor predeterminado integrado. |
thinking | El modo de pensamiento que solicita el servidor, enabled o adaptive. |
thinking_budget | El presupuesto de pensamiento, en tokens, que envía el servidor con thinking: enabled. |
max_tokens | El valor de max_tokens de cada llamada al modelo. |
Consola en tu servidor
| Configuración Variable de entorno | Valor predeterminado | Descripción |
|---|---|---|
console.serveCMA_CONSOLE__SERVE | true | Si se sirve la consola en tu servidor. |
¿Te resultó útil esta página?