← Back to search

@runpod/mcp-server

GitHub Actions Scanned 30d ago

MCP server for interacting with Runpod API

C
66.1 / 100

Versions

No versions found.

PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 53

test-client
annotations: none low

list-pods
annotations: none low

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
annotations: none low

Get full details for one pod by id, optionally expanding machine and attached network-volume info.

podId string
create-pod
annotations: none low

Create a new GPU/CPU pod on Runpod. Pass gpuTypeIds for a GPU pod, or computeType:

volumeInGb number
update-pod
annotations: none low

Update a pod

name string podId string imageName string volumeInGb number
start-pod
annotations: none low

Start a stopped pod (resumes the same pod and its billing).

podId string
stop-pod
annotations: none low

Stop a running pod. The pod and its disk persist; GPU billing stops.

podId string
restart-pod
annotations: none low

Restart a running pod (single PodAction call). v2-only — on the v1 API returns a 501 notice (stop then start the pod instead).

podId string
stream-pod-logs
annotations: none low

Fetch a bounded snapshot of a pod

podId string
delete-pod
annotations: none low

Permanently delete a pod and its data. This cannot be undone.

podId string
run-endpoint
annotations: none low

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
annotations: none low

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
annotations: none low

Cancel a Serverless job that is queued or in progress.

retry-job
annotations: none low

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
annotations: none low

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
annotations: none low

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
annotations: none low

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
annotations: none low

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.

endpointId string
create-endpoint
annotations: none low

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.

args string name string gpuCount number workersMax number workersMin number
update-endpoint
annotations: none low

Update a Serverless endpoint

args string name string gpuCount number imageName string endpointId string
delete-endpoint
annotations: none low

Permanently delete a Serverless endpoint. This cannot be undone.

endpointId string
list-endpoint-releases
annotations: none low

List a Serverless endpoint

list-endpoint-workers
annotations: none low

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
annotations: none low

Fetch a bounded snapshot of a serverless worker

list-public-endpoints
annotations: none low

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
annotations: none low

List your network volumes (persistent storage attachable to pods). Paginated via limit/cursor.

get-network-volume
annotations: none low

Get one network volume by id (name, size, data center).

create-network-volume
annotations: none low

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.

name string size number
update-network-volume
annotations: none low

Update a network volume (rename, or grow size — the new size must exceed the current size). Only provided fields change.

name string
delete-network-volume
annotations: none low

Permanently delete a network volume and its data. This cannot be undone.

list-gpu-types
annotations: none low

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
annotations: none low

List Runpod data centers (id, name, region/location). Use this to discover valid dataCenterIds for placing pods, endpoints, or network volumes.

list-cpu-types
annotations: none low

List available CPU flavor types for CPU pods/endpoints. v2-only — returns a 501 notice on the v1 API.

get-gpu-type
annotations: none low

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.

gpuTypeId string
get-cpu-type
annotations: none low

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).

cpuTypeId string
get-capacity
annotations: none low

GPU capacity across host CUDA versions, as a matrix. Use this to choose an endpoint

get-data-center
annotations: none low

Get details for a single data center by id. v2-only — returns a 501 notice on the v1 API (use list-data-centers there).

dataCenterId string
list-templates
annotations: none low

List available templates. By default returns only the user\

get-template
annotations: none low

Get one template by id (image, env, ports, disk/volume config).

templateId string
create-template
annotations: none low

Create a reusable pod/endpoint template (image, ports, env, disk/volume). Category is optional and defaults to NVIDIA.

name string imageName string volumeInGb number
update-template
annotations: none low

Update a template

name string imageName string templateId string
delete-template
annotations: none low

Permanently delete a template. This cannot be undone.

templateId string
set-endpoint-gpus
annotations: none low

Set which GPUs a Serverless endpoint

list-container-registry-auths
annotations: none low

List your saved container-registry credentials (private image-pull auth). Paginated via limit/cursor.

get-container-registry-auth
annotations: none low

Get one saved container-registry credential by id (the secret/password is not returned).

create-container-registry-auth
annotations: none low

Save container-registry credentials (username + password/token) so pods and endpoints can pull private images.

name string username string
delete-container-registry-auth
annotations: none low

Permanently delete a saved container-registry credential. This cannot be undone.

list-registry-delegations
annotations: none low

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
annotations: none low

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
annotations: none low

