Cua Spaces skill and MCP setup

Give the agents in your Cua Spaces a 4G/5G mobile IP for the Space's browser and real US numbers for the codes a sign-up sends. VoidMob runs next to the cua MCP server, so your key stays on your own computer.

US numbersNumbers
$0.15/code
Dedicated numbersDedicated
$16.99/mo
Mobile proxiesProxies
$3.99/GB
Cua SpacesYour Mac, your own computers or your own cloud
Your terminal, on the computer your agent runs on
$ cua agents setup --agents claude --yes$ claude mcp add voidmob -s user -e VOIDMOB_API_KEY='${VOIDMOB_API_KEY}' -- npx -y @voidmob/mcp$ claude mcp list

Then ask Cua Spaces

What's my VoidMob balance?

A number back means the key and the install both work.

cua agents setup gives Claude Code the cua skills and MCP server, and the next line adds VoidMob beside them. Claude Code buys and reads codes on your computer, then types into the Space through cua's tools.

Set up VoidMob in Cua Spaces

One step is yours whichever path you take: create an API key in the dashboard and top up the balance with crypto.

  1. Create a key and fund the balance

    Create a key under Developers, API Keys in the VoidMob dashboard (it is shown once) and top up with crypto. Agents can spend the balance and nothing beyond it.

  2. Export the key

    Add export VOIDMOB_API_KEY=vmk_live_... to your shell profile on the computer your agent runs on, then open a new terminal.

  3. Connect cua and VoidMob

    Run the cua agents setup line, then the claude mcp add or npx skills line. Try the sandbox line of the MCP server first to watch the tools work on play money.

  4. Check both sets of tools

    Start a new Claude Code session and ask it to list your Cua Spaces and read your VoidMob balance. Two answers mean the agent holds both.

  5. Make a proxy list for a cloud Space

    On a shared plan, have the agent run curl -s https://ipinfo.io/ip in the Space, then create an IP-whitelist proxy list for that address in the country you want.

  6. Point the Space's Chromium at it

    Have it run echo '{"ProxySettings": {"ProxyMode": "fixed_servers", "ProxyServer": "proxy.voidmob.com:10000"}}' | sudo tee /etc/chromium/policies/managed/voidmob-proxy.json in the Space, then reopen the browser.

A first task to try

Paste this to Cua Spaces. The panel plays what the setup above makes happen.

Open a Linux Space and start my Discord sign-up in its browser. When it asks for a phone number, quote me a US number and wait for my yes, then enter the code it receives.
Cua Spacesvoidmob MCP server
Open a Linux Space and start my Discord sign-up in its browser. When it asks for a phone number, quote me a US number and wait for my yes, then enter the code it receives.
search_sms_servicesquery: "discord"
Discord svc_discord verify=$0.15

A US non-VoIP number for Discord is $0.15. It stays open 15 minutes, and if no SMS arrives the $0.15 goes back to your balance. Rent it?

Yes, rent it.
rent_numberservice_id: "svc_discord", max_price_cents: 15spends $0.15
Verification ver_7kq2m9 created · +1 (602) 555-0148 · charged $0.15
get_rentalrental_id: "ver_7kq2m9", wait_seconds: 60
Waited 9s: a code arrived.
Incoming SMS · DiscordCode received

Your Discord verification code is 482913

That's your code. More codes can arrive on this number until it expires.

Prices from today's catalog. The number, code and IDs are examples.

You can step into the Space at any point, type a password or finish a screen yourself, then hand control back. No SMS within the window and the price goes back to your balance.

Checks before every charge

Two checks always run at VoidMob: the price you approved and your balance. Two more run inside your MCP server when you set them. A refusal at any of them charges nothing.

No SMS, no charge

A verification number stays open 15 minutes. If no SMS arrives, the price returns to the balance automatically, except on services marked non-refundable.

Keys you can pull

Give Cua Spaces its own key and revoke it on the API Keys page whenever you like. It stops working at once.

