Skip to main content

Mcp Deployment Config

McpDeploymentConfig

Per-environment runtime configuration for an MCP server.

Provides environment-specific overrides — version, scaling, container spec, ports, and request/shutdown timeouts — layered on top of a shared McpConfig manifest so one server can be tuned per environment (e.g. staging vs production) when deployed to Cloud Run. This is the MCP equivalent of DeploymentConfig: the same parent relationship to Project and the same per-environment versioning pattern, with fields specific to MCP server deployments.

PropertyTypeDescription
apiVersionstringAPI schema version. Pins the manifest to a specific schema contract for backward-compatibility. Must be the constant lowops.manifests.v1.
kindstringResource kind discriminator. Identifies this document as an McpDeploymentConfig so the engine routes it to the correct defaulter, validator, computer, and executor. Must be the constant McpDeploymentConfig.
metadatamapClassification labels and graph linkage. Free-form key/value pairs used to classify the manifest. Certain reserved keys (e.g. project, environment) are read by the engine to resolve this manifest's identity, its parent Project, and the McpConfig it deploys.
specSpecDesired MCP server deployment configuration. The authoritative, user-authored specification for this MCP server deployment. See Spec.

PortsEntry

PropertyTypeDescription
keyint64
valuestring

Spec

Per-environment deployment overrides.

Environment-specific configuration for the MCP server deployment: the container image version to roll out, autoscaling bounds, container overrides, exposed ports, and request/shutdown timeouts. The linked McpConfig is matched by name within the parent Project.

PropertyTypeDescription
descriptionstringHuman-readable description of this deployment configuration. Optional free text describing the role of this config. Propagated onto the provisioned Cloud Run service and the Agent Registry entry, and used as context by AI assistants when reasoning about the manifest.
versionstringContainer image version tag. Required. The version tag pushed during CI (e.g. 0.1.0, 1.2.3-rc1) identifying which built image to deploy from the source registry. Applied as the image tag on the Cloud Run container.
scalingScalingConfigAutoscaling bounds for this deployment. See ScalingConfig. Sets the min/max instance count on the Cloud Run service; when omitted the executor applies defaults of 0 (min) and 3 (max).
containerContainerSpecMain container overrides. Environment-specific overrides for the MCP server container: command, args, environment variables, and resource limits/requests. See ContainerSpec. Command, args, and resource limits are applied to the Cloud Run container, and the container's environment variables are merged into the resolved runtime environment.
portslist of PortsEntryExposed ports and their protocols. Map of port number to protocol (e.g. http, grpc). Each entry produces a named container port on the Cloud Run service so traffic can reach the server on that port.
healthHealthHealth probe settings for this deployment. NOT YET IMPLEMENTED. Declared in the schema but currently ignored by the engine (no consumer reads it); the Cloud Run service is deployed without custom health probes. See Health. Intended future behavior: derive Cloud Run startup and liveness probes from these settings.
volumeslist of VolumesEntryVolume mounts for the container. NOT YET IMPLEMENTED. Declared in the schema but currently ignored by the engine (no consumer reads it); the executor mounts only a fixed in-memory /tmp volume. Intended future behavior: mount each in-container path to its volume source (see ContainerVolumeMount).
requestTimeoutint64Per-request timeout, in seconds. Maximum time a single request may run before being terminated; maps to the Cloud Run RevisionTemplate.timeout. Only applied when greater than 0; when unset the Cloud Run default applies (e.g. 300s). Must be between 0 and 3600.
terminationGracePeriodSecondsint64Graceful shutdown period, in seconds. Time to wait after SIGTERM before forcibly killing the container; maps to the Cloud Run service-level termination grace period. Only applied when greater than 0; when unset the platform default applies. Must be between 0 and 3600.

Health

Container health probes.

Startup and liveness probe definitions for the MCP server container.

PropertyTypeDescription
startupHostHealthConfigNOT YET IMPLEMENTED. Declared to configure the container's startup probe (see HostHealthConfig) but currently ignored by the executor, which does not set any startup probe on the Cloud Run service.
livenessHostHealthConfigNOT YET IMPLEMENTED. Declared to configure the container's liveness probe (see HostHealthConfig) but currently ignored by the executor, which does not set any liveness probe on the Cloud Run service.

PortsEntry

PropertyTypeDescription
keyint64
valuestring

ScalingConfig

Instance autoscaling bounds.

Lower and upper limits on the number of running instances, balancing latency against cost. Applied to the Cloud Run service's min/max instance settings.

PropertyTypeDescription
minint64Minimum number of instances to keep running. Floor for the Cloud Run autoscaler. When scaling is unset the platform default of 0 (scale to zero) applies.
maxint64Maximum number of instances to scale out to. Ceiling for the Cloud Run autoscaler. When scaling is unset the platform default of 3 applies.

VolumesEntry

PropertyTypeDescription
keystring
valueContainerVolumeMount

ContainerSpec

