Context
The update_web_service and update_cron_job tools update a service's compute plan via PATCH /v1/services/{id}. The Render API records the new plan but does not apply it until the next successful deploy, so the tools trigger a deploy afterward.
Problem
The follow-up deploy currently uses the default build_and_deploy mode (a full rebuild from source). For a plan-only change, the Render dashboard instead uses deploy_only, which redeploys the last successful build without rebuilding — faster and lower-risk for what is purely an instance-type change.
The public deploy API already supports this: POST /v1/services/{id}/deploys accepts a deployMode field (deploy_only | build_and_deploy, per the DeployMode schema). However, our generated client (pkg/client, generated from renderinc/public-api-schema via oapi-codegen) predates that field — CreateDeployJSONBody only exposes clearCache, commitId, and imageUrl. So deploy_only is currently unreachable from the MCP server.
Proposed work
- Regenerate
pkg/client from the current public-api-schema so CreateDeployJSONBody includes deployMode.
- Add a way to pass
deployMode: deploy_only through Repo.DeployService (e.g. an optional param or a dedicated method).
- Have the compute-plan update tools trigger the follow-up deploy with
deploy_only.
Note: per the schema, deploy_only cannot be combined with commitId, imageUrl, or clearCache.
Acceptance criteria
- Changing a web service or cron job plan via MCP triggers a
deploy_only deploy (no rebuild).
- The generated client is updated via the normal regeneration process (no manual edits to generated files).
Context
The
update_web_serviceandupdate_cron_jobtools update a service's compute plan viaPATCH /v1/services/{id}. The Render API records the new plan but does not apply it until the next successful deploy, so the tools trigger a deploy afterward.Problem
The follow-up deploy currently uses the default
build_and_deploymode (a full rebuild from source). For a plan-only change, the Render dashboard instead usesdeploy_only, which redeploys the last successful build without rebuilding — faster and lower-risk for what is purely an instance-type change.The public deploy API already supports this:
POST /v1/services/{id}/deploysaccepts adeployModefield (deploy_only|build_and_deploy, per theDeployModeschema). However, our generated client (pkg/client, generated from renderinc/public-api-schema via oapi-codegen) predates that field —CreateDeployJSONBodyonly exposesclearCache,commitId, andimageUrl. Sodeploy_onlyis currently unreachable from the MCP server.Proposed work
pkg/clientfrom the current public-api-schema soCreateDeployJSONBodyincludesdeployMode.deployMode: deploy_onlythroughRepo.DeployService(e.g. an optional param or a dedicated method).deploy_only.Note: per the schema,
deploy_onlycannot be combined withcommitId,imageUrl, orclearCache.Acceptance criteria
deploy_onlydeploy (no rebuild).