ParalonCloud

io.github.ParalonCloud由 GitHub 账号 ParalonCloud 发布v1.5.0更新于 Nov 3, 2026

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

概览

AI 生成的概览

让助手在 ParalonCloud 上租用 GPU,并为供应商管理 GPU 节点、价格、访问权限与收益。

可以做什么
  • 浏览可租 GPU、模板与账户余额,并创建、查看和停止 JupyterLab、SSH 或 ComfyUI 应用租赁
  • 管理 SSH 租赁所用的 SSH 公钥
  • 列出并查看自己的供应商节点,包括实时 GPU 负载与温度
  • 添加节点并获取 docker 安装命令,上下架节点、设置价格和更新节点设置
  • 设置节点的可租对象,并收回 spot 节点自用
  • 按天查看收益与可提现余额
适用场景
适合让助手为重型任务临时开一台 GPU、通过 SSH 执行命令或启动 ComfyUI 并在用完后停止;也适合在 ParalonCloud 提供 GPU 的用户用对话方式查看和调整节点与收益。
运行要求
以 stdio 本地运行,通常通过 npx 使用 npm 包。需要在 PARALON_API_KEY 环境变量中提供 ParalonCloud 的 prlc_ API 密钥,租用需 rental 权限,供应商工具需 nodes 权限。可选 PARALON_BASE_URL 覆盖 API 地址。SSH 租赁需在持有私钥的机器上安装 cloudflared。
安装前请注意
create_rental 会按分钟计费消耗账户额度;destroy_rental 用于停止计费,建议保持客户端的工具调用确认开启,并传入 hours 让租赁自动停止。供应商工具会改变市场状态:reclaim_spot_node 会让租用者的 spot 租赁约两分钟后停止。add_node 与 get_node_install_command 返回的命令含节点密钥令牌,应保持私密。请使用仅含所需权限的专用密钥。

安装

在 SourceWeft 中

  1. 打开 控制台中的 ParalonCloud,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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

来源:README.md,提交 ad6a3e1

工具

21

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. reserved_for_you: true marks a node its provider keeps for this key's person or organization: such nodes come first and nobody else sees them. Read-only, no cost. For modern LLM work prefer compute_cap >= 8.9 (FP8). spot: true marks a spot node: cheaper (list_price_per_hour is the on-demand price), but its provider can take it back with two minutes' notice, so avoid it for long unattended jobs. restricted_internet: true means the node's own network cannot reach the services in unreachable_services (e.g. GitHub, Hugging Face, PyPI, Docker Hub), so git clone, pip install and model or image downloads fail there; prefer a node where it is false when the job downloads anything (null means not checked yet). ssh: true means create_rental can start it with type 'ssh'. templates lists the apps create_rental can install on that node (e.g. ["comfyui"]); see list_templates.

无需输入参数。

list_templates

List the apps a rental can start with, installed and running and opened in the browser by its own link: today ComfyUI (node-based image and video generation: Flux, SDXL, Wan). Each has a slug for create_rental's template, the version a rental gets (tested and pinned), and what a machine needs (min_vram_gb per GPU, min_disk_gb). Pick a node whose templates in list_gpus contains the slug. Read-only, no cost. Use it when the user wants to generate images or video, or names one of these apps.

无需输入参数。

get_balance

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

无需输入参数。

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.

输入参数nametypehoursnode_id必填template

get_rental

Get one rental's status and connection details: for a JupyterLab rental connection.access_url (URL with its token), for an SSH rental connection.ssh_command (run it from the computer holding the private key; it needs cloudflared installed, and -i <private key> when the key is not in ~/.ssh). A rental started with a template also has app (name, version, state installing / starting / ready / failed, step) and, once the app answers, connection.app_url: the link that opens it, with its token; treat it like a password. state failed means the app did not start while the machine runs and bills: say so and offer to stop it. 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.

输入参数rental_id必填

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.

输入参数status

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.

输入参数rental_id必填

list_ssh_keys

List the SSH public keys saved for this API key's person: every one of them is installed on each SSH rental they start. Read-only, no cost.

无需输入参数。

add_ssh_key

Save an SSH public key so SSH rentals accept it (the key also shows on the account's SSH keys page). Pass the PUBLIC key line, e.g. the contents of ~/.ssh/id_ed25519.pub; never a private key. To make one: ssh-keygen -t ed25519 -N '' -f ~/.ssh/paralon_ed25519, then add the .pub file's line and connect with -i ~/.ssh/paralon_ed25519. A key added after a rental started is not on that rental. No cost.

输入参数namepublic_key必填

delete_ssh_key

Delete a saved SSH public key by its id (from list_ssh_keys). New SSH rentals no longer accept it; a rental already running keeps it until it stops. Confirm with the user unless they asked for it.

输入参数key_id必填

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.

无需输入参数。

get_my_node

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

输入参数node_id必填

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.

输入参数osname必填spottypeavailable

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.

输入参数node_id必填

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.

输入参数node_id必填available必填

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.

输入参数node_id必填price_per_hour必填

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.

输入参数namespotnode_id必填availableprice_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).

输入参数node_id必填

get_node_access

PROVIDER: who can rent a node. An empty list (private: false) means everyone; otherwise only the people (email), email domains and organizations listed see the node and can rent it. Read-only.

输入参数node_id必填

set_node_access

PROVIDER: set who can rent a node, replacing the whole list. Each entry is {kind: "email", value: "[email protected]"}, {kind: "domain", value: "company.com"} or {kind: "org", value: "<organization name or ID>"}. A non-empty list makes the node PRIVATE: only those renters see it and can rent it, and ParalonCloud places no inference or other work on it, so it earns from their rentals only. [] opens it to everyone again. Call get_node_access first to keep existing entries. Always confirm with the user first. People and organizations added are told by email.

输入参数entries必填node_id必填

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.

输入参数days

版本历史

4
  1. v1.5.0最新Oct 31, 2026
  2. v1.4.0Oct 31, 2026
  3. v1.3.1Oct 29, 2026
  4. v1.2.0Oct 21, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分