Arrakis for agents

Your agent can search the market, rent a GPU, run its job and shut the machine down. You decide the budget before it starts, and it cannot spend past it.

Connect in three steps

Arrakis serves MCP over HTTP from the same address as this site. There is nothing to install.

  1. Create a token for your agent

    In the console, open API & agents and choose a token for an agent. It gets the read and rent scopes, a spend cap and a maximum rental length. From the CLI:

    arrakis tokens create --name eval-agent \
      --scope read --scope rent \
      --spend-limit 50 --max-rental-hours 6 --expires-in 7d
  2. Add the MCP endpoint

    Use the token as a bearer header.

    Connect over MCP
    claude mcp add --transport http arrakis $ARRAKIS_URL/mcp \
      --header "Authorization: Bearer ark_..."

    $ARRAKIS_URL is this site's address. Replace ark_... with an API token from the console.

  3. Give it a job

    Say how long the machine may live. Your agent passes that as the removal time.

    Run my eval suite on an H100: rent one for three hours, run eval.py, copy results back, then terminate it.

Eight tools

Each tool says what it costs before your agent calls it. Errors come back with the API's own explanation.

ToolWhat it doesCost
search_gpusLists available machines, cheapest first, filtered by GPU, count, price per GPU-hour and country.Free
get_market_summaryThe lowest price and the supply of each GPU family right now.Free
get_balanceThe account's balance, what the running machines cost per hour, when the money runs out, and the token's cap.Free
rent_gpuRents a machine for at most termination_hours and returns its SSH command. Creates and returns an idempotency key if none is passed.Hourly price, an hour at a time, until removal
list_instancesThe machines the account is running.Free
get_instanceOne machine's state, SSH command and removal time.Free
terminate_instanceStops a machine now. Billing stops with it.Ends charges
schedule_removalMoves a machine's removal time.Changes the maximum cost

What keeps unattended spend safe

These rules live in the API, so they hold for MCP, the CLI and plain HTTP alike.

Spend caps

A capped token counts each rental at its worst case, hourly price times removal hours, and refuses the one that would pass the cap.

Required removal

A capped token cannot rent without termination_hours, or past its maximum rental length.

Retry safety

The same idempotency_key always returns the same machine. A retry never rents twice.

Scoped tokens

Read, rent, manage and billing are separate. A token cannot mint one with scopes it lacks.

Prepaid by the hour

A rental pays its first hour up front and each later hour as it begins. When the balance cannot pay, the machine stops.

Expiry

Agent tokens can expire on a date you choose. An expired token stops working everywhere at once.

Things to ask

Plain requests work. Name a time limit and a budget and your agent will respect both.

Find the cheapest GPU with at least 48 GB of memory, rent it for two hours, and tell me how to SSH in.

Fine-tune with train.py on four RTX 4090s for up to six hours, keep checkpoints on my volume, then stop the machine.

Check whether an H200 is available under $2.50 an hour. If it is, tell me the price and the country.

Questions about agents and GPUs

Anything else is in the MCP guide or the API reference.

Is there an MCP server for renting GPUs?
Yes. Arrakis runs a remote MCP server at https://arrakis.goodailabs.com/mcp over streamable HTTP with a bearer token. Its eight tools search the live GPU market, rent a machine with a removal time, check the balance and shut machines down.
How do I let Claude Code rent a GPU?
Create an agent token with a spend cap in the console, then run claude mcp add --transport http arrakis https://arrakis.goodailabs.com/mcp --header "Authorization: Bearer ark_...". Claude Code can then search, rent and shut down GPUs, and it cannot spend past the cap.
Can Cursor and other agents use Arrakis?
Yes. Any MCP client that connects to remote servers over streamable HTTP can use /mcp with a bearer token. A client that only runs local servers can use arrakis mcp, which serves the same tools over stdio. Anything that calls a REST API can use the endpoints in /openapi.json.
How do I stop an AI agent from overspending on GPUs?
Give it its own token with a spend cap and a longest rental. Arrakis refuses any rental whose worst-case cost would pass the cap, every rental the token makes must carry a removal time, and a retry with the same idempotency key never rents twice.
What happens if my agent crashes while a GPU is running?
The machine still removes itself at its removal time, so a crashed agent cannot leave a GPU billing. Every machine is also in the console, where you can stop it.
Does an agent need its own account?
No. An agent works under your account with a token you create. The token's permissions, spend cap and expiry are its whole budget, and you can revoke it at any time.

Give your agent a budget, not a credit card.