Dokumentation

SubKit runtime settings

Schlag jeden Wert der Laufzeitkonfiguration mit Beschreibung und Standardwert nach.

Stand: Release v10.4.20
Kapitel

Jeder Wert der Laufzeitkonfiguration mit Beschreibung und Standardwert. Die Werte lassen sich im Cockpit, über die HTTP- und MCP-Einstellungs-APIs oder mit sk settings bearbeiten. Die Referenz unten wird aus der Konfiguration generiert und bleibt auf Englisch.

Every value below lives in canonical runtime configuration and is editable via the Cockpit, HTTP/MCP settings APIs, sk settings configure, or sk settings set. Per-tenant overrides go into the file's tenants section and only honor leaves tagged scope=tenant.

Path resolution: tenant overlay → global value → schema default. Environment variables never set a runtime setting.

log #

Logging

pathtypedefaultscopesensitiverequiresRestartdescription
log.formatenum("dev" | "pretty" | "prod" | "ndjson" | "json")"ndjson"globalnonoLog output format
log.levelenum("trace" | "debug" | "info" | "warn" | "error" | "fatal")"info"globalnonoLog verbosity

server #

HTTP server

pathtypedefaultscopesensitiverequiresRestartdescription
server.hosted_rate_limit.global_per_minutenumber0globalnonoOperator request ceiling across hosted ingress per minute; zero denies hosted ingress
server.hosted_rate_limit.peer_per_minutenumber0globalnonoOperator request ceiling per verified connection peer and minute; zero denies hosted ingress
server.hosted_rate_limit.principal_per_minutenumber0globalnonoOperator request ceiling per authenticated principal and tenant per minute; zero denies hosted requests
server.hosted_rate_limit.tenant_per_minutenumber0globalnonoOperator request ceiling per hosted tenant and minute; zero denies hosted requests
server.hosted_rate_limit.tenant_per_monthnumber0globalnonoOperator request allowance per hosted tenant and UTC calendar month; zero denies hosted requests
server.portnumber3000globalnoyesHTTP port to bind (1..65535)
server.public_base_urlstring""globalnonoExternal-facing URL the engine resolves at. Used by /install, chat link replies, and OAuth2 redirect-URI synthesis. Required for any OAuth2 connector.
server.restart_supervisedbooleanfalseglobalnonoA supervisor (systemd with Restart=on-failure, Docker with a restart policy) starts the engine again after it ends. Enables POST /v1/system/restart (exit code 75).
server.root_redirect_to_cockpitbooleanfalseglobalnonoRedirect a browser's GET / (Accept: text/html) to /cockpit with a non-cacheable temporary redirect. Other clients keep the Markdown entry point. Disabled by default.
server.trusted_proxy_hopsnumber0globalnonoTrusted reverse-proxy hops counted from the right of X-Forwarded-For; zero ignores forwarding headers.
server.trusted_proxy_ipsarray[]globalnonoExact trusted reverse-proxy socket peer IPs. Every configured forwarding hop must match; X-Real-IP is never trusted.

database #

Database connection

pathtypedefaultscopesensitiverequiresRestartdescription
database.connect_timeout_msnumber10000globalnoyesDeadline for acquiring or establishing a PostgreSQL connection.
database.idle_timeout_msnumber30000globalnoyesTime before an unused pooled connection is closed.
database.keepalive_delay_msnumber10000globalnoyesInitial TCP keepalive delay for PostgreSQL connections.
database.pool_maxnumber10globalnoyesMaximum application connections per pool and replica.
database.query_timeout_msnumber150000globalnoyesClient-side PostgreSQL query deadline in milliseconds.
database.statement_timeout_msnumber120000globalnoyesServer-side PostgreSQL statement deadline, initialized on each session.
database.urlstring—globalyesyesBootstrap-only Postgres connection string. Rotate DATABASE_URL and restart replicas; runtime revisions cannot change this binding.

llm #

LLM configuration

