Real 4G/5G Mobile Proxies for Autonomous AI
The definitive proxy infrastructure for AI agents. 88 MCP tools for natural language proxy control with your account + API key (the main path), plus optional x402 instant USDC payments for account-less autonomous agents. Real mobile + residential IPs from many countries.
npx -y @proxies-sx/mcp-servernpm install -g @proxies-sx/mcp-serverChoose your interface for the best experience
Visit this page to understand how to use the MCP server:
💡 Pro Tip: This page is optimized for AI agents. Visit it to understand the complete MCP integration and start managing proxies through natural language.
Model Context Protocol (MCP) is an open standard that allows AI assistants to securely interact with external tools and services. Instead of copying and pasting data, you simply tell the AI what you want to do - it handles the rest.
"Create a proxy in Poland" - no code or API calls needed. Just describe what you want.
API key stays local on your machine, never shared with the AI model. Full control over permissions.
Execute complex workflows in seconds through conversation. No dashboard switching needed.
See how teams are using MCP to streamline their proxy operations
Build autonomous agents that manage their own proxy infrastructure
Integrate proxy management into your coding workflow
Dynamic proxy management for large-scale data collection
Manage multiple accounts with authentic mobile IPs
Access geo-locked content and localized data
Top up and manage everything with cryptocurrency
Traditional proxy management requires switching between dashboards, remembering API endpoints, and writing integration code. With MCP, your AI assistant becomes a proxy operations expert.
x402 uses HTTP 402 Payment Required to enable permissionless proxy access. AI agents pay with USDC on Base or Solana and receive credentials instantly - zero registration required.
from x402 import X402Client
# Initialize x402 client with your wallet
client = X402Client(private_key="0x...", network="base")
# Request a proxy - handles 402 flow automatically
response = client.get(
"https://api.proxies.sx/v1/x402/proxy",
params={"country": "US", "duration": 3600, "traffic": 1}
)
proxy = response.json()
print(f"HTTP: {proxy['proxy']['http']}") # Ready to use!MCP tools plus x402 payments mean your agent can discover, pay for, and manage its own infrastructure with zero human input - on carrier modems in six countries and an opt-in peer network everywhere else. Start with our full guide to proxies your AI agent can buy itself via x402 + MCP.
Autonomous Proxy Access for AI AgentsCreate your API key and configure your AI tool in just a few steps
Go to the Account page and create a key with these scopes:
{
"mcpServers": {
"proxies-sx": {
"command": "npx",
"args": ["-y", "@proxies-sx/mcp-server"],
"env": {
"PROXIES_API_KEY": "psx_your_api_key_here"
}
}
}
}Tip: Place in ~/.mcp.json for global access, or in your project folder for project-specific configuration.
After configuration, test by asking your AI assistant:
What's my Proxies.sx account balance?
Your account balance is $45.00. You have 5/10 endpoints in use and 2.5/10 GB traffic remaining.
If you see your account info, the MCP server is working correctly!
| Variable | Required | Description |
|---|---|---|
| PROXIES_API_KEY | Yes | Your psx_ API key from client.proxies.sx/account (not needed in x402 wallet mode) |
| PROXIES_API_URL | No | Custom API URL (default: https://api.proxies.sx; a trailing /v1 is accepted) |
| AGENT_WALLET_KEY | No | Private key (0x...) of a USDC wallet on Base, for the optional x402 wallet mode |
| PROXIES_EMAIL | Alt | Alternative: Use email/password (with PROXIES_PASSWORD) instead of API key |
The only mobile proxy service built specifically for AI agents and autonomous systems. Real 4G/5G devices, not datacenter IPs.
Mobile and residential IPs from real devices: carrier modems in six countries plus an opt-in peer network. Pick the class with -iptype-mobile or -iptype-residential.
Residential and mobile IPs from real devices, not datacenter ranges. Test on your own target before you scale.
US, UK, Germany, France, Poland, and more. Target specific carriers and cities for geo-precise access.
Rotate to a new device and IP on demand. Auto-rotation schedules. New identity in seconds.
88 tools with an API key (the main path - account + deposited GB; 5 of them need no account) plus 16 wallet-only x402 tools (optional, for account-less agents paying USDC on Base) in v3.0.0. All are listed below; the server reports the same set via MCP tools/list
pool_get_stockGet live Pool Gateway stock, no account neededcountry?pool_get_facetsList the cities, states, carriers (with ASN and class) and IP classes that have stock in one country, with counts, no account neededcountry, pool?, city?, state?, carrier?pool_build_proxy_urlBuild a ready-to-use Pool Gateway proxy URL (gw.proxies.sx, HTTP 7000 or SOCKS5 7001)proxyUsername, password?, pakKey?, pool?, country?, ...pool_explain_errorExplain a Pool Gateway error and say what to do about iterrorpool_get_my_credentialsGet your Pool Gateway proxy username and proxy password with ready HTTP and SOCKS5 URLspool_set_proxy_passwordSet a new proxy password (at least 6 characters)proxyPasswordpool_get_my_statsGet your own Pool Gateway traffic and open connections, plus the health score of the pool and how many devices are connected to itpool_list_sessionsList your saved Pool Gateway sessions: pool, country, carrier, rotation mode, bytes and last activitypakId?pool_close_sessionClose one Pool Gateway session by the sessionKey from pool_list_sessionssessionKey, pakId?pool_close_all_sessionsClose every saved Pool Gateway session of the accountpakId?private_pool_listList your Private Pools with their countries, status, gateway username, connection strings with the password masked (private_pool_reveal shows the key) and remaining GBprivate_pool_buildCreate a Private Pool paid from the account's existing GB balance: no purchase, traffic is metered from the same balancecountries, deviceCount?, dedicateGB?, qualityTier?private_pool_revealShow the gateway password (pak_ key) of a Private PoolpoolIdprivate_pool_usageGet the traffic of a Private Pool per day, in MBpoolId, days?reserved_ip_listList the Reserved IPs a Private Pool holds: country, class, carrier, city, rotation mode, whether the device is online, the exit IP last seen, and connection strings with the password maskedpoolIdreserved_ip_reserveReserve one device for a Private Pool so no other customer is routed through it, and get its connection strings with the password maskedpoolId, country, ipType?, source?, carrier?, ...reserved_ip_rotateMove a Reserved IP to a different device in the same country nowleaseIdreserved_ip_extendChange how long a Reserved IP is kept without trafficleaseId, idleTtlSecreserved_ip_set_rotationSet whether a Reserved IP moves to another device on a schedule: off (hold the device, the default) or every 5, 10, 20 or 60 minutesleaseId, mode, failover?reserved_ip_releaseGive a Reserved IP back to the shared poolleaseIdget_account_summaryGet the account balance, free port slots, traffic bought and left, and any account alertsget_account_usageGet traffic purchased, used and still available, split into Pool Gateway traffic and dedicated-port trafficget_pricingGet the live price per GB, the volume discounts, the free port-slot tiers and your current tiercalculate_priceCalculate what a GB amount costs with the volume discount appliedamountpurchase_shared_trafficBuy traffic in GB from the account balancequantityGB, couponCode?coupon_validateCheck whether a coupon code is valid for an order, without using itcode, orderAmount, orderType?coupon_redeemRedeem a standalone coupon that grants free GB or port slots to the accountcodeget_payment_historyList the account's past payments and crypto top-up orderscreate_crypto_paymentCreate a crypto order that tops up the account balance and return its hosted payment linkamountcheck_crypto_payment_statusCheck whether a crypto order is still unpaid, confirming, paid, expired or cancelled, and whether the balance was creditedorderIdget_pending_crypto_paymentsList the account's crypto orders that are not finished yet, with their payment linkscancel_crypto_paymentCancel a crypto order that has not been paid yetorderIdget_crypto_payment_infoCheck whether crypto top-ups are available right now and which currencies the payment page acceptslist_available_countriesList the countries where a dedicated port can be created right now, with the countryId create_port needscountryId?list_portsList your dedicated ports with status, country, carrier, expiry and port idsstatus?, limit?get_portGet one dedicated port with its location and ready-to-use HTTP and SOCKS5 connection strings (contains the port password)portIdcreate_portCreate a dedicated port on a carrier modem and return its connection stringscountryId, carrierId?, cityId?, expiresInDays?, osFingerprint?delete_portDelete a dedicated port and free its slotportIdupdate_port_credentialsChange the login and/or password of a dedicated portportId, proxyLogin?, proxyPassword?update_os_fingerprintSet the OS fingerprint (TCP/IP signature) a dedicated port presentsportId, osFingerprintreconfigure_portMove a dedicated port to another country, carrier or cityportId, countryId, carrierId?, cityId?extend_portAdd hours to a dedicated port's expiryportId, hoursget_port_statusCheck whether a dedicated port is online, offline or expiredportIdget_port_ipGet the server address a dedicated port listens onportIdping_portTest that a dedicated port answers and measure its latencyportIdspeed_test_portRun a speed test through a dedicated port (download, upload, ping)portIdrotate_portMove a dedicated port to another modem in the same locationportIdcheck_rotation_availabilityCheck whether a dedicated port can be rotated now, how long the cooldown still runs and how many other modems are freeportIdconfigure_auto_rotationTurn automatic rotation of a dedicated port on or off and set its intervalportId, enabled, intervalMinutes?, matchCarrier?, matchCity?get_rotation_historyGet the past rotations of a dedicated port: when, how triggered, the location it moved to and whether it workedportId, limit?get_rotation_token_urlGet the public rotation link of a dedicated portportIdget_proxy_connection_stringBuild the HTTP or SOCKS5 connection string of a dedicated port (contains the port password)portId, protocol?, serverHost?get_all_proxy_formatsGet a dedicated port in every common format: URLs, host:port, environment variables, curl, Python and Node.js snippets, and its public rotation linkportId, serverHost?get_service_statusCheck whether Proxies.sx is healthy right now: open Pool Gateway incidents, the state of the API, gateway and relay, and recent uptimeget_os_fingerprint_optionsList the OS fingerprint values create_port and update_os_fingerprint acceptcreate_support_ticketOpen a support ticket that a person at Proxies.sx reads and answerssubject, message, category?, priority?list_my_ticketsList your support tickets with their status and IDsget_ticketGet one support ticket with the original message and every replyticketIdreply_to_ticketAdd a reply to one of your support ticketsticketId, messageclose_ticketClose one of your support tickets once the problem is solvedticketIdpool_mint_keyCreate a Pool Access Key (pak_) for one of your customers; it is used as the proxy passwordlabel, trafficCapGB?, expiresAt?, qualityTier?pool_list_keysList your Pool Access Keys with usage, cap and expiry; the key values are maskedpool_topup_keyAdd GB to a Pool Access Key's cap and/or extend its expiry in one stepkeyId, addTrafficGB?, extendDays?pool_update_keyChange a Pool Access Key's label, enabled flag, cap, expiry or quality tierkeyId, label?, enabled?, trafficCapGB?, expiresAt?, ...pool_regenerate_keyReplace the secret pak_ value of a Pool Access KeykeyIdpool_reveal_keyShow the full pak_ value of a Pool Access KeykeyIdpool_delete_keyDelete a Pool Access KeykeyIdpool_key_usageGet the traffic of one Pool Access Key per day, in MBkeyId, days?pool_key_auditGet the audit log of one Pool Access Key, newest first: created, changed, topped up, regenerated, revealed, deleted, and gateway logins that worked or failedkeyId, limit?, before?get_x402_sessionGet details of your x402 session including all portssessionTokenlist_x402_portsList all ports in your x402 session with connection strings and expiration timessessionTokenget_x402_port_statusGet detailed status of a specific port including traffic usage and connection infosessionToken, portIdget_sessions_by_walletList all x402 sessions associated with your wallet addresswalletAddress, status?get_session_statusGet quick status check for a session including traffic usage and expirationsessionIdreplace_x402_portReplace an offline port of an x402 session with a new port on another device, at no chargesessionToken, portId?, country?, city?, carrier?calculate_x402_topupCalculate what it costs to add traffic and/or time to an x402 sessionsessionToken, addTrafficGB?, addDurationSeconds?topup_x402_sessionAdd traffic and/or time to an x402 sessionsessionToken, paymentSignature, addTrafficGB?, addDurationSeconds?ops_get_userCustomer 360 view: balance, pool-gateway usage, ports, and (if a farmer) their AI noteuserIdops_get_user_auditRecent ops-agent actions taken on this useruserId, limit?ops_reconcile_paymentsRead-only Stripe-vs-DB payment view for a user (confirmed total + pending)userIdops_list_ticketsList support tickets (admin view)status?, limit?ops_reply_ticketPost an admin reply to a ticket, optionally emailing the customerticketId, message, sendEmail?, reasonops_set_slotsSet a user's port slot limit (capped)userId, sharedSlotLimit?, privateSlotLimit?, reasonops_credit_balanceCredit a user's balance in USD (admin credit)userId, amountUsd, reasonops_email_userSend a personalized email to one user (hourly rate-capped)userId, subject, content, reasonops_list_farmersList farmer AI notes (shared operational memory)limit?ops_get_farmerFarmer fleet funnel (total/online/verified/listed/routable) + AI notefarmerIdops_write_farmer_noteWrite/append a farmer AI note (situation, nextAction, free note) — shared with future AI sessionsfarmerId, situation?, nextAction?, note?, reasonx402_get_proxyBuy a dedicated mobile proxy on one carrier modem by paying USDC from the agent wallet; no account neededcountry, duration_hours?, traffic_gb?, city?, carrier?x402_get_pricingGet the live x402 price per GB, the smallest purchase, the allowed duration and the payment networks, and compare the cost of a purchase with the wallet balancetraffic_gb?x402_list_sessionsList the active x402 proxy sessions this wallet bought from this machine, with location, expiry and proxy hostx402_check_sessionGet status, time left, traffic used and the connection strings of an x402 proxy sessionsession_id?x402_wallet_balanceGet the agent wallet address and its USDC and ETH (gas) balance on the Base networkx402_rotate_ipMove an x402 proxy to another modem so it gets a different exit IPsession_id?x402_list_countriesList the countries where x402_get_proxy can create a proxy right now, with the number of free modemsx402_extend_sessionAdd hours to an x402 proxy sessionsession_id?, additional_hours?x402_service_statusCheck that the x402 payment service is up, and show the wallet balance and how many sessions are active or about to expirex402_get_pool_accessBuy Pool Gateway traffic by paying USDC from the agent wallet; no account neededtier?, country?, traffic_gb?, sid?, rot?x402_pool_creditGet the GB bought, used and left on an x402 pool sessionsession_token?x402_pool_topupAdd GB and/or time to an x402 pool sessionsession_token?, add_traffic_gb?, add_duration_seconds?x402_pool_regenerateReplace the password of an x402 pool credential, for example after a leaksession_token?x402_pool_connectionShow the gateway host, port, username and password of an x402 pool session againsession_token?x402_pool_usageGet the traffic of an x402 pool session per day, in MBsession_token?, days?x402_pool_pricingGet the Pool Gateway tiers that can be bought with x402 and their live price per GB and smallest purchaseSee how to interact with the MCP server through natural language
Check Pool Gateway stock for Germany, then give me a sticky residential proxy URL there
Germany has residential stock online. Here is a sticky session: ``` HTTP: http://psx_abc123-peer-de-iptype-residential-sid-job1-rot-sticky:PASSWORD@gw.proxies.sx:7000 SOCKS5: socks5h://psx_abc123-peer-de-iptype-residential-sid-job1-rot-sticky:PASSWORD@gw.proxies.sx:7001 ``` Tools used: pool_get_stock, pool_get_my_credentials, pool_build_proxy_url
Rotate the IP on my Polish proxy
Rotating your Polish proxy now... **Port moved to another modem.** The login and password stay, the port numbers change. The API does not return the exit IP: send a request through the proxy to see it. One rotation per 5 minutes is allowed.
My proxy answers 407 E_BALANCE_EXHAUSTED. What is wrong?
Your proxy username and password are right, but the account has no traffic left. **What to do:** add GB at client.proxies.sx/purchase, then retry. No credential change is needed. Tools used: pool_explain_error, get_account_usage
Set up auto-rotation every 30 minutes on my main proxy, and match the carrier
**Auto-rotation configured!** | Setting | Value | |---------|-------| | Enabled | Yes | | Interval | 30 minutes | | Match Carrier | Yes | Your proxy will rotate to a new device on the same carrier every 30 minutes.
Choose your path: MCP Server for AI assistants like Claude and Cursor, or x402 Protocol for fully autonomous agents with USDC wallets.
Explore the early-access compute marketplace, supported models and API integration. To provide a Mac, create a farmer account first; it manages your compute nodes, earnings and payout requests.
Already a provider? Open your farmer compute dashboard. Use the step-by-step agent runbook for installation instructions and the agent documentation hub for the wider services.