Skip to main content
Glama
ParalonCloud

paraloncloud-rentals

Official
by ParalonCloud
README.md
# ParalonCloud Rentals — MCP server

Rent GPUs from inside your AI agent. This is an [MCP](https://modelcontextprotocol.io)
server for the [ParalonCloud Rental API](https://paraloncloud.com/docs/rental-api): it lets
Claude Code, Claude Desktop, Cursor, or any MCP client browse GPUs, start a rental, get its
connection URL, and stop it — using natural language.

> One key for everything: the same `prlc_` key powers ParalonCloud's
> [OpenAI-compatible inference API](https://paraloncloud.com/docs/inference-api). Build an
> agent that calls a model **and** rents the GPU to run the heavy job.

## Tools

| Tool | What it does | Cost |
| --- | --- | --- |
| `list_gpus` | List rentable GPUs with price, VRAM, compute capability, country | free |
| `get_balance` | Your credit balance | free |
| `create_rental` | Start a Jupyter rental (async → poll) | **spends credits** |
| `get_rental` | Status + connection URL once running | free |
| `list_rentals` | Your active rentals (`status: "all"` for history) | free |
| `destroy_rental` | Stop a rental and stop billing | — |

## Setup

### 1. Get a key with the rental scope

1. Create an API key in the [Console](https://paraloncloud.com/console).
2. Turn on the **GPU Rentals** scope for that key (rentals are opt-in).
3. Optionally set **Max rentals running at once** as a safety cap.

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-rentals": {
      "command": "npx",
      "args": ["-y", "@paraloncloud/mcp-rentals"],
      "env": {
        "PARALON_API_KEY": "prlc_your_key_here"
      }
    }
  }
}
```

**Claude Code** — one command:

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

**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`.

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

## Run locally (dev)

```bash
PARALON_API_KEY=prlc_your_key_here node server.js
```

## Links

- Rental API docs: https://paraloncloud.com/docs/rental-api
- Console (create keys): https://paraloncloud.com/console
- Inference API: https://paraloncloud.com/docs/inference-api

MIT

TDQS

A4.6/5.0

Scored across 6 tools

Disambiguation5/5

Each tool targets a distinct resource and action: listing available GPUs, checking balance, creating, retrieving, listing, and destroying rentals. No overlap or ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern (list_gpus, get_balance, create_rental, get_rental, list_rentals, destroy_rental). The verbs and nouns are uniform and predictable.

Tool Count5/5

Six tools is well-scoped for a GPU rental service, covering the essential operations without unnecessary bloat. Each tool serves a clear purpose.

Completeness5/5

The tool surface covers the full lifecycle: browsing available GPUs, checking balance, creating a rental, retrieving connection details, listing rentals, and destroying to stop billing. No critical gaps for the domain.

Maintenance

ActivitySlowing
ResponsivenessNo issues