pathtypedefaultscopesensitiverequiresRestartdescription
llm.api_keystring""tenantyesnoPrimary LLM API key
llm.context_1mbooleanfalsetenantnonoEnable 1M context window where supported
llm.critic.enabledbooleanfalsetenantnonoRun the second-stage LLM critic on workflow drafts after every static gate passes
llm.critic.max_consecutive_rejectionsnumber3tenantnonoAfter this many consecutive critic_rejected results in a conversation, skip the critic to avoid an infinite re-author loop
llm.critic.min_stepsnumber3tenantnonoMinimum step count for the critic to run on a draft (drift in recent drafts also triggers a run)
llm.fallback_modelstring""tenantnonoFallback model identifier
llm.fallback_providerenum("mock" | "anthropic" | "openai" | "gemini" | "azure" | "bedrock" | "vertex" | "ai_gateway")nulltenantnonoFallback provider on primary failure
llm.hosted.enabledbooleanfalseglobalnonoHosted paid-model service mode; requires tenant context independently of signup policy.
llm.hosted.global_monthly_microunitsstring"0"globalnonoOperator-owned global monthly hosted budget in USD microunits; zero blocks paid calls.
llm.hosted.modelsjson[]globalnonoExact provider:model allowlist with verified provider-enforced context maxima, including extended context, and maximum USD rates for every context tier. No paid native tools or multimodal inputs.
llm.hosted.tenant_monthly_microunitsstring"0"globalnonoOperator-owned monthly hosted budget per tenant in USD microunits; zero blocks paid calls.
llm.modelstring""tenantnonoPrimary model identifier
llm.output_guardenum("soft" | "hard" | "off")"soft"globalnonoLLM output safety mode (soft: rewrite + log, hard: throw, off: bypass — never use in production)
llm.providerenum("mock" | "anthropic" | "openai" | "gemini" | "azure" | "bedrock" | "vertex" | "ai_gateway")"mock"tenantnonoPrimary LLM provider
llm.providers.ai_gateway.api_keystring""globalyesno
llm.providers.ai_gateway.modelstring""globalnono
llm.providers.anthropic.api_keystring""tenantyesnoAPI key for this provider
llm.providers.anthropic.base_urlstring""globalnonoOptional base URL override
llm.providers.anthropic.modelstring""tenantnonoDefault model identifier
llm.providers.azure.api_keystring""tenantyesno
llm.providers.azure.api_versionstring""globalnono
llm.providers.azure.base_urlstring""globalnono
llm.providers.azure.modelstring""tenantnono
llm.providers.azure.resource_namestring""globalnono
llm.providers.azure.use_deployment_based_urlsbooleanfalseglobalnono
llm.providers.bedrock.access_key_idstring""globalyesno
llm.providers.bedrock.base_urlstring""globalnono
llm.providers.bedrock.modelstring""tenantnono
llm.providers.bedrock.regionstring""globalnono
llm.providers.bedrock.secret_access_keystring""globalyesno
llm.providers.bedrock.session_tokenstring""globalyesno
llm.providers.gemini.api_keystring""tenantyesnoAPI key for this provider
llm.providers.gemini.base_urlstring""globalnonoOptional base URL override
llm.providers.gemini.modelstring""tenantnonoDefault model identifier
llm.providers.openai.api_keystring""tenantyesnoAPI key for this provider
llm.providers.openai.base_urlstring""globalnonoOptional base URL override
llm.providers.openai.modelstring""tenantnonoDefault model identifier
llm.providers.vertex.api_keystring""tenantyesno
llm.providers.vertex.client_emailstring""globalnono
llm.providers.vertex.google_application_credentialsstring""globalnono
llm.providers.vertex.locationstring""globalnono
llm.providers.vertex.modelstring""tenantnono
llm.providers.vertex.private_keystring""globalyesno
llm.providers.vertex.projectstring""globalnono
llm.suggestion_modelstring"claude-haiku-4-5"tenantnonoSmall model used to generate post-turn suggestions
llm.summarize_modelstring""tenantnonoModel used for summarization passes
llm.summarize_providerenum("mock" | "anthropic" | "openai" | "gemini" | "azure" | "bedrock" | "vertex" | "ai_gateway")nulltenantnonoProvider used for summarization passes
llm.web_searchbooleantruetenantnonoAllow the assistant to use Anthropic-native server-side web search (billed per search; Anthropic models only). Toggle off per tenant via /settings.

auth #

Authentication

