ParalonCloud Rentals

io.github.ParalonCloudPublished by GitHub account ParalonCloudv1.1.0Updated Nov 5, 2026

Rent GPUs on ParalonCloud, or as a provider manage your nodes, prices and earnings.

VerifiedSTDIODesktop onlyCloud & InfrastructureFinanceAI & ML

Overview

AI-generated overview

Rent ParalonCloud GPUs from an AI assistant, or manage your own GPU nodes, prices and earnings as a provider.

What you can do
  • Browse rentable GPUs with price, VRAM, compute capability and country, and check credit balance
  • Start, inspect and stop rentals, including JupyterLab or SSH access and app templates
  • Manage saved SSH public keys for SSH rentals
  • List your provider nodes with state, price range and live GPU load, temperature and power
  • Add nodes, fetch install commands, set availability, price, spot mode and renter access
  • Read earnings by day and the withdrawable balance
When to use it
Useful when you want an assistant to find and start a GPU rental for a job, get its connection URL, and stop it to end billing, or when you provide GPUs on ParalonCloud and want to check node health, adjust prices and review earnings conversationally.
Requirements
Runs locally via npx as an npm package, so Node.js is needed. Requires a ParalonCloud prlc_ API key passed in the PARALON_API_KEY environment variable, with the rental scope for renting and the nodes scope for provider tools. Network access to ParalonCloud; an optional PARALON_BASE_URL overrides the endpoint. SSH rentals need cloudflared on the machine holding the private key.
Before you install
create_rental spends credits with per-minute billing, so confirm before calling and pass hours so it auto-stops. destroy_rental stops billing. Provider tools change node state, price and renter access, and reclaim_spot_node stops a renter's spot rental two minutes later. add_node and get_node_install_command return a command containing the node's secret token, which should stay private. Use a dedicated key with only the needed scopes and keep client tool-call confirmation on.

Installation

In SourceWeft

  1. Open ParalonCloud Rentals in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

ParalonCloud MCP server

Rent GPUs from inside your AI agent, and, if you provide GPUs, run your own nodes from it. This is an MCP server for the ParalonCloud Rental API and Provider API: it lets Claude Code, Claude Desktop, Cursor, or any MCP client

  • rent: browse GPUs, start a rental, get its connection URL, and stop it;
  • provide: list your nodes with live GPU load and temperature, add a node and get its install command, take a node off the market and back, set its price, reclaim a spot node, and read your earnings,

using natural language.

One key for everything: the same prlc_ key powers ParalonCloud's OpenAI-compatible inference API. Build an agent that calls a model and rents the GPU to run the heavy job.

Formerly @paraloncloud/mcp-rentals. That package is deprecated: switch your config to @paraloncloud/mcp.

Tools

Renting (key needs the rental scope)

ToolWhat it doesCost
list_gpusList rentable GPUs with price, VRAM, compute capability, countryfree
get_balanceYour credit balancefree
list_templatesApps a rental can start with (ComfyUI, Open WebUI with Ollama, Unsloth Studio), their version and minimumsfree
create_rentalStart a rental with JupyterLab or SSH (type: "ssh"), optionally with an app installed (template: "comfyui", "openwebui" or "unsloth"; an app with its own sign-in returns it in app.login) (async → poll)spends credits
get_rentalStatus + the JupyterLab URL or the SSH command once running, and an app's link (connection.app_url)free
list_rentalsYour active rentals (status: "all" for history)free
destroy_rentalStop a rental and stop billing—
list_ssh_keysThe SSH public keys an SSH rental installsfree
add_ssh_keySave an SSH public key (the .pub line, never the private key)free
delete_ssh_keyDelete a saved key; new SSH rentals stop accepting itfree

An SSH rental installs every saved key, so the agent can make its own key, add it, rent with type: "ssh", and run commands on the machine. Connecting needs cloudflared on the computer that holds the private key: get_rental returns the command.

Your nodes, for GPU providers (key needs the nodes scope)

