@runpod/mcp-server
MCP server for interacting with Runpod API
Versions
No versions found.
Tools 53
test-client list-pods List your pods (running and stopped) with optional filters — compute type, GPU type, data center, name — plus machine/network-volume expansion. Paginated via limit/cursor.
get-pod Get full details for one pod by id, optionally expanding machine and attached network-volume info.
create-pod Create a new GPU/CPU pod on Runpod. Pass gpuTypeIds for a GPU pod, or computeType:
update-pod Update a pod
start-pod Start a stopped pod (resumes the same pod and its billing).
stop-pod Stop a running pod. The pod and its disk persist; GPU billing stops.
restart-pod Restart a running pod (single PodAction call). v2-only — on the v1 API returns a 501 notice (stop then start the pod instead).
stream-pod-logs Fetch a bounded snapshot of a pod
delete-pod Permanently delete a pod and its data. This cannot be undone.
run-endpoint Submit an asynchronous job to a Serverless endpoint. Returns a job ID immediately — use get-job-status to poll for results. Async results are available for 30 minutes after completion.
get-job-status Check the status of an asynchronous Serverless job. Returns the current status and output when complete. Job statuses: IN_QUEUE, IN_PROGRESS, COMPLETED, FAILED, CANCELLED, TIMED_OUT. IMPORTANT: a job stuck IN_QUEUE does not necessarily mean a capacity shortage — a worker may have spun up and crash-looped (the platform marks it UNHEALTHY while the job stays queued). When the job is IN_QUEUE this tool attaches a workerHealth summary and a hint; to dig deeper, call list-endpoint-workers (look for UNHEALTHY) and stream-worker-logs.
cancel-job Cancel a Serverless job that is queued or in progress.
retry-job Retry a failed or timed-out Serverless job. Only works for jobs with FAILED or TIMED_OUT status. The previous output is removed and the job is requeued.
endpoint-health Get the health and operational status of a Serverless endpoint, including worker counts and job statistics. Use this when jobs are stuck IN_QUEUE: unhealthy workers mean a crash-looping container (a worker failure — inspect with stream-worker-logs), while zero workers means the endpoint is waiting for GPU capacity.
purge-endpoint-queue Remove all pending jobs from a Serverless endpoint queue. Only affects queued jobs — in-progress jobs continue running. Use this for error recovery or clearing outdated requests.
list-endpoints List your Serverless endpoints, optionally expanding template and worker details (v1 only). Paginated via limit/cursor. On v2 each endpoint carries its request routing in `type` and the URLs to call it in `requestUrls`.
get-endpoint Get one Serverless endpoint by id, optionally expanding template and worker details (v1 only). On v2 the reply carries `type` (queue-based vs load-balancing routing) and `requestUrls` — the run/runsync/status/... URLs for a queue endpoint, or the base + health URLs for a load-balancing one. Read those rather than constructing endpoint URLs by hand.
create-endpoint Create a Serverless endpoint. On v2 (default), pass an inline config: imageName + gpuPoolIds (GPU pool names from list-gpu-types — the `pool` field, e.g. AMPERE_80/ADA_24) plus optional workers/scaling/disk/env. On v1, pass a templateId instead. Worker min/max set autoscaling bounds (min 0 = scale to zero). Use endpointType to pick queue-based (default) or load-balancing request routing; the response `requestUrls` carries the URLs to call the endpoint with.
update-endpoint Update a Serverless endpoint
delete-endpoint Permanently delete a Serverless endpoint. This cannot be undone.
list-endpoint-releases List a Serverless endpoint
list-endpoint-workers List the workers backing a Serverless endpoint, with their status and an aggregate summary. v2-only — returns a 501 notice on the v1 API. An UNHEALTHY worker usually means the container is crash-looping (repeated starts that exit before the handler runs) — jobs on the endpoint will sit IN_QUEUE even though this is a worker failure, not a capacity shortage; inspect it with stream-worker-logs. Zero workers while jobs queue means the endpoint is waiting for GPU capacity. Paginated via limit/cursor.
stream-worker-logs Fetch a bounded snapshot of a serverless worker
list-public-endpoints List Runpod Public Endpoints — managed, pay-per-use model APIs (text, image, video, audio) that require no deployment. Public catalog, no auth required. Each result includes the endpointId to call with run-endpoint/runsync-endpoint (or via https://api.runpod.ai/v2/{endpointId}), the model name, modality, owner, and pricing. Only live endpoints are returned by default; set includeOffline:true to also list ones that are not currently live.
list-network-volumes List your network volumes (persistent storage attachable to pods). Paginated via limit/cursor.
get-network-volume Get one network volume by id (name, size, data center).
create-network-volume Create a persistent network volume in a data center (size 10–4096 GB) that pods can mount. Pass volumeType to pick a storage tier; omit it to get the data center default.
update-network-volume Update a network volume (rename, or grow size — the new size must exceed the current size). Only provided fields change.
delete-network-volume Permanently delete a network volume and its data. This cannot be undone.
list-gpu-types List available GPU types with stock/pricing and capability filters (minimum VRAM, secure/community cloud, name search). Use this to discover valid gpuTypeIds before creating a pod or endpoint. By default the full catalog is returned: each result includes an `availability` summary (HIGH/MEDIUM/LOW/NONE) and results are sorted with the most-available GPUs first, but nothing is hidden. Set includeUnavailable:false to drop out-of-stock GPUs and list only deployable ones (set includeAvailability:false to skip the stock lookup entirely). For per-datacenter availability (to pick a dataCenterIds), use get-gpu-type.
list-data-centers List Runpod data centers (id, name, region/location). Use this to discover valid dataCenterIds for placing pods, endpoints, or network volumes.
list-cpu-types List available CPU flavor types for CPU pods/endpoints. v2-only — returns a 501 notice on the v1 API.
get-gpu-type Get details for a single GPU type by id, including per-datacenter availability. v2-only — returns a 501 notice on the v1 API (use list-gpu-types there). Use the returned dataCenters[].availability to pick a dataCenterIds with stock before creating a pod.
get-cpu-type Get details for a single CPU flavor type by id. v2-only — returns a 501 notice on the v1 API (use list-cpu-types there).
get-capacity GPU capacity across host CUDA versions, as a matrix. Use this to choose an endpoint
get-data-center Get details for a single data center by id. v2-only — returns a 501 notice on the v1 API (use list-data-centers there).
list-templates List available templates. By default returns only the user\
get-template Get one template by id (image, env, ports, disk/volume config).
create-template Create a reusable pod/endpoint template (image, ports, env, disk/volume). Category is optional and defaults to NVIDIA.
update-template Update a template
delete-template Permanently delete a template. This cannot be undone.
set-endpoint-gpus Set which GPUs a Serverless endpoint
list-container-registry-auths List your saved container-registry credentials (private image-pull auth). Paginated via limit/cursor.
get-container-registry-auth Get one saved container-registry credential by id (the secret/password is not returned).
create-container-registry-auth Save container-registry credentials (username + password/token) so pods and endpoints can pull private images.
delete-container-registry-auth Permanently delete a saved container-registry credential. This cannot be undone.
list-registry-delegations List your AWS ECR delegations — ECR repositories Runpod has been granted scoped pull access to, so private ECR images can be pulled without storing AWS credentials. Each entry includes the `dockerRegistryUri` to pull from. v2-only — returns a 501 notice on the v1 API. Paginated via limit/cursor.
create-registry-delegation Register an AWS ECR repository so Runpod can pull private images from it without stored credentials. Pass the repository ARN; the reply carries the `dockerRegistryUri`, resolved repository/tag, and AWS region. v2-only — returns a 501 notice on the v1 API. For a non-ECR private registry use create-container-registry-auth instead.
delete-registry-delegation Revoke an AWS ECR delegation, withdrawing Runpod
get-billing Get time-bucketed Runpod spend history, either aggregated across all resources or broken down by resource type (pods, serverless, endpoints, network volumes, clusters). v2-only — returns a 501 notice on the v1 API. Records are capped via limit/cursor; narrow the window with startTime/endTime or lastN.
list-hub-repos List repos published to the Runpod Hub (prebuilt Serverless workers and Pod templates, e.g. vLLM, ComfyUI). Public catalog — no auth required. Each result includes the currently listed release with its hubReleaseId and prebuilt image name. Results are sorted by deploy count (most popular first). Set includeConfig:true to also return the release config (hardware requirements and environment-variable schema) — it is large, so prefer requesting it for a single repo via the repoOwner/searchTerm filters.
deploy-hub-repo Deploy a Runpod Hub repo
Permissions 4
network medium filesystem low shell high env_vars low