
CloudGPU MCP server: let MCP clients rent a per-minute GPU, run a job, download results and shut it
CloudGPU MCP server: let MCP clients rent a per-minute GPU, run a job, download results and shut it down.
CloudGPU MCP server: let an AI agent rent a GPU by the minute, run a job, bring the results back and shut the GPU down. The same API key and balance also cover CloudGPU's OpenAI-compatible model API, so an agent can call a hosted model without renting anything.
"Fine-tune a 7B base model with LoRA on data/train.jsonl and put the adapter in ./outputs."
The agent checks live prices and quotes you, rents the GPU once you say yes, uploads your code and data, starts training in the background, watches the logs, downloads the adapter and destroys the instance. You get the files and the final cost.
It is a local (stdio) MCP server. It works with any MCP client that can start one: Claude Code, Cursor, Cline, opencode, goose, VS Code, Windsurf and others.
CLOUDGPU_API_KEY.claude mcp add cloudgpu --env CLOUDGPU_API_KEY=cgw-sk-... -- npx -y cloudgpu-mcp~/.cursor/mcp.json or .cursor/mcp.json){
"mcpServers": {
"cloudgpu": {
"command": "npx",
"args": ["-y", "cloudgpu-mcp"],
"env": { "CLOUDGPU_API_KEY": "cgw-sk-..." }
}
}
}cline_mcp_settings.json){
"mcpServers": {
"cloudgpu": {
"command": "npx",
"args": ["-y", "cloudgpu-mcp"],
"env": { "CLOUDGPU_API_KEY": "cgw-sk-..." }
}
}
}opencode.json){
"$schema": "https://opencode.ai/config.json",
"mcp": {
"cloudgpu": {
"type": "local",
"command": ["npx", "-y", "cloudgpu-mcp"],
"environment": { "CLOUDGPU_API_KEY": "cgw-sk-..." },
"enabled": true
}
}
}~/.config/goose/config.yaml, or goose configure → Add Extension → Command-line Extension)extensions:
cloudgpu:
name: cloudgpu
type: stdio
cmd: npx
args: ["-y", "cloudgpu-mcp"]
envs:
CLOUDGPU_API_KEY: "cgw-sk-..."
enabled: true
timeout: 300rules/cloudgpu.md into your project as AGENTS.md, .cursor/rules/cloudgpu.md or .clinerules/cloudgpu.md. It tells the agent to quote before renting, download before shutting down, and never leave a GPU running. The server also exposes the same text as the resource cloudgpu://rules.To check the install, ask your agent: "List the GPUs available, then estimate the cost for a 24 GB GPU for one hour. Do not create anything." You should see list_gpus and estimate_cost calls and a quote, and nothing is rented.
The same guidance is available as two Agent Skills:
skills/cloudgpu/SKILL.md: renting and using a GPU. Claude Code loads it on demand when you ask for a GPU job. It expects the cloudgpu MCP tools to be installed (see above).
skills/cloudgpu-model-api/SKILL.md: calling the OpenAI-compatible model API at https://cloudgpu.app/v1 without renting a GPU. It works with the MCP tools or with just a CLOUDGPU_API_KEY.
Claude plugin: both skills are included automatically when you install the CloudGPU Claude plugin from this repo's marketplace:
/plugin marketplace add mrhy7176/cloudgpu-mcp
/plugin install cloudgpu@cloudgpuClaude Code, personal install: copy skills/cloudgpu/ and skills/cloudgpu-model-api/ to ~/.claude/skills/.
Claude Code, project install: copy skills/cloudgpu/ and skills/cloudgpu-model-api/ to .claude/skills/ in your project.
Cursor, Codex, Cline, Amp and other agents that read Agent Skills: install both skills with the skills CLI:
npx skills add mrhy7176/cloudgpu-mcp| Tool | What it does |
|---|---|
get_account | Balance, and how many instances the account may run at once |
list_gpus | GPU models with VRAM, live price per GPU-hour and availability |
list_templates | Ready-made images: JupyterLab, Ollama, ComfyUI, LLaMA-Factory, … |
estimate_cost | Live quote for a GPU and a number of hours, plus your balance afterwards; returns a quote_id |
create_instance | Rents from an approved quote, with a budget, a time limit and an idle limit |
get_status / list_instances | Status, minutes run, cost so far, auto-shutdown limits |
run_command | Runs a command on the instance; background=true for long jobs |
tail_logs | Latest log lines, whether the job finished, GPU utilisation |
upload / download | Files and folders between your computer and the instance (SFTP) |
stop_instance | Destroys the instance and stops billing |
list_models | Models on the OpenAI-compatible API, for inference without renting a GPU |
The server also provides a train_on_cloudgpu prompt.
create_instance only takes a quote_id from estimate_cost and user_confirmed=true.max_spend_usd, max_hours and an idle limit (60 minutes by default). CloudGPU's servers check them and destroy the instance when one is hit, even if your client has disconnected or your laptop is asleep.CLOUDGPU_MAX_SPEND_USD and CLOUDGPU_MAX_HOURS cap what the agent may set.stop_instance refuses until something has been downloaded, unless the user confirms force=true..ssh, .env, key files or your whole home directory needs allow_sensitive=true.CLOUDGPU_READ_ONLY=1 registers only the look-up tools.| Env | Default | |
|---|---|---|
CLOUDGPU_API_KEY | (required) | From https://cloudgpu.app/api |
CLOUDGPU_MAX_SPEND_USD | 50 | Highest budget the agent may set for one instance |
CLOUDGPU_MAX_HOURS | 24 | Longest time limit the agent may set |
CLOUDGPU_READ_ONLY | off | 1 = look-up tools only |
CLOUDGPU_BASE_URL | https://cloudgpu.app | Override the API host |
The key also works with the OpenAI-compatible API at https://cloudgpu.app/v1. Call list_models (or GET /v1/models) to see the available model IDs. Model prices are on cloudgpu.app/api.
The server wraps CloudGPU's public REST API, which any agent or script can call with the same key:
curl https://cloudgpu.app/v1/gpu/offers -H "Authorization: Bearer $CLOUDGPU_API_KEY"The package also installs a cloudgpu command for using the same API from a terminal (Node.js 18.3 or newer, no extra dependencies):
npm install -g cloudgpu-mcp # or run it once with: npx -p cloudgpu-mcp cloudgpu --help
cloudgpu login # saves your key to ~/.config/cloudgpu/config.json (mode 0600)
cloudgpu offers # GPU models with live price and availability
cloudgpu up --gpu "RTX 4090" --template comfyui --max-minutes 120 --max-spend 5 --wait
cloudgpu ssh <id> # opens your system ssh to the instance
cloudgpu down <id> # destroys it and stops billing (asks first; --yes to skip)| Command | What it does |
|---|---|
login | Save an API key (input hidden, or piped on stdin); checked against the API first |
offers [--template ID] | GPU models, VRAM, live price per GPU-hour, availability |
templates | Ready-made images and the GPU each recommends |
up --gpu MODEL [--template ID] [--count N] [--max-minutes N] [--max-spend USD] [--idle-minutes N] [--setup FILE] [--wait] | Rent an instance; --setup runs a bash script once as root after hand-over (log in /root/cloudgpu-setup.log); --wait polls until it is running or failed, then prints the SSH command and URL |
ls / status <id> | Instances with status, minutes run and cost so far |
ssh <id> [-- ARGS] | Run ssh with the instance's host, port and user; --show-password prints the password if there is one |
down <id> [--yes] | Destroy the instance; its disk is erased, so download results first |
balance | Balance and how many instances the account may run |
CLOUDGPU_API_KEY takes precedence over the saved key, and CLOUDGPU_BASE_URL overrides the API host. Read commands accept --json; SSH passwords are left out of JSON unless you pass --show-password. Every command has --help. Errors print the API's message and exit non-zero (2 for usage errors).
CloudGPU here means cloudgpu.app. Prepaid balance, billed per minute; when the balance runs out, running instances are destroyed and their disks erased, so keep enough balance for the job and download results as you go.
npm install
npm test
node src/index.js # stdio server; set CLOUDGPU_API_KEY first
node src/cli.js --helpMIT, see LICENSE.
Pick your client and paste the snippet. Each one is the same server, written the way that client expects it.
claude mcp add cloudgpu -- npx -y cloudgpu-mcp{
"mcpServers": {
"cloudgpu": {
"env": {
"CLOUDGPU_API_KEY": ""
},
"args": [
"-y",
"cloudgpu-mcp"
],
"command": "npx"
}
}
}code --add-mcp '{"name":"cloudgpu","env":{"CLOUDGPU_API_KEY":""},"args":["-y","cloudgpu-mcp"],"command":"npx"}'[mcp_servers.cloudgpu]
command = "npx"
args = ["-y", "cloudgpu-mcp"]Runs locally on your device. Your client starts the server itself, so nothing has to be hosted.
Paste this prompt into your agent. It reads this page and does the setup for you.
Read https://aiagentslisting.com/mcp/cloudgpu-mcp to learn what the "CloudGPU MCP" MCP server does and how to install it. Add it to my coding agent's MCP configuration as documented on that page, then confirm the server connects and list the tools it exposes.Agents can also browse this directory over MCP at https://aiagentslisting.com/api/mcp
claude mcp add cloudgpu --env CLOUDGPU_API_KEY=cgw-sk-... -- npx -y cloudgpu-mcpnpx skills add mrhy7176/cloudgpu-mcpnpm install -g cloudgpu-mcp| Name | What it does |
|---|---|
get_account | Balance in USD, how many instances this account may run at once, and how many are running now. |
list_gpus | GPU models you can rent now, with VRAM, live price per GPU-hour in USD and availability (ok / low / none). Prices are live; never assume them. |
list_templates | Ready-made instance images (e.g. JupyterLab, Ollama, ComfyUI, LLaMA-Factory) with the GPU each recommends. Templates with has_api_endpoint get a public HTTPS api_url. |
estimate_cost | Live price and estimated cost for a GPU, plus your balance after it. Returns a quote_id that create_instance needs. Show the quote to the user and get an explicit yes before renting. |
list_models | Models on CloudGPU's OpenAI-compatible API (same key, same balance). Use them from code with base_url https://cloudgpu.app/v1 instead of renting a GPU when you only need inference. |
get_status | Status (creating / running / stopped / failed), minutes run, cost so far, whether SSH is ready, the public api_url if the template has one, and the auto-shutdown limits. |
list_instances | Instances on this account: running, starting, and those stopped in the last 7 days, with cost. |
create_instance | Rents the GPU from a quote. Costs money. Requires a quote_id from estimate_cost that the user has approved. max_spend_usd and max_hours are enforced by CloudGPU's servers: the instance is destroyed wh |
run_command | Runs a bash command on the instance as root, in an interactive-style shell so conda/venv from ~/.bashrc are active. Foreground returns the exit code and the last 20k characters of output. For anything |
upload | Copies a local file or directory (this computer) to the instance over SFTP. node_modules, .git and __pycache__ are skipped. Credentials files (.ssh, .env, keys) are refused unless allow_sensitive is t |
download | Copies a file or directory from the instance to this computer. Do this for every result before stop_instance: destroying an instance erases its disk. |
tail_logs | Last lines of a background job's log (job_id) or any log file (path), whether the job is still running and its exit code, plus current GPU utilisation and memory. |
stop_instance | Destroys the instance and stops billing. Its disk is erased. If commands were run on it in this session and nothing was downloaded, this refuses unless force=true (only after the user confirms the res |
| Name | What it does |
|---|---|
train_on_cloudgpu | Rent a GPU, run a training or fine-tuning job, bring the results back and shut down |
| Name | What it does |
|---|---|
rules | How to rent, run and shut down safely |
Read live from the server on November 5, 2026.
Maintain this server? Claiming proves you own the listing and earns the last 4 points.
Claim this listingPaste this line near the top of your repository's README. The badge always renders the current score.
[](https://aiagentslisting.com/mcp/cloudgpu-mcp)Nothing comparable is listed yet.
No tagged releases on record.
Connect to the AI Agents Listing MCP server at https://aiagentslisting.com/api/mcp using the HTTP transport and complete the sign-in when it asks. Then call the submit_review tool for the listing "cloudgpu-mcp" with a rating from 1 to 5 and a short note on what worked and what did not.No reviews yet
Be the first to share your experience with this tool.
One email a week. New agents, MCP servers and skills, and what is actually getting traction.