ToolWhat it does
list_my_nodesYour nodes: state (available, rented, paused, offline, …), GPUs, price and its allowed range, the current rental, live per-GPU load, temperature, power and memory
get_my_nodeOne node, same fields
add_nodeAdd a node; returns the docker command that installs the agent (it holds the node's token)
get_node_install_commandThe install command of an existing node, again
set_node_availableTake a node off the market, or put it back; a running rental goes on to its end
set_node_priceSet the price in USD per hour for the node, or null for the default
update_nodeChange name, spot, availability and price in one call
reclaim_spot_nodeTake a spot node back for your own use; a spot rental on it stops in 2 minutes
get_node_accessWho can rent a node: everyone, or only the people, domains and organizations listed
set_node_accessKeep a node private for chosen renters (email, domain, organization), or open it to everyone ([])
get_earningsEarnings by day (rentals per node, inference per account) and the withdrawable balance

Payouts are not reachable from the API or this server. Deleting a node stays on the site.

Setup

1. Get a key with the right scope

  1. Create an API key in the Console.
  2. To rent, turn on GPU rentals for that key (rentals are opt-in), and optionally set Max rentals running at once as a safety cap.
  3. To manage your own nodes, turn on My nodes. One key can have both.

Use a dedicated key for the agent, not your production key.

2. Add it to your MCP client

The client passes your key via the PARALON_API_KEY env var — you never edit the server.

Claude Desktop — claude_desktop_config.json:

json
{  "mcpServers": {    "paraloncloud": {      "command": "npx",      "args": ["-y", "@paraloncloud/mcp"],      "env": {        "PARALON_API_KEY": "prlc_your_key_here"      }    }  }}

Claude Code — one command:

bash
claude mcp add paraloncloud \  --env PARALON_API_KEY=prlc_your_key_here \  -- npx -y @paraloncloud/mcp

Cursor — .cursor/mcp.json (same shape as Claude Desktop above).

Optional env: PARALON_BASE_URL (defaults to https://paraloncloud.com/api/v1).

3. Try it

"List the cheapest GPUs I can rent, then start a 2-hour Jupyter rental on one with at least 24GB of VRAM."

The agent calls list_gpus, picks a node, and calls create_rental with hours: 2. It then polls get_rental for the Jupyter URL. Say "stop it" and it calls destroy_rental.

"Rent a 4090 over SSH, run nvidia-smi on it, then stop it."

The agent makes a key with ssh-keygen, saves it with add_ssh_key, picks a node with ssh: true, starts it with type: "ssh", runs the command get_rental returns, and stops it.

"Start ComfyUI on a GPU with 24 GB for an hour and give me the link."

The agent calls list_templates, picks a node whose templates has comfyui, starts it with template: "comfyui" and hours: 1, and hands you connection.app_url from get_rental once the app answers, a minute or two after the machine.

As a provider:

"How are my nodes doing? Is any GPU running hot?"

"Take rig-2 off the market for the afternoon, and set rig-1 to $0.60 an hour."

"How much did I earn this week, and from which node?"

Safety

  • create_rental and destroy_rental change what you're billed — your MCP client will ask you to approve them (Claude Code/Desktop confirm tool calls by default). Keep that on.
  • create_rental auto-generates an idempotency key, so a retried call never starts a second GPU.
  • Pass hours so a rental auto-stops even if the agent forgets to.
  • The key's max_active_rentals limit (set in the Console) caps concurrency regardless.
  • The node tools that change something (add_node, set_node_available, set_node_price, update_node, reclaim_spot_node, set_node_access) tell the agent to confirm with you first; reclaim_spot_node stops a renter's spot rental two minutes later.
  • add_node and get_node_install_command return a command with the node's secret token: keep it private.
  • Give the agent a key with only the scopes it needs.

Test

bash
npm installPARALON_API_KEY=prlc_your_key_here node smoke-test.mjs

It calls the read-only tools, and the node tools only on a node that does not exist, so it changes nothing.

Run locally (dev)

bash
PARALON_API_KEY=prlc_your_key_here node server.js

Links

MIT

Source: README.md at commit ad6a3e1

Tools

15

list_gpus

List GPU nodes available to rent right now, with price per hour, GPU model, VRAM, CUDA compute capability, and country. Rent by the returned node_id. Read-only, no cost. For modern LLM work prefer compute_cap >= 8.9 (FP8).

Takes no parameters.

get_balance

Get the account's credit balance (rentals are billed per minute against it). Read-only, no cost.

Takes no parameters.

create_rental

Start renting a GPU. SPENDS CREDITS (per-minute billing) — confirm with the user before calling. Asynchronous: returns a rental_id with status 'pending'. Provisioning + the secure tunnel take ~20-40 seconds. After creating, call get_rental ONCE to fetch the connection URL — it waits internally for startup and returns when ready, so do NOT poll it in a tight loop. DURATION: the rental is open-ended by default (runs until the user stops it with destroy_rental) — use open-ended as the default. When starting one, briefly tell the user it's open-ended and bills per minute until stopped, and that they can set an 'hours' auto-stop cap instead if they prefer; only pass 'hours' when the user asks for a time limit. An idempotency key is generated automatically so accidental repeats don't start a second GPU.

Parametersnametypehoursnode_idrequired

get_rental

Get one rental's status and connection details (Jupyter URL + token). After create_rental, call this to get the URL. It WAITS internally (up to ~24s) for the rental to finish coming up and returns as soon as it's ready — so you usually only need ONE call, at most two. Do NOT call it repeatedly in a tight loop. Provisioning plus the secure tunnel take ~20-40 seconds total; the URL is ready when connection_pending is false. Read-only.

Parametersrental_idrequired

list_rentals

List the account's rentals. By default only active ones (what's running and billing). Pass status='all' for full history. Read-only.

Parametersstatus

destroy_rental

Stop a rental — stops the GPU and STOPS BILLING. This is the money brake; safe to call twice. Confirm with the user unless they clearly asked to stop it.

Parametersrental_idrequired

list_my_nodes

PROVIDER: list the GPU nodes this account provides (needs a key with the 'nodes' scope). For each node: state (available, rented, paused, not_verified, not_ready, offline), GPUs and VRAM, price (default, allowed min/max, custom, what a renter pays), verification, reputation, the current rental (never the renter), and live metrics from the last minute: per-GPU load %, temperature °C, power W and VRAM, plus host CPU and memory. Read-only.

Takes no parameters.

get_my_node

PROVIDER: one of the account's nodes, same fields as list_my_nodes (state, price, rental, live GPU metrics). Read-only.

Parametersnode_idrequired

add_node

PROVIDER: add a new node to the account and get the docker command that installs the agent on the machine. Confirm the name and type with the user first. The returned command contains the node's secret token: show it only to the user, never paste it anywhere public. The node comes online once the command runs on the machine, then goes through the GPU check. At most 20 nodes an hour per key.

Parametersosnamerequiredspottypeavailable

get_node_install_command

PROVIDER: the docker command that installs the agent for an existing node (to reinstall or move it). It contains the node's secret token: show it only to the user. Read-only.

Parametersnode_idrequired

set_node_available

PROVIDER: take a node off the market (available=false) or put it back (available=true). Off stops new rentals at once; a rental already running goes on to its end. Use it when the owner needs the machine or it is rented on another marketplace. Confirm with the user unless they asked for exactly this.

Parametersnode_idrequiredavailablerequired

set_node_price

PROVIDER: set a node's price in US dollars per hour for the whole node (what the renter pays; the provider gets it minus the platform fee), or null to go back to the platform default. Must be within the node's price.min and price.max (50% to 300% of the default; see get_my_node). A rental already running keeps its price. Not possible on a spot node. Confirm the new price with the user first.

Parametersnode_idrequiredprice_per_hourrequired

update_node

PROVIDER: change several things on a node at once: name, spot (true/false; refused while the node is rented, and turning spot on clears a custom price), available, price_per_hour (USD per hour or null). Send only what changes. Confirm changes with the user first.

Parametersnamespotnode_idrequiredavailableprice_per_hour

reclaim_spot_node

PROVIDER: take a spot node back for the owner's own use ("In use"): rentals and inference go off, and a spot rental running on it STOPS TWO MINUTES LATER (the renter is told). Only for spot nodes. Always confirm with the user first. Put the node back afterwards with set_node_available(true).

Parametersnode_idrequired

get_earnings

PROVIDER: the account's earnings in USD by UTC day for the last `days` days (default 30, max 366): rentals per node and inference for the account, after the platform fee; the total; the balance that can be withdrawn now; and what rentals still running have billed so far. Payouts themselves are not available through the API. Read-only.

Parametersdays

Version history

2
  1. v1.1.0LatestOct 21, 2026
  2. v1.0.3Oct 11, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts