Tool reference¶
ray-mcp exposes 19 tools across three permission tiers. This reference is generated directly from the server's tool schemas.
| Tool | Tier | Description |
|---|---|---|
ray_capabilities |
read | Report ray-mcp server version, bound kubeconfig context, default namespace, enabled tool tiers, and the CI-tested KubeRay version range |
ray_cluster_create |
write | Create a RayCluster from curated params (rayVersion, image, head/worker resources, worker groups, autoscaling) with an optional rawSpec escape hatch merged over them |
ray_cluster_delete |
destructive | Delete a RayCluster (two-step confirmed): call WITHOUT confirm to preview and receive a confirmation fingerprint, then re-call with confirm= |
ray_cluster_events |
read | Recent, bounded Kubernetes events for a RayCluster — operator/reconcile events on the cluster object merged with scheduler/kubelet events on its pods (FailedScheduling, ErrImagePull, OOMKilled, |
ray_cluster_get |
read | Get one RayCluster's distilled status (phase, ready/desired workers, age, health, head service, dashboard URL) |
ray_cluster_list |
read | List RayClusters as compact rows (name, namespace, phase, ready/desired workers, age, 1-line health), capped and paginated via an opaque continue token |
ray_cluster_scale |
write | Scale a RayCluster worker group: set minReplicas/maxReplicas (autoscaler bounds) and/or replicas (desired count) |
ray_cluster_update |
write | Update an existing RayCluster's image, rayVersion, autoscaling toggle, or labels/annotations via Server-Side Apply (read-modify-apply of the live object, so unrelated fields are preserved) |
ray_job_delete |
write | Delete a RayJob |
ray_job_get |
read | Get a RayJob's distilled, cross-plane status: the KubeRay CRD lifecycle fused with the LIVE Ray job status dialed from the dashboard once the job is scheduled |
ray_job_list |
read | List RayJobs as compact rows (name, namespace, deployment status, Ray job status, age, 1-line health), capped and paginated via an opaque continue token |
ray_job_logs |
read | Fetch a bounded tail of a RayJob's driver logs from the Ray dashboard (most recent output, line- and byte-capped — never the full buffer) |
ray_job_submit |
write | Submit a RayJob (non-blocking) against EXACTLY ONE cluster target: existingCluster (run on a running RayCluster) XOR clusterSpec (create an ephemeral cluster for the job, torn down on finish by default — pass shutdownAfterJobFinishes=false to keep it) |
ray_job_wait |
read | Wait (bounded, ≤30s) for a RayJob to reach a condition: 'running' (default — started executing, or already finished) answers 'did it start or is it stuck Pending?'; 'terminal' waits for succeeded/failed/stopped |
ray_service_delete |
destructive | Delete a RayService (two-step confirmed): call WITHOUT confirm to preview and receive a confirmation fingerprint, then re-call with confirm= |
ray_service_deploy |
write | Deploy a RayService from curated params (serveConfigV2, rayVersion, image, head/worker resources, worker groups, autoscaling) with an optional rawSpec escape hatch merged over them |
ray_service_get |
read | Get one RayService's distilled status (serve status, healthy serve endpoints, rollout phase, age, health) |
ray_service_list |
read | List RayServices as compact rows (name, namespace, serve status, healthy serve endpoints, age, 1-line health), capped and paginated via an opaque continue token |
ray_service_update |
write | Update an existing RayService's serveConfigV2, image, rayVersion, autoscaling, or labels/annotations via Server-Side Apply (read-modify-apply of the live object) |
See the Safety tiers page for how the tiers are gated.