Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Arrakis

REMOTE · ARRAKIS.GOODAILABS.COM

Rent GPUs at live prices and serve any Hugging Face model, with spend caps for AI agents.

66 Trust /100

Last scanned (7 hours ago)

Scores higher than 52% of remote servers

Reachable. Last reached 5 Nov 2026.

Category AI and Machine Learning

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security63
Transport & Reachability100
Schema Quality & AI Usability60
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 4149 tokens (~276/item across 15 items; 15 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management17
  • Stability observed for 5 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage97
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 90% of tool parameters carry a description.Partial
Tool Safety92
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 2 of 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "plan_deploy" implies "deploy" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Partial
  • An AI judge read all 16 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • New tool “instance_ssh_keys”, which the server declares destructive security
    • Tool “rent_gpu” rewrote its description, which is the text the model reads security
    • Schema quality: 3381 → 4149 ▼ functional
    • Destructive annotations: 2 of 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "plan_deploy" implies "deploy" and declares readOnlyHint instead, contradicting what its own name says it does. functional
    • New tool “plan_deploy” functional
    • “rent_gpu” added an optional parameter “ssh_key_ids” cosmetic
  • 4 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

  • 2 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 1 Nov 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “search_gpus” rewrote its description, which is the text the model reads security
    • Stability: unverified → 0.03 ▲ functional
  • 31 Oct 26 64

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://arrakis.goodailabs.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=arrakis.goodailabs.com CN=Amazon RSA 2048 M01,O=Amazon,C=US 13 Oct 2026 28 Apr 2027 RSA 2048 SHA256-RSA 799781bd2d2c04a9a59f5ba079936cd
SANs: arrakis.goodailabs.com
CN=Amazon RSA 2048 M01,O=Amazon,C=US (CA) CN=Amazon Root CA 1,O=Amazon,C=US 23 Aug 2022 23 Aug 2030 RSA 2048 SHA256-RSA 77312380b9d6688a33b1ed9bf9ccda68e0e0f
CN=Amazon Root CA 1,O=Amazon,C=US (CA) CN=Starfield Services Root Certificate Authority - G2,O=Starfield Technologies\, Inc.,L=Scottsdale,ST=Arizona,C=US 25 May 2015 31 Dec 2037 RSA 2048 SHA256-RSA 67f944a2a27cdf3fac2ae2b01f908eeb9c4c6

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of arrakis.goodailabs.com. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
goodailabs.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000; includeSubDomains

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://arrakis.goodailabs.com/mcp Verified 200
http (plaintext) http://arrakis.goodailabs.com/mcp HTTPS enforced 301 https://arrakis.goodailabs.com/mcp
MCP tools · 15 exposed · ~3,250 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
deploy_model ~552

Serve any model from Hugging Face on a machine of the person's, like a hosted inference API but on their own GPU: vLLM or SGLang for text models, vLLM-Omni or SGLang for image and video models (FLUX, Qwen-Image, Wan), vLLM-Omni for speech and music, llama.cpp for a GGUF file (owner/repo:Q4_K_M). extra_args takes the person's own engine options as they'd paste them. COSTS MONEY like rent_gpu: the machine's hourly price, paid an hour at a time from when it runs until terminate_instance or termination_hours; worst_case_usd is the most it can cost. The model's size is read from Hugging Face and, without node_id, the best-ranked clean machine that holds it is rented on as few GPUs as it allows. A gated or private model needs hf_token (read access is enough; it goes to the machine only and Arrakis keeps none). Returns the instance, the endpoint (an OpenAI-compatible base URL once RUNNING, and its api_key) and ssh_command: the person also gets root SSH. The engine downloads the model first, so it answers a few minutes after RUNNING: get_instance shows endpoint_ready. Same idempotency_key returns the same machine.

NameTypeReqDescription
enginestring–Default vllm. omni = vLLM-Omni (image, video, speech, audio).
extra_argsstring–The person's own engine options, as they'd paste them: flags, the whole command, or a docker run line (--max-model-len 32768). Read without a shell; the address, key and model stay Arrakis's.
gpu_countinteger–GPUs of it to rent. Default: the fewest that hold the model.
hf_tokenstring–A Hugging Face token, for a gated or private model.
idempotency_keystring–Reuse when retrying.
max_price_per_gpu_hournumber–The most to pay per GPU-hour (USD).
modelstringyesA Hugging Face model id or link, for example Qwen/Qwen3-8B; for llama.cpp, owner/repo:QUANT picks one GGUF file.
namestring–A name you will recognise.
node_idstring–A machine from search_gpus. Default: the one sized for the model.
ssh_public_keystring–Your SSH public key. Default: the account's first saved key.
termination_hoursintegeryesHours until the machine is removed automatically.

No output schema declared.

No examples provided.

get_balance ~95

The account balance (what it can pay now, what the running machines cost per hour, when the money runs out, whether rentals are paused and whether auto-recharge tops it up from a saved card) and this token's spend cap: the limit, what is committed, what is left, the longest rental allowed and when the token expires. Call it before long jobs and whenever an alert mentions the balance. Free; changes nothing.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_events ~137

Events on your machines, newest first: machine.ready (with its SSH command), machine.ended (reason says why: evicted when its host took it back or stopped working, otherwise stopped, removal_time, out_of_funds, paused or failed) and machine.notice (its host will take it back or restart it at notice_at, stopped answering, or it failed). Check it when a machine stops answering, and after any alert on a tool result. Free; changes nothing.

NameTypeReqDescription
limitinteger–Default 20.
sincestring–Only events after this ISO 8601 time. Default: 30 days.

No output schema declared.

No examples provided.

get_instance ~115

One machine now: state (PENDING or PROVISIONING while it boots, which is free; RUNNING when ssh_command works; then TERMINATED or FAILED), price per hour, ssh_command, removed_by, any notice from its host (host_notice and host_notice_at, host_down_since) and, once it ended, ended_reason (evicted when its host took it back). After rent_gpu, call it every 30-60 seconds until RUNNING. Free; changes nothing.

NameTypeReqDescription
instance_idstringyes–

No output schema declared.

No examples provided.

get_market_summary ~36

Live market summary by GPU family: cheapest price per GPU-hour, GPUs available and machines. Free; needs no token; changes nothing.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_partner_earnings ~155

For partners (agents and people who bring customers to Arrakis): your partner codes with the link and a message to share, what each earns you (a share of what the customers you bring pay), the customers your codes brought (each with what they paid and earned you, and your link tag; never who they are), what you have earned, what is pending until those payments reach Arrakis or held before a cash-out, what you can cash out or move to your balance, any sales target with its progress, and whether the partner program is open to join. Free; changes nothing. Wherever you recommend Arrakis, say that you earn from referrals (the partner terms). Needs a token with the billing scope.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

instance_ssh_keys ~220

List, add or take off the SSH keys that can log in to a running machine. With only instance_id: the keys on it (fingerprint, comment, the saved key's name). add_ssh_key_ids / add_public_keys: more keys can log in (a teammate's, a new laptop's), at once. remove_fingerprints: those keys can't log in any more (rotate a key: add the new one and remove the old one in one call); taking keys off takes up to half a minute, and at least one key must stay. Free: it changes no billing. Keys are never returned, only fingerprints.

NameTypeReqDescription
add_public_keysarray–Public keys that can log in too (the .pub file's line).
add_ssh_key_idsarray–Saved keys (list_ssh_keys) that can log in too.
instance_idstringyes–
remove_fingerprintsarray–Fingerprints (SHA256:...) of keys on the machine to take off.

No output schema declared.

No examples provided.

join_partner_program ~168

Join the Arrakis partner program and get your own partner code, link and a message to share. The account earns a share of what the customers it brings pay, as cash (paid through Stripe to the person or company you act for, once they set up payouts in the console) or Arrakis credit you can spend on GPUs. Only join if the person or company you act for agrees: joining accepts the partner terms (terms_url from get_partner_earnings) for them. Pass the terms_version you read. Free; joining again returns the same code. Add ?tag=<label> to your link to tell your own channels apart. Needs a token with the billing scope.

NameTypeReqDescription
terms_versionstringyesThe partner terms version you read (get_partner_earnings returns it).

No output schema declared.

No examples provided.

list_images ~70

Images a machine can boot, for rent_gpu's template_id: the Arrakis images (PyTorch, CUDA toolkit, Ubuntu; SSH, login banner and tools built in) and the account's saved ones, with download size. Any other public image works through rent_gpu's image. Free; changes nothing.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_instances ~58

Every machine on the account with its state, price per hour, SSH command, removal time and any notice from its host. Check it at the start of a session: a machine left running keeps billing until its removal time. Free; changes nothing.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

plan_deploy ~212

What serving a Hugging Face model takes, before anything is rented: the GPU memory it needs and the machines it fits on right now, best value first, each with its hourly price and a rough speed. Free; rents and changes nothing. Call it first whenever the person wants a model running (to chat with, call from code, generate images, video or speech, or run evals against), tell them the price, then deploy_model with the option's node_id and gpu_count.

NameTypeReqDescription
enginestring–Default vllm. omni = vLLM-Omni (image, video, speech, audio).
extra_argsstring–The person's own engine options, to check them before renting.
hf_tokenstring–A Hugging Face token, for a gated or private model.
modelstringyesA Hugging Face model id or link, for example Qwen/Qwen3-8B; for llama.cpp, owner/repo:QUANT.

No output schema declared.

No examples provided.

rent_gpu ~649

Rent one machine found by search_gpus, for work you run yourself over SSH (training, fine-tuning, batch jobs). To serve a model, use plan_deploy then deploy_model instead: one call sets up the machine, the engine and an OpenAI-compatible endpoint. COSTS MONEY: price per GPU-hour x GPUs, paid an hour at a time from when it starts running (booting is free) until terminate_instance or termination_hours, whichever comes first; worst_case_usd in the result is the most it can cost, and balance_covers_hours says how many hours the balance pays. It rents every GPU on the machine unless gpu_count says fewer (only some hosts allow that). Pass max_price_per_gpu_hour, normally the price search_gpus showed: if the live price is higher nothing is rented and the error gives the new price. Spot machines can be taken back by their host at any time. Boots the Arrakis PyTorch image unless template_id (list_images) or a public image is given; uses ssh_public_key, else ssh_key_id, else the account's first SSH key. Returns instance_id, state, the locked price, worst_case_usd and what to do next. Calling again with the same idempotency_key, or the same node_id and name within 10 minutes, returns the same machine instead of renting a second; use a new name for a second machine.

NameTypeReqDescription
gpu_countinteger–GPUs to rent on that machine. Default: all of them (the whole machine); fewer works only on hosts that allow splitting.
idempotency_keystring–Reuse when retrying.
imagestring–Or any public image as docker pull takes it, e.g. vllm/vllm-openai:v0.11.0 or nvcr.io/nvidia/pytorch:25.01-py3 (x86-64). Checked with its registry before anything is charged. Not with template_id.
max_price_per_gpu_hournumber–The most to pay per GPU-hour (USD). If the live price is higher, nothing is rented.
namestringyesA name you will recognise.
node_idstringyesnode_id from search_gpus.
ssh_key_idstring–Id of an SSH key saved on the account.
ssh_key_idsarray–Several saved keys by id (list_ssh_keys): every one of them can log in, for example the person's and a teammate's.
ssh_public_keystring–Your SSH public key, for example the contents of ~/.ssh/id_ed25519.pub.
startstring–With image: idle (default) keeps the machine waiting for SSH; image runs the image's own command (server images such as vLLM). Reach a server with ssh -L 8000:localhost:8000.
template_idstring–Image to boot: an id from list_images. Default: the Arrakis PyTorch image (SSH, login banner and tools built in).
termination_hoursintegeryesHours until the machine is removed automatically.

No output schema declared.

No examples provided.

schedule_removal ~117

Change when a machine is removed automatically (ISO 8601, UTC). It bills until then, and removal deletes the machine and its disk. Use it to end a rental early when the job will finish sooner, or, with a token that has no spend cap, to extend a long run. A token with a spend cap can only move removal earlier.

NameTypeReqDescription
atstringyesWhen to remove it, for example 2026-10-13T18:00:00Z.
instance_idstringyes–

No output schema declared.

No examples provided.

search_gpus ~596

Search GPU machines you can rent now at live prices: B300, B200, H200, RTX PRO 6000, RTX 5090, H100 and more. Free; changes nothing. Use it before rent_gpu and to answer what a GPU costs right now. Rows come best first: what the GPU can do (capability, H100 = 1.0), its price and how reliable its host is, with badges saying why (Reliable host, NVLink, or a warning such as a host taking it back soon); sort=price lists the cheapest first. pick is the first row with the reason, cheapest the lowest whole-machine price. Each row has node_id (for rent_gpu), gpu, gpu_count (rent_gpu rents all of them unless gpu_count says fewer; max_gpus 1 finds single-GPU machines), vram_gb per GPU, price_per_gpu_hour_usd, price_per_hour_usd for the whole machine, CPUs (and cpu, the model), RAM, disk, location, tier and network. Badges also say when renters rate a host low, it often fails to start or its GPUs are slow next to the same GPU elsewhere. Tiers: on_demand runs until its removal time; spot costs less but its host can take it back at any time, so use it only for work that saves checkpoints off the machine. Prices can move within a minute: pass the row's price to rent_gpu as max_price_per_gpu_hour. For multi-machine training add min_nic_gbps 400 and min_nics_per_gpu 1; null network fields were not reported.

NameTypeReqDescription
countrystring–Two-letter country code, for example US or DE.
gpu_typestring–GPU family, for example H100.
gpudirect_rdmaboolean–true: only machines whose market reports GPUDirect RDMA.
limitinteger––
max_gpusinteger–Only machines with at most this many GPUs; 1 for a single-GPU job.
max_price_per_gpu_hournumber–Price ceiling in USD per GPU-hour.
min_gpusinteger–Only machines with at least this many GPUs.
min_nic_gbpsnumber–RDMA NICs at least this fast, Gb/s (400, 800).
min_nics_per_gpunumber–RDMA NICs per GPU; 1 = one NIC per GPU.
min_vram_gbnumber–Only GPUs with at least this much memory each.
nic_typestring–Only this NIC type.
sortstring–recommended (default), price (cheapest first), value (capability per dollar on a trusted host) or capability (fastest GPU first).
tierstring–Only this tier. Default: all.

No output schema declared.

No examples provided.

terminate_instance ~70

Stop a machine now and delete it with everything on its disk; billing stops (the hour already started is paid). Copy results off first, for example with scp or rsync over its ssh_command. Cannot be undone; terminating a machine that already ended changes nothing.

NameTypeReqDescription
instance_idstringyes–

No output schema declared.

No examples provided.

Install

How do I install the Arrakis MCP server?

Arrakis is a hosted endpoint at https://arrakis.goodailabs.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · arrakis.goodailabs.com

# add to Claude Code
claude mcp add --transport http com-goodailabs-arrakis 'https://arrakis.goodailabs.com/mcp'
Common questions

What is the Arrakis MCP server?

Arrakis is an MCP server listed in the public MCP registry as com.goodailabs/arrakis. Rent GPUs at live prices and serve any Hugging Face model, with spend caps for AI agents. This page covers its hosted endpoint (https://arrakis.goodailabs.com/mcp).

Is the Arrakis MCP server safe to use?

Arrakis scores 66 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Arrakis MCP server expose?

Arrakis exposes 15 tools: search_gpus, get_market_summary, get_partner_earnings, join_partner_program, get_balance, and 10 more. Their descriptions and schemas cost roughly 3,250 tokens of context every time the server is loaded.

Does the Arrakis MCP server require authentication?

No. We connected to Arrakis without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the Arrakis MCP server still maintained?

Arrakis is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.