Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Rent a per-minute GPU from your MCP client, run a job, download results, shut it down.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
CLOUDGPU_API_KEYValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"cloudgpu": {
"command": "npx",
"args": [
"-y",
"cloudgpu-mcp"
],
"env": {
"CLOUDGPU_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add cloudgpu --env CLOUDGPU_API_KEY=your-value -- npx -y cloudgpu-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"cloudgpu": {
"command": "npx",
"args": [
"-y",
"cloudgpu-mcp"
],
"env": {
"CLOUDGPU_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"cloudgpu": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"cloudgpu-mcp"
],
"env": {
"CLOUDGPU_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified with the GitHub account mrhy7176, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: CLOUDGPU_API_KEY
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.3.0) reached the registry 3 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Toggl 2.0
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Toggl 2.0 MCP server for tasks, projects, time entries, and workspace operations.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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 Code
claude mcp add cloudgpu --env CLOUDGPU_API_KEY=cgw-sk-... -- npx -y cloudgpu-mcp
Cursor ( ~/.cursor/mcp.json or .cursor/mcp.json )
{
"mcpServers": { "cloudgpu": { "command": "npx", "args": ["-y", "cloudgpu-mcp"], "env": { "CLOUDGPU_API_KEY": "cgw-sk-..." } } } }
</details>
Cline (MCP Servers → Configure MCP Servers → cline_mcp_settings.json )
{
"mcpServers": { "cloudgpu": { "command": "npx", "args": ["-y", "cloudgpu-mcp"], "env": { "CLOUDGPU_API_KEY": "cgw-sk-..." } } } }
</details>
opencode ( 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 } } }
</details>
goose ( ~/.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: 300
</details>
rules/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. /plugin marketplace add mrhy7176/cloudgpu-mcp
/plugin install cloudgpu@cloudgpu
skills/cloudgpu/ and skills/cloudgpu-model-api/ to ~/.claude/skills/.skills/cloudgpu/ and skills/cloudgpu-model-api/ to .claude/skills/ in your project. 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 # opens your system ssh to the instance cloudgpu down # 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 | Instances with status, minutes run and cost so far |
ssh [-- ARGS] | Run ssh with the instance's host, port and user; --show-password prints the password if there is one |
down [--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 --help
MIT, see LICENSE.