apiVersion: v1 kind: ConfigMap metadata: name: librechat-app-config namespace: librechat data: librechat.yaml: | version: 1.3.13 mcpSettings: allowedDomains: - "https://catalog-dev.sttlab.local" - "https://customers-dev.sttlab.local" - "https://payments-dev.sttlab.local" - "https://sales-dev.sttlab.local" - "https://workforce-dev.sttlab.local" - "https://keycloak.sttlab.local" mcpServers: catalog-mcp: type: streamable-http url: https://catalog-dev.sttlab.local/catalog-mcp oauth: authorization_url: https://keycloak.sttlab.local/realms/classic-models/protocol/openid-connect/auth token_url: https://keycloak.sttlab.local/realms/classic-models/protocol/openid-connect/token client_id: librechat client_secret: '${LIBRECHAT_OIDC_CLIENT_SECRET}' redirect_uri: https://librechat.sttlab.local/api/mcp/catalog-mcp/oauth/callback scope: 'openid mcp-catalog-audience token-exchange-broker-audience' grant_types_supported: ['authorization_code', 'refresh_token'] token_endpoint_auth_methods_supported: ['client_secret_post'] customers-mcp: type: streamable-http url: https://customers-dev.sttlab.local/customers-mcp oauth: authorization_url: https://keycloak.sttlab.local/realms/classic-models/protocol/openid-connect/auth token_url: https://keycloak.sttlab.local/realms/classic-models/protocol/openid-connect/token client_id: librechat client_secret: '${LIBRECHAT_OIDC_CLIENT_SECRET}' redirect_uri: https://librechat.sttlab.local/api/mcp/customers-mcp/oauth/callback scope: 'openid mcp-customers-audience token-exchange-broker-audience' grant_types_supported: ['authorization_code', 'refresh_token'] token_endpoint_auth_methods_supported: ['client_secret_post'] payments-mcp: type: streamable-http url: https://payments-dev.sttlab.local/payments-mcp oauth: authorization_url: https://keycloak.sttlab.local/realms/classic-models/protocol/openid-connect/auth token_url: https://keycloak.sttlab.local/realms/classic-models/protocol/openid-connect/token client_id: librechat client_secret: '${LIBRECHAT_OIDC_CLIENT_SECRET}' redirect_uri: https://librechat.sttlab.local/api/mcp/payments-mcp/oauth/callback scope: 'openid mcp-payments-audience token-exchange-broker-audience' grant_types_supported: ['authorization_code', 'refresh_token'] token_endpoint_auth_methods_supported: ['client_secret_post'] sales-mcp: type: streamable-http url: https://sales-dev.sttlab.local/sales-mcp oauth: authorization_url: https://keycloak.sttlab.local/realms/classic-models/protocol/openid-connect/auth token_url: https://keycloak.sttlab.local/realms/classic-models/protocol/openid-connect/token client_id: librechat client_secret: '${LIBRECHAT_OIDC_CLIENT_SECRET}' redirect_uri: https://librechat.sttlab.local/api/mcp/sales-mcp/oauth/callback scope: 'openid mcp-sales-audience token-exchange-broker-audience' grant_types_supported: ['authorization_code', 'refresh_token'] token_endpoint_auth_methods_supported: ['client_secret_post'] workforce-mcp: type: streamable-http url: https://workforce-dev.sttlab.local/workforce-mcp oauth: authorization_url: https://keycloak.sttlab.local/realms/classic-models/protocol/openid-connect/auth token_url: https://keycloak.sttlab.local/realms/classic-models/protocol/openid-connect/token client_id: librechat client_secret: '${LIBRECHAT_OIDC_CLIENT_SECRET}' redirect_uri: https://librechat.sttlab.local/api/mcp/workforce-mcp/oauth/callback scope: 'openid mcp-workforce-audience token-exchange-broker-audience' grant_types_supported: ['authorization_code', 'refresh_token'] token_endpoint_auth_methods_supported: ['client_secret_post'] endpoints: custom: # kong-v2's platform-llm proxy (not the old kube/llms/openrouter lab) # — key-auth, same shared-key limitation as before (LibreChat's # custom endpoints don't support OAuth/OIDC on this outbound leg). # baseURL is `/llm/v1`, not the full path: LibreChat appends # `/chat/completions` itself. - name: 'OpenRouter' apiKey: '${PLATFORM_LLM_LIBRECHAT_APIKEY}' baseURL: 'https://llm-dev.sttlab.local/llm/v1' headers: apikey: '${PLATFORM_LLM_LIBRECHAT_APIKEY}' models: default: - 'google/gemini-3.7-flash' - 'anthropic/claude-sonnet-5' - 'openai/gpt-5.6-luna' - 'deepseek/deepseek-v4-flash' - 'openai/gpt-oss-120b' - 'mistralai/mistral-nemo' fetch: false titleConvo: true titleModel: 'google/gemini-3.7-flash' modelDisplayLabel: 'OpenRouter'