Core configuration block for defining a runtime container.

Overrides default container behavior from the base image, defining entrypoints, variables, and compute constraints. Translates directly to elements like resources and env within google_cloud_run_v2_service or Kubernetes specifications.

PropertyTypeDescription
enabledboolWhether this container is enabled. NOT YET IMPLEMENTED. Declared in the schema but currently ignored by the engine (no consumer reads it). Intended future behavior: allow toggling this container off without removing its definition.
commandlist of stringContainer entrypoint. Overrides the image entrypoint (maps to the container command). Applied to the provisioned Cloud Run service or Kubernetes container.
argslist of stringContainer arguments. Arguments passed to the entrypoint (maps to the container args).
envlist of EnvVariableDefinitionStatic environment variables. Literal name/value environment variables merged into the container's computed environment alongside variables injected via secrets and access control.
uidstringProcess user ID. NOT YET IMPLEMENTED. Declared in the schema but currently ignored by the engine (no consumer reads it). Intended future behavior: run the container process as this UID.
gidstringProcess group ID. NOT YET IMPLEMENTED. Declared in the schema but currently ignored by the engine (no consumer reads it). Intended future behavior: run the container process as this GID.
resourcesContainerResourcesCompute resource requests and limits. CPU/memory requests and limits applied to the container on the provisioned Cloud Run service or Kubernetes pod. See ContainerResources.

HostHealthConfig

Configuration for uptime and health checks on host endpoints.

Translates into google_compute_health_check and backend service parameters, driving routing decisions within GCP load balancers.

PropertyTypeDescription
protocolstringProbe protocol. The protocol the health check uses to reach the endpoint: one of http, http2, https, grpc, or tcp. Drives both the container startup/liveness probes (Cloud Run, GKE) and the compute backend health check for VMs.
portint64Probe port. The TCP port the health check targets on the workload.
checkIntervalSecint64Check interval, in seconds. How often the health check runs. Defaulted to 30 by the ingress defaulter when the probe is generated automatically.
timeoutSecint64Probe timeout, in seconds. How long to wait for a single probe response before treating it as a failure. The ingress defaulter sets this to 10 when generating probes automatically.
healthyThresholdint64Healthy threshold. The number of consecutive successful probes required to mark the endpoint healthy. Defaulted to 1 by the ingress defaulter.
unhealthyThresholdint64Unhealthy threshold. The number of consecutive failed probes required to mark the endpoint unhealthy. Defaulted to 2 by the ingress defaulter.
enableLogsboolEnable health-check logging. NOT YET IMPLEMENTED. Declared in the schema but currently ignored by the engine (no consumer reads it). Intended future behavior: enable request/response logging on the generated google_compute_health_check.
pathstringProbe request path. The HTTP request path for HTTP-family probes. Defaults to /. Used as the request path on the container probe and the compute backend health check.

ContainerVolumeMount

Maps generated files to a container volume.

Specifies the layout of files to be mounted, typically corresponding to config maps or secrets in K8s, or files written in Cloud Run.

PropertyTypeDescription
fileslist of FilesEntryFiles to materialize in the volume. Map of relative file path to its synthesized contents; each entry becomes a file written into the mounted volume. See VolumeMountFile.

FilesEntry

PropertyTypeDescription
keystring
valueVolumeMountFile

ContainerResources

Defines compute requirements and constraints for a container.

Maps to the resource requests and limits in Kubernetes Pods or Cloud Run service configurations to ensure adequate scaling and scheduling semantics.

PropertyTypeDescription
requestsContainerResourceThe minimum CPU/memory guaranteed to the container (maps to resource requests).
limitsContainerResourceThe maximum CPU/memory the container may consume (maps to resource limits).

EnvVariableDefinition

Defines a static environment variable to be injected.

Appended to the environment variable array of the corresponding compute resource container definition.

PropertyTypeDescription
namestringThe environment variable name.
valuestringThe literal value assigned to the environment variable.

ContainerResource

Single resource boundary definition.

Translates to either requests or limits for CPU or memory within a container specification.

PropertyTypeDescription
cpustringCPU quantity for this boundary, in Kubernetes/Cloud Run notation (e.g. "500m", "1", "2").
memorystringMemory quantity for this boundary, in Kubernetes/Cloud Run notation (e.g. "256Mi", "1Gi").

VolumeMountFile

Defines a synthesized file content within a volume mount.

Handled by startup scripts to create physical files on disk with the necessary text or binary payloads.

PropertyTypeDescription
mimeTypestringMIME type of the file. Content type recorded for the synthesized file; defaulted by the deployment config computer when left empty. Carried into the computed volume-mount file entry.
contentstringFile contents. The literal payload written to the file at the mount path. Interpreted as base64 when base64_encoded is set, otherwise as plain text.
base64EncodedboolContent is base64-encoded. When true, content is decoded from base64 before being written, allowing binary files. Carried into the computed volume-mount file entry.