Skip to main content
Glama

@arizeai/phoenix-mcp

Official
by Arize-ai
values.yaml20.3 kB
# Phoenix Helm Chart Values # This file contains configuration values for deploying Phoenix via Helm. # Each value corresponds to an environment variable described in https://arize.com/docs/phoenix/self-hosting/configuration. # Replica count # -- Number of Phoenix pod replicas replicaCount: 1 # Deployment strategy deployment: # -- Deployment strategy strategy: type: RollingUpdate rollingUpdate: maxUnavailable: "25%" maxSurge: "25%" # -- Tolerations, nodeSelector and affinity # For Pod scheduling strategy on the nodes tolerations: [] nodeSelector: {} affinity: {} # ADDONS # - Ingress # - Postgres ingress: # -- Annotations to add to the ingress resource annotations: {} # -- Path prefix for the Phoenix API apiPath: "/" # -- Enable ingress controller for external access enabled: true # -- Hostname for ingress host: "" # -- Labels to add to the ingress resource labels: {} # -- Ingress path type (Prefix, Exact, or ImplementationSpecific) pathType: "Prefix" tls: # -- Enable TLS/HTTPS for ingress enabled: false # PostgreSQL Configuration (using groundhog2k/postgres chart) # groundhog2k provides a simple, StatefulSet-based PostgreSQL deployment # without operators or complex RBAC requirements postgresql: # -- Enable PostgreSQL deployment. Set to false if you have your own postgres instance (e.g., RDS, CloudSQL) # When disabled, you must configure database.url or database.postgres settings to point to your external database # IMPORTANT: Cannot be enabled simultaneously with persistence.enabled=true (for SQLite) # Choose one persistence strategy: # - groundhog2k PostgreSQL: postgresql.enabled=true, persistence.enabled=false # - SQLite: postgresql.enabled=false, persistence.enabled=true # - External DB: postgresql.enabled=false, persistence.enabled=false, database.url configured enabled: true # PostgreSQL configuration (groundhog2k/postgres chart values) image: registry: "docker.io" repository: "postgres" tag: "16" # -- Security context for PostgreSQL container podSecurityContext: fsGroup: 999 supplementalGroups: - 999 securityContext: allowPrivilegeEscalation: false privileged: false readOnlyRootFilesystem: true runAsNonRoot: true runAsGroup: 999 runAsUser: 999 # -- Database settings settings: superuserPassword: value: "postgres" # -- User database configuration userDatabase: name: value: "phoenix" user: value: "phoenix" password: value: "phoenix" # -- Storage configuration storage: requestedSize: "20Gi" accessModes: - ReadWriteOnce # -- Service configuration service: type: ClusterIP port: 5432 # -- Resource limits resources: limits: cpu: 500m memory: 512Mi requests: cpu: 100m memory: 256Mi ## DEPRECATED postgres: # -- Docker image for PostgreSQL (DEPRECATED for new postgresql.image) image: "postgres:14.5" persistence: # -- Enable persistent storage for PostgreSQL data (DEPRECATED for new postgresql.primary.persistence) enabled: true # -- Size of the persistent volume for PostgreSQL (DEPRECATED for new postgresql.primary.persistence) size: "20Gi" # -- Kubernetes storage class for PostgreSQL volume (DEPRECATED for new postgresql.primary.persistence) storageClass: "standard" resources: limits: # -- CPU limit for PostgreSQL container (DEPRECATED for new postgresql) cpu: "500m" # -- Memory limit for PostgreSQL container (DEPRECATED for new postgresql) memory: "512Mi" requests: # -- CPU request for PostgreSQL container (DEPRECATED for new postgresql) cpu: "100m" # -- Memory request for PostgreSQL container (DEPRECATED for new postgresql) memory: "256Mi" server: # -- Annotations to add to the Phoenix service annotations: {} # -- Enable Prometheus metrics endpoint on port 9090 enablePrometheus: false # -- Port for OpenTelemetry gRPC collector (PHOENIX_GRPC_PORT) grpcPort: 4317 # -- Host IP to bind Phoenix server (PHOENIX_HOST) host: "::" # -- Root path prefix for Phoenix UI and API (PHOENIX_HOST_ROOT_PATH) hostRootPath: "" # -- Labels to add to the Phoenix service labels: {} # -- Port for Phoenix web UI and HTTP API (PHOENIX_PORT) port: 6006 # -- External root URL for Phoenix (PHOENIX_ROOT_URL) rootUrl: "" # -- The working directory for saving, loading, and exporting data (PHOENIX_WORKING_DIR) # Set to empty string to use container's $HOME directory (not recommended for persistence) # Use `/data` as a default for volume mount - enables proper permissions in both strict and normal security contexts # IMPORTANT: When persistence.enabled=true, this directory must be writable by the Phoenix container (UID 65532) # The fsGroup setting in securityContext.pod ensures proper permissions when enabled workingDir: "/data" # -- Allows calls to external resources, like Google Fonts in the web interface (PHOENIX_ALLOW_EXTERNAL_RESOURCES) # Set to false in air-gapped environments to prevent external requests that can cause UI loading delays allowExternalResources: true # Service configuration service: # -- Service type for Phoenix service (ClusterIP, NodePort, LoadBalancer, or ExternalName) # Use ClusterIP for service mesh deployments (Istio, Linkerd, etc.) # Use NodePort for direct external access without ingress type: "NodePort" # -- Annotations to add to the Phoenix service (useful for service mesh configurations) annotations: {} # For Istio service mesh, you might want: # service.istio.io/canonical-name: phoenix # service.istio.io/canonical-revision: stable # -- Labels to add to the Phoenix service labels: {} # For service mesh deployments, you might want: # app: phoenix # version: stable # Persistence configuration for Phoenix home directory persistence: # -- Enable persistent storage for Phoenix home directory # When enabled, Phoenix uses SQLite for local storage stored in the persistent volume # IMPORTANT: Cannot be enabled simultaneously with postgresql.enabled=true # NOTE: This setting is ignored when database.url="sqlite:///:memory:" (in-memory database) # Choose one persistence strategy: # - SQLite: persistence.enabled=true, postgresql.enabled=false # - SQLite In-memory: persistence.inMemory=true , postgresql.enabled=false # - groundhog2k PostgreSQL: persistence.enabled=false, postgresql.enabled=true # - External DB: persistence.enabled=false, postgresql.enabled=false, database.url configured enabled: false # -- Enable in-memory configuration of sqlite strategy inMemory: false # -- Kubernetes storage class for Phoenix home volume storageClass: "" # -- Access modes for the persistent volume accessModes: - ReadWriteOnce # -- Size of the persistent volume for Phoenix home directory size: "20Gi" # -- Annotations to add to the PVC annotations: {} # -- Labels to add to the PVC labels: {} # Database configuration # IMPORTANT: Choose ONE persistence strategy to avoid conflicts: # # Strategy 1 - SQLite with persistent storage (for development/single-node): # 1. Set persistence.enabled=true to enable persistent storage # 2. Set postgresql.enabled=false to disable PostgreSQL # 3. Leave database.url empty (Phoenix will automatically use SQLite in the persistent volume) # NOTE: SQLite database will be created at: ${PHOENIX_WORKING_DIR}/phoenix.db # # Strategy 2 - groundhog2k PostgreSQL (for production with managed state): # 1. Set persistence.enabled=false # 2. Set postgresql.enabled=true (default) # 3. PostgreSQL data will be stored in StatefulSet managed persistent volumes # # Strategy 3 - External database (for production with external managed database): # 1. Set persistence.enabled=false # 2. Set postgresql.enabled=false to disable the built-in PostgreSQL # 3. Set database.url with full connection string, OR configure database.postgres settings # 4. Ensure the external database is accessible from the cluster # # Strategy 4 - SQLite In-memory (for demos/testing only - DATA WILL BE LOST ON RESTART): # Set persistence.inMemory=true, postgresql.enabled=false # database: # -- Storage allocation in GiB for the database persistent volume allocatedStorageGiB: 20 # -- Default retention policy for traces in days (PHOENIX_DEFAULT_RETENTION_POLICY_DAYS) # Set to 0 to disable automatic trace cleanup. When set to a positive value, # traces older than this many days will be automatically removed from the database. defaultRetentionPolicyDays: 0 postgres: # -- Name of the PostgreSQL database (PHOENIX_POSTGRES_DB) db: "phoenix" # -- Postgres Host (PHOENIX_POSTGRES_HOST) # Default points to the groundhog2k PostgreSQL service when postgresql.enabled=true # IMPORTANT: Only change this when using external PostgreSQL (postgresql.enabled=false, database.url empty) # Examples: "localhost", "postgres.example.com", "your-rds-endpoint.region.rds.amazonaws.com" host: "" # -- PostgreSQL password (should match auth.secret."PHOENIX_POSTGRES_PASSWORD", PHOENIX_POSTGRES_PASSWORD) password: "postgres" # -- Port number for PostgreSQL connections (PHOENIX_POSTGRES_PORT) port: 5432 # -- PostgreSQL schema to use (PHOENIX_SQL_DATABASE_SCHEMA) schema: "" # -- PostgreSQL username (PHOENIX_POSTGRES_USER) user: "postgres" # -- Full database connection URL (overrides postgres settings if provided) # IMPORTANT: Only set this for external databases (Strategy 3) # - When using SQLite (Strategy 1): MUST be empty - SQLite auto-uses persistent volume # - When using built-in PostgreSQL (Strategy 2): MUST be empty - auto-configured # - When using external database (Strategy 3): MUST be configured with full connection string # # Examples for external databases: # PostgreSQL: "postgresql://username:password@your-rds-endpoint.region.rds.amazonaws.com:5432/phoenix" # SQLite: "sqlite:///path/to/database.db" (only for external SQLite files, not recommended) # # WARNING: Setting this will override all database.postgres.* settings and disable built-in PostgreSQL validation url: "" # Authentication and security auth: # -- Duration in minutes before access tokens expire and require renewal (PHOENIX_ACCESS_TOKEN_EXPIRY_MINUTES) accessTokenExpiryMinutes: 60 # -- List of allowed CORS origins for cross-origin requests to the Phoenix API (PHOENIX_ALLOWED_ORIGINS) allowedOrigins: [] # -- List of trusted origins for CSRF protection to prevent cross-site request forgery attacks (PHOENIX_CSRF_TRUSTED_ORIGINS) csrfTrustedOrigins: [] # -- Default password for the admin user on initial setup (PHOENIX_DEFAULT_ADMIN_INITIAL_PASSWORD) defaultAdminPassword: "admin" # -- Enable authentication and authorization for Phoenix (PHOENIX_ENABLE_AUTH) enableAuth: true # -- Name of the Kubernetes secret containing authentication credentials name: "phoenix-secret" # -- Duration in minutes before password reset tokens expire (PHOENIX_PASSWORD_RESET_TOKEN_EXPIRY_MINUTES) passwordResetTokenExpiryMinutes: 60 # -- Duration in minutes before refresh tokens expire (PHOENIX_REFRESH_TOKEN_EXPIRY_MINUTES) refreshTokenExpiryMinutes: 43200 secret: # -- Environment variable name for the main Phoenix secret key used for encryption - key: "PHOENIX_SECRET" # -- Autogenerated if empty value: "" # -- Environment variable name for the admin secret key - key: "PHOENIX_ADMIN_SECRET" # -- Autogenerated if empty value: "" # -- Environment variable name for the PostgreSQL password - key: "PHOENIX_POSTGRES_PASSWORD" # -- If using postgres in this chart, password must match with database.postgres.password value: "postgres" # -- Environment variable name for the SMTP password - key: "PHOENIX_SMTP_PASSWORD" # -- Autogenerated if empty value: "" # -- Environment variable name for the default admin password - key: "PHOENIX_DEFAULT_ADMIN_INITIAL_PASSWORD" # -- Default password for the admin user on initial setup, uses defaultAdminPassword if empty value: "" # -- Enable secure cookies (should be true when using HTTPS) useSecureCookies: false # OAuth2/OIDC Identity Provider Configuration # Configure OAuth2 identity providers for authentication oauth2: # -- Enable OAuth2/OIDC authentication enabled: false # -- List of OAuth2 identity providers to configure # Each provider requires client_id, client_secret, and oidc_config_url # Optional settings include display_name, allow_sign_up, and auto_login providers: # Example Google configuration: # google: # client_id: "your-google-client-id" # client_secret: "your-google-client-secret" # oidc_config_url: "https://accounts.google.com/.well-known/openid-configuration" # display_name: "Google" # Optional, defaults to provider name # allow_sign_up: true # Optional, defaults to true # auto_login: false # Optional, defaults to false # Example AWS Cognito configuration: # aws_cognito: # client_id: "your-aws-cognito-client-id" # client_secret: "your-aws-cognito-client-secret" # oidc_config_url: "https://cognito-idp.us-east-1.amazonaws.com/us-east-1_xxxxx/.well-known/openid-configuration" # display_name: "AWS Cognito" # allow_sign_up: true # auto_login: false # Example Microsoft Entra ID configuration: # microsoft_entra_id: # client_id: "your-microsoft-entra-id-client-id" # client_secret: "your-microsoft-entra-id-client-secret" # oidc_config_url: "https://login.microsoftonline.com/your-tenant-id/v2.0/.well-known/openid-configuration" # display_name: "Microsoft Entra ID" # allow_sign_up: true # auto_login: false # Example Keycloak configuration: # keycloak: # client_id: "phoenix" # client_secret: "your-keycloak-client-secret" # oidc_config_url: "https://your-keycloak-server/realms/your-realm/.well-known/openid-configuration" # display_name: "Keycloak" # allow_sign_up: true # auto_login: false # SMTP (email) settings smtp: # -- SMTP server hostname for sending emails (PHOENIX_SMTP_HOSTNAME) hostname: "" # -- Email address to use as sender for system emails (PHOENIX_SMTP_MAIL_FROM) mailFrom: "noreply@arize.com" # -- SMTP authentication password (PHOENIX_SMTP_PASSWORD) password: "" # -- SMTP server port (typically 587 for TLS, PHOENIX_SMTP_PORT) port: 587 # -- SMTP authentication username (PHOENIX_SMTP_USERNAME) username: "" # -- Validate SMTP server TLS certificates (PHOENIX_SMTP_VALIDATE_CERTS) validateCerts: true # TLS/SSL settings # To enable TLS, set enabled to true and provide cert/key files # For mTLS, also provide caFile and set verifyClient to true tls: # -- Path to CA certificate file for TLS (PHOENIX_TLS_CA_FILE) caFile: "" # -- Path to TLS certificate file (PHOENIX_TLS_CERT_FILE) certFile: "" # -- Enable TLS for Phoenix server (PHOENIX_TLS_ENABLED) enabled: false # -- Enable TLS for gRPC endpoints (PHOENIX_TLS_ENABLED_FOR_GRPC) enabledForGrpc: false # -- Enable TLS for HTTP endpoints (PHOENIX_TLS_ENABLED_FOR_HTTP) enabledForHttp: false # -- Path to TLS private key file (PHOENIX_TLS_KEY_FILE) keyFile: "" # -- Password for encrypted TLS private key (PHOENIX_TLS_KEY_FILE_PASSWORD) keyFilePassword: "" # -- Enable client certificate verification for mutual TLS (PHOENIX_TLS_VERIFY_CLIENT) verifyClient: false # Logging logging: # -- Database logging level (debug, info, warning, error) PHOENIX_DB_LOGGING_LEVEL dbLevel: "warning" # -- Application logging level (debug, info, warning, error) PHOENIX_LOGGING_LEVEL level: "info" # -- Enable logging of database migration operations (PHOENIX_LOG_MIGRATIONS) logMigrations: true # -- Logging mode configuration - PHOENIX_LOGGING_MODE (default|structured) mode: "default" # Instrumentation instrumentation: # -- OpenTelemetry collector gRPC endpoint for sending traces (PHOENIX_SERVER_INSTRUMENTATION_OTLP_TRACE_COLLECTOR_GRPC_ENDPOINT) otlpTraceCollectorGrpcEndpoint: "" # -- OpenTelemetry collector HTTP endpoint for sending traces (PHOENIX_SERVER_INSTRUMENTATION_OTLP_TRACE_COLLECTOR_HTTP_ENDPOINT) otlpTraceCollectorHttpEndpoint: "" image: # -- Image pull policy for Phoenix container (Always, IfNotPresent, or Never) pullPolicy: "IfNotPresent" # -- Docker image registry for Phoenix registry: "docker.io" # -- Docker image repository for Phoenix repository: "arizephoenix/phoenix" # -- Docker image tag/version to deploy tag: version-12.6.0-nonroot # -- Resource configuration resources: limits: cpu: "1000m" memory: "2Gi" requests: cpu: "500m" memory: "1Gi" # -- Security context configuration securityContext: # -- Pod-level security context settings pod: enabled: false fsGroup: 65532 fsGroupChangePolicy: "OnRootMismatch" runAsNonRoot: true runAsUser: 65532 runAsGroup: 65532 seLinuxOptions: {} seccompProfile: type: RuntimeDefault supplementalGroups: [] sysctls: [] windowsOptions: {} # -- Container-level security context settings container: enabled: false allowPrivilegeEscalation: false capabilities: add: [] drop: - ALL privileged: false procMount: "Default" readOnlyRootFilesystem: true runAsNonRoot: true runAsUser: 65532 runAsGroup: 65532 seLinuxOptions: {} seccompProfile: type: RuntimeDefault windowsOptions: {} # -- Extra Volumes configuration extraVolumes: [] # -- example #- name: config-volume # configMap: # name: my-app-config #- name: cache-volume # emptyDir: {} # -- Extra Volume Mounts extraVolumeMounts: [] # -- example #- name: config-volume # mountPath: /etc/config # readOnly: true #- name: cache-volume # mountPath: /app/cache # -- ServiceAccount configuration serviceAccount: # -- Create a ServiceAccount for Phoenix create: false # -- Name of the ServiceAccount to use. If not set and create is true, a name is generated using the release name. If not set and create is false, uses default ServiceAccount name: "" # -- Annotations to add to the ServiceAccount annotations: {} # -- Image pull secrets for private container registries # -- List of Kubernetes secrets to use for pulling images from private registries imagePullSecrets: [] # -- Health check configuration healthChecks: # -- Liveness probe configuration livenessProbe: # -- Initial delay before liveness probe starts initialDelaySeconds: 0 # -- How often to perform the liveness probe periodSeconds: 10 # -- Timeout for liveness probe timeoutSeconds: 5 # -- Number of failures before container is restarted failureThreshold: 3 # -- Number of consecutive successes for the probe to be considered successful successThreshold: 1 # -- Readiness probe configuration readinessProbe: # -- Initial delay before readiness probe starts initialDelaySeconds: 0 # -- How often to perform the readiness probe periodSeconds: 5 # -- Timeout for readiness probe timeoutSeconds: 3 # -- Number of failures before pod is marked unready failureThreshold: 3 # -- Number of consecutive successes for the probe to be considered successful successThreshold: 1 # -- Startup probe configuration startupProbe: # -- Enable startup probe enabled: true # -- Initial delay before startup probe starts initialDelaySeconds: 1 # -- How often to perform the startup probe periodSeconds: 1 # -- Timeout for startup probe timeoutSeconds: 1 # -- Number of failures before container is considered failed to start failureThreshold: 30 # -- Number of consecutive successes for the probe to be considered successful successThreshold: 1

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Arize-ai/phoenix'

If you have feedback or need assistance with the MCP directory API, please join our Discord server