pathtypedefaultscopesensitiverequiresRestartdescription
auth.enable_signupbooleanfalseglobalnonoCompatibility fallback for self-hosted OIDC providers without signup_policy: allow first-time SSO member accounts. Explicit provider policies override it; hosted signup never uses it.
auth.hosted.admission.mcp_clients_per_minutenumber0globalnonoOperator global hosted MCP dynamic-client registration ceiling per minute.
auth.hosted.admission.mcp_clients_per_peer_per_minutenumber0globalnonoOperator hosted MCP dynamic-client registration ceiling per verified peer and minute.
auth.hosted.admission.retained_mcp_clientsnumber0globalnonoOperator ceiling for retained MCP client registrations, including retired and disabled clients; zero denies new clients.
auth.hosted.admission.retained_tenantsnumber0globalnonoOperator ceiling for retained self-service tenant records, including erased ownership tombstones; zero denies new tenants.
auth.hosted.admission.tenant_creations_per_minutenumber0globalnonoOperator global ceiling for newly created self-service tenants per minute; idempotent callbacks do not consume it.
auth.hosted.enabledbooleanfalseglobalnoyesEnable identity-first hosted browser authentication for explicitly opted-in providers.
auth.hosted.registration_enabledbooleanfalseglobalnonoAllow new hosted identities to provision their own workspace. Existing members and reviewed invitation handoffs remain available while registration is closed.
auth.mcp_oauth.access_token_ttl_secondsnumber3600globalnonoLifetime in seconds for MCP OAuth access tokens.
auth.mcp_oauth.authorization_code_ttl_secondsnumber60globalnonoLifetime in seconds for MCP OAuth authorization codes.
auth.mcp_oauth.dynamic_registration_enabledbooleantrueglobalnonoAllow RFC 7591 dynamic client registration at POST /v1/oauth/register.
auth.mcp_oauth.enabledbooleantrueglobalnoyesEnable the MCP OAuth 2.1 authorization server (ChatGPT / Claude.ai / Cursor).
auth.mcp_oauth.refresh_token_ttl_secondsnumber2592000globalnonoLifetime in seconds for MCP OAuth refresh tokens (30 days).
auth.mcp_oauth.scopes_supportedstring[]["mcp:read","mcp:authoring","mcp:admin","metrics:read"]globalnonoOAuth scopes advertised in the authorization server metadata. Add, reorder and remove freely, except metrics:read: GET /metrics enforces it, so it is restored whenever a written value omits it.
auth.providersjson[{"protocol":"api_key","id":"api-key","label":"SubKit API key"}]globalnonoAuthentication adapters: api_key, oidc (public browser client with PKCE, no secret) and oidc_bearer (an issuer's access token as bearer for one product, verified against its JWKS).
auth.session.secretstring""globalyesyesSession signing secret (auto-generated to a 32-byte hex value on first boot if empty); operator-supplied values must be at least 32 chars

platform #

Chat platform integrations

pathtypedefaultscopesensitiverequiresRestartdescription
platform.googlechat.audiencestring""globalnoyes
platform.googlechat.client_emailstring""globalnoyes
platform.googlechat.private_keystring""globalyesyes
platform.googlechat.project_idstring""globalnoyes
platform.googlechat.sync_turn_timeout_msnumber25000globalnonoBounded wait for the inline synchronous Google Chat turn before falling back to detached async delivery (must stay under Google's ~30s sync window)
platform.slack.client_idstring""globalnoyes
platform.slack.client_secretstring""globalyesyes
platform.slack.signing_secretstring""globalyesyes
platform.teams.app_idstring""globalnoyes
platform.teams.app_passwordstring""globalyesyes

storage #

Object storage

pathtypedefaultscopesensitiverequiresRestartdescription
storage.hosted.max_file_bytesstring"0"globalnonoOperator-owned maximum declared bytes of each new hosted file; zero blocks file admission.
storage.hosted.retained_rows_per_resourcenumber1000globalnonoOperator-owned retained row ceiling, initially 1,000 for the Free offering, for each hosted resource table, including histories and soft-deleted rows; zero blocks resource creation.
storage.hosted.tenant_bytesstring"0"globalnonoOperator-owned shared logical byte quota for files, object reservations and all retained user content, including copies and revisions. Not a physical bucket or PostgreSQL disk quota.
storage.object_store.access_key_idstring""globalyesno
storage.object_store.bucketstring""globalnono
storage.object_store.endpointstring""globalnono
storage.object_store.force_path_stylebooleantrueglobalnono
storage.object_store.regionstring"us-east-1"globalnono
storage.object_store.secret_access_keystring""globalyesno
storage.object_store.session_tokenstring""globalyesno

observability #

Observability

pathtypedefaultscopesensitiverequiresRestartdescription
observability.analytics.api_keystring""globalyesnoAPI key for the analytics endpoint.
observability.analytics.enabledbooleanfalseglobalnonoEnable product-analytics emission. Off by default — no external calls are made unless this is true and an endpoint is configured.
observability.analytics.endpointstring""globalnonoSelf-hostable analytics ingest endpoint. Empty disables emission even when enabled=true.
observability.analytics.projectstring""globalnonoProject or workspace identifier on the analytics platform.
observability.deployment_environmentstring"production"globalnonoDeployment identity used for the OpenTelemetry deployment.environment.name resource attribute.
observability.field_truncation_charsnumber2048globalnonoPer-field cap (in characters / UTF-16 code units, not bytes) applied to structured log fields after redaction.
observability.langfuse.hoststring""globalnono
observability.langfuse.public_keystring""globalnono
observability.langfuse.secret_keystring""globalyesno
observability.otlp.endpointstring""globalnono
observability.otlp.service_namestring"subkit"globalnono
observability.predictive.connector_unhealthy_pctnumber80globalnonoPercent of recent connector calls returning a non-ok health verdict above which connector drift is flagged.
observability.predictive.dlq_critical_depthnumber5globalnonoStanding dead-letter-queue depth at or above which DLQ accumulation is flagged critical (a worker-failure backlog, not a per-window delta).
observability.predictive.llm_fallback_pctnumber80globalnonoPercent of LLM calls falling back to the secondary provider above which primary-provider degradation is flagged.
observability.predictive.memory_cap_fractionnumber0.9globalnonoFraction of the host memory cap the RSS high-water may reach before an OOM-risk warning.
observability.predictive.pool_saturation_pctnumber80globalnonoPercent of the Postgres pool in use (or any waiting clients) above which saturation is flagged.
observability.predictive.transient_retry_ratenumber1globalnonoTransient-DB-retries-per-minute above which a flapping Postgres is flagged.
observability.usage.enabledbooleanfalseglobalnonoPersist privacy-safe, tenant-scoped product usage events locally. Disabled by default; requires hmac_secret when enabled.
observability.usage.hmac_secretstring""globalyesnoProduct-local HMAC secret for actor and session pseudonyms. Set at least 32 characters before enabling usage telemetry.
observability.usage.retention_daysnumber90globalnonoRaw usage-event retention in days; aggregate reports may outlive raw rows.

egress #

Egress filter

pathtypedefaultscopesensitiverequiresRestartdescription
egress.modeenum("strict" | "permissive")nullglobalnonoEgress mode: strict blocks private/loopback hosts, permissive allows them. Null falls back to NODE_ENV default.
egress.provider_hosts_extrastring[][]globalnonoExtra hostnames counted as LLM providers for token accounting and per-run budgets. Does NOT affect the egress filter — adding a host makes calls to it metered, not permitted.

mcp #

MCP transport

pathtypedefaultscopesensitiverequiresRestartdescription
mcp.api_keystring""globalyesno
mcp.read_onlybooleanfalseglobalnono

errors #

Error ring buffer

pathtypedefaultscopesensitiverequiresRestartdescription
errors.ring_sizenumber100globalnoyes

spec #

Spec fetcher

pathtypedefaultscopesensitiverequiresRestartdescription
spec.allow_private_fetchbooleanfalseglobalnonoAllow OpenAPI spec fetches from private/loopback hosts (test-only)

queue #

Queue worker

pathtypedefaultscopesensitiverequiresRestartdescription
queue.abort_poll_interval_msnumber500globalnonoHot-reloadable interval for workers to observe durable cross-replica execution cancellation requests.
queue.concurrencynumber1globalnoyesExecutions this replica runs at once. Raising it trades isolation for throughput. Restart required.
queue.crash_recovery_sweep_interval_msnumber60000globalnonoHot-reloadable interval for reconciling executions orphaned by a worker or engine restart.
queue.crash_recovery_threshold_msnumber0globalnonoHard age threshold for crash recovery. 0 uses each workflow timeout multiplied by its grace factor.
queue.hosted.chat_concurrencynumber0globalnonoOperator ceiling for simultaneous hosted chat turns per tenant, including direct calls; zero denies work.
queue.hosted.execution_concurrencynumber0globalnonoOperator ceiling for simultaneous hosted root executions per tenant; zero denies work.
queue.hosted.pending_jobsnumber0globalnonoOperator ceiling for queued hosted execution and conversation jobs per tenant; zero denies queue admission.

tokens #

Token budget

pathtypedefaultscopesensitiverequiresRestartdescription
tokens.currencystring"USD"tenantnonoISO 4217 code for tokens.prices. The built-in catalog is in USD and applies only while this is USD; otherwise only tokens.prices entries price anything.
tokens.monthly_budgetnumber0tenantnonoHard cap on tokens consumed per calendar month. 0 = unlimited.
tokens.pricesjson[]tenantnonoPer-model price overrides on top of the built-in catalog, per 1M tokens. An entry replaces its model's catalog price. A model with neither is reported as unpriced, not as zero.

operations #

Startup operations

pathtypedefaultscopesensitiverequiresRestartdescription
operations.seed_skills_at_bootbooleantrueglobalnoyesUpsert embedded skill seeds for all tenants during startup
operations.update_check_enabledbooleantrueglobalnoyesCheck for a newer engine release during startup

sandbox #

QuickJS JS sandbox limits

pathtypedefaultscopesensitiverequiresRestartdescription
sandbox.ipc_max_bytesnumber33554432globalnonoMaximum sandbox worker request or response size in bytes. Default 32 MB.
sandbox.max_transform_wall_msnumber300000globalnonoOperator ceiling for a transform step's wall-clock, in ms. A step timeout_ms above it runs with the ceiling and sandbox_limit_clamped_total counts the cut. Default 5 min.
sandbox.memory_bytesnumber134217728globalnonoHard WASM heap cap for a JS sandbox run, in bytes. Default 128 MB.
sandbox.queue_limitnumber32globalnonoMaximum queued sandbox jobs across one worker lane. Default 32.
sandbox.stack_bytesnumber2097152globalnonoMax stack size for a JS sandbox run, in bytes. Default 2 MB.
sandbox.tenant_queue_limitnumber8globalnonoMaximum queued sandbox jobs for one tenant in one worker lane. Default 8.
sandbox.tick_budgetnumber10000000globalnonoInterrupt-tick budget (coarse runaway backstop, not an opcode count).
sandbox.transform_wall_msnumber60000globalnonoWall-clock cap for transform steps, in ms (overridable per step via timeout_ms). Long synchronous transforms block the worker — chunk via for_each instead of raising. Default 60 s.
sandbox.wall_msnumber30000globalnonoDefault wall-clock cap for a JS sandbox run, in ms. Default 30 s.
sandbox.worker_rss_bytesnumber536870912globalnonoRSS threshold that recycles a sandbox worker after a job, in bytes. Default 512 MB.

repl #

sk REPL session preferences

pathtypedefaultscopesensitiverequiresRestartdescription
repl.permissionModeenum("ask" | "auto" | "plan" | "yolo")"auto"tenantnonoDefault REPL permission mode for the principal: ask, auto, plan, or yolo.
repl.portalTokenTtlMinnumber15tenantnonoTTL in minutes for portal tokens minted by the /session slash (1..1440).

ui #

REPL chrome preferences

pathtypedefaultscopesensitiverequiresRestartdescription
ui.personalityenum("concise" | "balanced" | "verbose")"balanced"tenantnonoAssistant response style: concise | balanced | verbose.
ui.statusline.formatenum("minimal" | "compact" | "detailed")"compact"tenantnonoStatus-line layout: minimal | compact | detailed.
ui.themeenum("auto" | "light" | "dark" | "high-contrast")"auto"tenantnonoREPL color theme: auto | light | dark | high-contrast.
ui.title.formatenum("session-id" | "tenant-session" | "model-tenant-session")"session-id"tenantnonoWindow-title format used by the sk REPL.

notifications #

sk REPL notification preferences

pathtypedefaultscopesensitiverequiresRestartdescription
notifications.inbox.retention_daysnumber30globalnonoDays a notification inbox task survives before the retention sweep deletes it.
notifications.push.enabledbooleanfalsetenantnonoOS push notifications for long-running execution completion.
notifications.push.quietHoursEndstring""tenantnonoQuiet-hours window end (HH:MM, local TZ). Empty disables the window.
notifications.push.quietHoursStartstring""tenantnonoQuiet-hours window start (HH:MM, local TZ). Empty disables the window.
notifications.push.thresholdSecnumber30tenantnonoMinimum elapsed turn seconds before a notification fires.

connectors #

Per-connector tunables. Each sub-section is owned by one connector template.

pathtypedefaultscopesensitiverequiresRestartdescription
connectors.http.max_response_bytesnumber104857600tenantnonoMax bytes read from a single HTTP/GraphQL connector response before it is rejected as response_too_large. OOM guard; generous default (100 MB).
connectors.mcp.per_server_manifest_byte_capnumber30000tenantnonoByte cap on one external MCP connector's serialized tool manifest; the heaviest tools are dropped first when exceeded
connectors.mcp.remote_tool_call_timeout_msnumber30000tenantnonoBounded timeout (ms) for one remote external MCP tools/call invocation
connectors.mcp.tools_list_max_pagesnumber5tenantnonoMax tools/list pages followed per external MCP handshake; a server paginating past this keeps only the pages read
connectors.web_scraper.authoring.extract_too_large_yellow_pctnumber30tenantnonoPast-run extract_too_large ratio (over last 20 runs) above which the gate Yellows.
connectors.web_scraper.authoring.red_sitemap_thresholdnumber100000tenantnonoSitemap entry count above which analyze_scrape_target refuses (Red).
connectors.web_scraper.authoring.yellow_sitemap_thresholdnumber10000tenantnonoSitemap entry count above which analyze_scrape_target returns Yellow.
connectors.web_scraper.optimization.min_runs_before_proposingnumber3tenantnonoMinimum recent runs before any candidate is emitted.
connectors.web_scraper.optimization.sample_sizenumber10tenantnonoNumber of recent runs the analyzer reads per recipe.
connectors.web_scraper.optimization.scan_cronstring"0 3 * * *"globalnonoCrontab for the per-tenant optimization scan (default daily 03:00).
connectors.web_scraper.optimization.trivial_markdown_bytesnumber512tenantnonoPages whose MarkdownOutput.bytes is below this count as trivial.
connectors.web_scraper.robots_cache.max_entriesnumber2000globalnonoLRU ceiling shared across tenants (keyed by tenant_id + origin).
connectors.web_scraper.robots_cache.ttl_msnumber3600000globalnonoTTL for the per-tenant robots.txt LRU.
connectors.web_scraper.runtime.default_wait_msnumber0tenantnonoFloor for between-page wait inside the crawl loop. Raised if robots.txt declares a higher Crawl-delay.
connectors.web_scraper.runtime.max_chars_markdownnumber100000tenantnonoPer-page markdown output cap (extract_too_large).
connectors.web_scraper.runtime.max_chars_readabilitynumber100000tenantnonoPer-page input cap into Readability (extract_too_large).
connectors.web_scraper.runtime.max_pagesnumber1000tenantnonoPer-run crawl cap. Hard ceiling 10 000 (crawl_max_pages_exceeded).
connectors.web_scraper.runtime.respect_robotsbooleantruetenantnonoSkip URLs that robots.txt disallows for the configured User-Agent.
connectors.web_scraper.runtime.user_agentstring""tenantnonoUser-Agent header on every fetch; passed to robots-parser matching. Empty means sk-web-scraper/<version> (+<server.public_base_url>/bot), or the project URL when no public base URL is set.

products #

Product settings keyed by product_id for product principals (oidc_bearer providers)

pathtypedefaultscopesensitiverequiresRestartdescription
productsjson—globalnonoProduct settings keyed by product_id for product principals (oidc_bearer providers)

Authentication providers #

auth.providers is one atomic, validated runtime setting available through Cockpit, HTTP, MCP, sk settings, and the canonical config file. Records use protocol: api_key or oidc; one API-key adapter and multiple named direct OIDC adapters may coexist. Provider ids must be unique, and every OIDC callback is /v1/identity/login/callback on server.public_base_url. A successful write is active for subsequent browser-login requests without an engine restart.

OIDC records are public clients using Authorization Code with PKCE. Runtime configuration intentionally has no client_secret field and rejects one if supplied; use an issuer that supports public clients with token_endpoint_auth_method=none. The environment is not an auth-provider source.

Configured labels are diagnostic metadata only. The common mcp-auth surface derives its two user actions from protocol and always presents Continue with SSO before Continue with API key. Discovery exposes the canonical labels SSO and API key; no provider-specific route or parallel configuration tree is accepted.

Auf dieser Seite

Datenschutzeinstellungen

Notwendige Einstellungen

Deine Datenschutzentscheidung wird auf deinem Gerät gespeichert. Formulare speichern zusätzlich Anfragekennung und Zeitpunkt für die Sitzung, ohne Formularinhalte. Sprache und Darstellung folgen Browser und System, ohne gespeicherte Präferenzen.

Analytics

Analytics ist auf dieser Website derzeit nicht verfügbar. Es wird kein Google-Analytics-Script geladen und keine Messung gesendet.

Datenschutzhinweise