Revoke an AWS ECR delegation, withdrawing Runpod

get-billing
annotations: none low

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
annotations: none low

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
annotations: none low

Deploy a Runpod Hub repo

Permissions 4

network medium
Server uses network capabilities via: fetch(), http
filesystem low
Server uses filesystem capabilities via: fs, fs sync ops, path
shell high
Server uses shell capabilities via: child_process, execSync(), spawnSync()
env_vars low
Server uses env_vars capabilities via: process.env

Scan Findings 122

low
Tool 'test-client' has no annotations annotation_checker · 100%
low
Tool 'list-pods' has no annotations annotation_checker · 100%
low
Tool 'get-pod' has no annotations annotation_checker · 100%
low
Tool 'create-pod' has no annotations annotation_checker · 100%
low
Tool 'update-pod' has no annotations annotation_checker · 100%
low
Tool 'start-pod' has no annotations annotation_checker · 100%
low
Tool 'stop-pod' has no annotations annotation_checker · 100%
low
Tool 'restart-pod' has no annotations annotation_checker · 100%
low
Tool 'stream-pod-logs' has no annotations annotation_checker · 100%
low
Tool 'delete-pod' has no annotations annotation_checker · 100%
low
Tool 'run-endpoint' has no annotations annotation_checker · 100%
low
Tool 'get-job-status' has no annotations annotation_checker · 100%
low
Tool 'cancel-job' has no annotations annotation_checker · 100%
low
Tool 'retry-job' has no annotations annotation_checker · 100%
low
Tool 'endpoint-health' has no annotations annotation_checker · 100%
low
Tool 'purge-endpoint-queue' has no annotations annotation_checker · 100%
low
Tool 'list-endpoints' has no annotations annotation_checker · 100%
low
Tool 'get-endpoint' has no annotations annotation_checker · 100%
low
Tool 'create-endpoint' has no annotations annotation_checker · 100%
low
Tool 'update-endpoint' has no annotations annotation_checker · 100%
low
Tool 'delete-endpoint' has no annotations annotation_checker · 100%
low
Tool 'list-endpoint-releases' has no annotations annotation_checker · 100%
low
Tool 'list-endpoint-workers' has no annotations annotation_checker · 100%
low
Tool 'stream-worker-logs' has no annotations annotation_checker · 100%
low
Tool 'list-public-endpoints' has no annotations annotation_checker · 100%
low
Tool 'list-network-volumes' has no annotations annotation_checker · 100%
low
Tool 'get-network-volume' has no annotations annotation_checker · 100%
low
Tool 'create-network-volume' has no annotations annotation_checker · 100%
low
Tool 'update-network-volume' has no annotations annotation_checker · 100%
low
Tool 'delete-network-volume' has no annotations annotation_checker · 100%
low
Tool 'list-gpu-types' has no annotations annotation_checker · 100%
low
Tool 'list-data-centers' has no annotations annotation_checker · 100%
low
Tool 'list-cpu-types' has no annotations annotation_checker · 100%
low
Tool 'get-gpu-type' has no annotations annotation_checker · 100%
low
Tool 'get-cpu-type' has no annotations annotation_checker · 100%
low
Tool 'get-capacity' has no annotations annotation_checker · 100%
low
Tool 'get-data-center' has no annotations annotation_checker · 100%
low
Tool 'list-templates' has no annotations annotation_checker · 100%
low
Tool 'get-template' has no annotations annotation_checker · 100%
low
Tool 'create-template' has no annotations annotation_checker · 100%
low
Tool 'update-template' has no annotations annotation_checker · 100%
low
Tool 'delete-template' has no annotations annotation_checker · 100%
low
Tool 'set-endpoint-gpus' has no annotations annotation_checker · 100%
low
Tool 'list-container-registry-auths' has no annotations annotation_checker · 100%
low
Tool 'get-container-registry-auth' has no annotations annotation_checker · 100%
low
Tool 'create-container-registry-auth' has no annotations annotation_checker · 100%
low
Tool 'delete-container-registry-auth' has no annotations annotation_checker · 100%
low
Tool 'list-registry-delegations' has no annotations annotation_checker · 100%
low
Tool 'create-registry-delegation' has no annotations annotation_checker · 100%
low
Tool 'delete-registry-delegation' has no annotations annotation_checker · 100%
low
Tool 'get-billing' has no annotations annotation_checker · 100%
low
Tool 'list-hub-repos' has no annotations annotation_checker · 100%
low
Tool 'deploy-hub-repo' has no annotations annotation_checker · 100%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.7.0 (GHSA-8r9q-7v3j-jr4g) dependency_analyzer · 95%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.7.0 (GHSA-w48q-cv73-mx4w) dependency_analyzer · 95%
medium
Vulnerable dependency: tsup@8.0.0 (GHSA-3mv9-4h5g-vhg3) dependency_analyzer · 95%
medium
Buffer.from base64 in runpod-runpod-mcp-a8b7631/src/pagination.ts:49 entropy_analyzer · 75%
info
package.json metadata manifest_parser · 100%
info
Tool: test-client manifest_parser · 75%
info
Tool: list-pods manifest_parser · 70%
info
Tool: get-pod manifest_parser · 70%
info
Tool: create-pod manifest_parser · 70%
info
Tool: update-pod manifest_parser · 70%
info
Tool: start-pod manifest_parser · 70%
info
Tool: stop-pod manifest_parser · 70%
info
Tool: restart-pod manifest_parser · 70%
info
Tool: stream-pod-logs manifest_parser · 70%
info
Tool: delete-pod manifest_parser · 70%
info
Tool: run-endpoint manifest_parser · 70%
info
Tool: get-job-status manifest_parser · 70%
info
Tool: cancel-job manifest_parser · 70%
info
Tool: retry-job manifest_parser · 70%
info
Tool: endpoint-health manifest_parser · 70%
info
Tool: purge-endpoint-queue manifest_parser · 70%
info
Tool: list-endpoints manifest_parser · 70%
info
Tool: get-endpoint manifest_parser · 70%
info
Tool: create-endpoint manifest_parser · 70%
info
Tool: update-endpoint manifest_parser · 70%
info
Tool: delete-endpoint manifest_parser · 70%
info
Tool: list-endpoint-releases manifest_parser · 70%
info
Tool: list-endpoint-workers manifest_parser · 70%
info
Tool: stream-worker-logs manifest_parser · 70%
info
Tool: list-public-endpoints manifest_parser · 70%
info
Tool: list-network-volumes manifest_parser · 70%
info
Tool: get-network-volume manifest_parser · 70%
info
Tool: create-network-volume manifest_parser · 70%
info
Tool: update-network-volume manifest_parser · 70%
info
Tool: delete-network-volume manifest_parser · 70%
info
Tool: list-gpu-types manifest_parser · 70%
info
Tool: list-data-centers manifest_parser · 70%
info
Tool: list-cpu-types manifest_parser · 70%
info
Tool: get-gpu-type manifest_parser · 70%
info
Tool: get-cpu-type manifest_parser · 70%
info
Tool: get-capacity manifest_parser · 70%
info
Tool: get-data-center manifest_parser · 70%
info
Tool: list-templates manifest_parser · 70%
info
Tool: get-template manifest_parser · 70%
info
Tool: create-template manifest_parser · 70%
info
Tool: update-template manifest_parser · 70%
info
Tool: delete-template manifest_parser · 70%
info
Tool: set-endpoint-gpus manifest_parser · 70%
info
Tool: list-container-registry-auths manifest_parser · 70%
info
Tool: get-container-registry-auth manifest_parser · 70%
info
Tool: create-container-registry-auth manifest_parser · 70%
info
Tool: delete-container-registry-auth manifest_parser · 70%
info
Tool: list-registry-delegations manifest_parser · 70%
info
Tool: create-registry-delegation manifest_parser · 70%
info
Tool: delete-registry-delegation manifest_parser · 70%
info
Tool: get-billing manifest_parser · 70%
info
Tool: list-hub-repos manifest_parser · 70%
info
Tool: deploy-hub-repo manifest_parser · 70%
info
Transport: streamable-http manifest_parser · 80%
info
Required env vars (27) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 80%
low
Permission: filesystem access detected permission_analyzer · 90%
high
Permission: shell access detected permission_analyzer · 95%
low
Permission: env_vars access detected permission_analyzer · 90%
info
SBOM generated: 15 components sbom_generator · 100%
high
Hardcoded Password found in runpod-runpod-mcp-a8b7631/scripts/smoke-crud.ts secret_scanner · 65%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%