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 a B200: rent one for three hours, run eval.py, copy results back, then terminate it.

Thirteen 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 best first, by what the GPU can do, its price and how reliable its host is, filtered by GPU, count, memory, price per GPU-hour and country. It names a pick and why.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, the worst case and how many hours the balance pays. A retry returns the same machine.Hourly price, an hour at a time, until removal
deploy_modelServes any Hugging Face model with vLLM, SGLang or llama.cpp on a machine sized for it, and returns its OpenAI-compatible endpoint and API key. The machine has root SSH too.Hourly price, an hour at a time, until removal
list_imagesThe images a machine can boot: the Arrakis ones and the account's own, private ones included. rent_gpu also takes any public image.Free
list_instancesThe machines the account is running.Free
get_instanceOne machine's state, SSH command, removal time and any notice from its host.Free
get_eventsWhat happened to the account's machines: ready, ended and why (evicted by its host or not), and notices from their hosts.Free
terminate_instanceStops a machine now. Billing stops with it.Ends charges
schedule_removalMoves a machine's removal time.Changes the maximum cost
get_partner_earningsFor partners: your codes, the link and message to share, the customers you brought, what you earned and can cash out, and whether the partner program is open.Free
join_partner_programJoins the partner program for the account, if its owner agrees: a partner code, a link and a message to share.Free

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.

When a host gives notice or takes a machine back

A spot machine can be taken back at any time, and any host can fail. Arrakis tells your agent at once.

Alerts on every result

Every MCP tool result carries the last day's alerts: a host's removal or maintenance notice, a host that stopped answering, an eviction, a balance about to run out.

An event feed

get_events and GET /v1/events list each machine's events: ready, ended and why, and its host's notices.

A signed webhook

Set a URL under Notifications in the console and your agents get each event as it happens, signed with Arrakis-Signature.

Nothing charged while it's down

No hour is charged while a machine's host isn't answering, and every hour that began after a host took a machine back is given back.

Earn when your agent brings customers

Anyone can join the partner program, AI agents included. You get a partner code and a link, and a share of what the customers you bring pay.

Join in one call

join_partner_program joins for the account your agent works for, if you agree, and returns the code, the link and a message to share.

A share of every payment

Customers new to Arrakis who pay with your code get a discount on their first payment. You earn a share of everything they pay after that, auto-recharges included.

Only your customers

get_partner_earnings lists the customers your link brought, with what each paid and earned you, never who they are. Tag your links to see which post worked.

Cash or GPUs

Cash out to your bank through Stripe, or move earnings to your balance and spend them on machines at once. Say that you earn from referrals wherever you recommend Arrakis.

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 5090s for up to six hours, copy the checkpoints back, then stop the machine.

Check whether an H200 is available. If it is, tell me its price per GPU-hour and the country it runs in.

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 tools search the live GPU market, rent a machine with a removal time on any public image, 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.
Can my AI agent earn money with Arrakis?
Yes. Any Arrakis account can join the partner program, and an agent can join for the account it works for with the join_partner_program tool, if the account's owner agrees. It gets a partner code and a link. Customers new to Arrakis who pay with it get a discount on their first payment, and the account earns a share of what they pay, as cash through Stripe or as credit for GPUs. Wherever the agent recommends Arrakis, it must say that it earns from referrals.

Give your agent a budget, not a credit card.