See every scenario on the MCP page
purchase_esimmax_price_cents: 699Japan · 5 GB · 15 days · $6.99
  1. Per-order limitIn your MCP server, when set

    VOIDMOB_MAX_ORDER_CENTS=2500

    $6.99 is under the $25.00 limit (passed)

  2. Session budgetIn your MCP server, when set

    VOIDMOB_BUDGET_CENTS=5000

    $6.99 of $50.00 left (passed)

  3. Price you approvedAt VoidMob, always

    max_price_cents

    Live $6.99, approved $6.99 (passed)

  4. Your balanceAt VoidMob, always

    prepaid, topped up by you

    $42.10 covers it (passed)

Item price from today's catalog. Limits are the README's $25 per order and $50 per session; the balance is an example.Charged $6.99, the price you approved

When Cua Spaces and VoidMob disagree

  • A page opened from the Space's desktop still shows the VM's address

    The full Linux image's desktop opens links in Firefox, which ignores Chromium's policy files. A Chromium window that was already open also keeps its old route until it starts again.

    Fix

    Have the agent browse with cua's browser tools, which drive Chromium, and reopen Chromium after writing the policy. The slim Linux image ships Chromium only.

  • Pages stop loading once the proxy policy is in place

    An IP-whitelist list accepts only the address it was created for and takes a few minutes longer than a login list to become usable. A cloud VM can also get a new public address when it stops and starts.

    Fix

    Give a new list a few minutes, then compare curl -s https://ipinfo.io/ip in the Space with the list. For a new address, create a new list, since a whitelist cannot be edited. A static IP from your cloud keeps one list working.

  • Codex cannot see the VoidMob tools

    claude mcp add registers the server for Claude Code only, and each agent reads its own MCP list.

    Fix

    Install the skill with the npx skills line, which covers Claude Code and Codex at once, or add the server to Codex with codex mcp add.

  • A run started inside a Space reports that VOIDMOB_API_KEY is not set

    Cua hands a run inside a Space the model keys its agent reads, plus only the other keys you name when the run starts.

    Fix

    Save the key in Cua Spaces under Settings, Agents as another key named VOIDMOB_API_KEY, then name it in env_from_host when the run starts. On a Linux host, export it in the Cua daemon's environment instead.

Give Cua Spaces a balance to draw on

Create an API key, top it up with crypto, and paste it where the setup above says. Prefer to look first? The MCP server runs on play money with no key.

Frequently Asked Questions

Common questions about VoidMob in Cua Spaces.

Does a Space on my own Mac need a proxy?
No. A Space on your Mac or on another computer you own browses from that computer's connection, the address you already use. The proxy is for Spaces on a VM in your AWS or Google Cloud account, which browse from datacenter IPs.
Why does Teleport make the proxy matter more?
Teleport moves a signed-in session from your Mac into a Space. On a cloud Space the same session then reaches the site from a datacenter in your cloud's region. A VoidMob list in your own country routes the Space's browser through a 4G/5G carrier IP there instead.
Can an agent I start inside a Space use VoidMob?
Yes, once the key reaches the run. Save it in Cua Spaces under Settings, Agents as another key named VOIDMOB_API_KEY and name it in env_from_host when you start the run: Cua forwards it by name, so the value never passes through the conversation. The agent also needs the VoidMob skill in the Space.
Will the agent buy without asking?
VoidMob's MCP server and skill tell the agent to quote the live price and wait for your yes, and each buy carries that price, so a higher one is refused. For hard caps, add -e VOIDMOB_MAX_ORDER_CENTS=2500 -e VOIDMOB_BUDGET_CENTS=5000 to claude mcp add, or VOIDMOB_READ_ONLY=1 for search and status only.
Can the agent test my app's SMS login in a Space?
Yes. Cua's own example task is a checkout test in the Space's browser. When your flow sends an SMS code, give the test account a dedicated monthly number, which receives SMS from any sender, and let the agent read the code your app sends. One-time numbers only take codes from the services listed in the VoidMob catalog.