Skip to main content
Glama
mobileproxy

@mobileproxy/mcp-server

Official
by mobileproxy

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MOBILEPROXY_DEBUGNoSet to 1 for verbose stderr logs0
MOBILEPROXY_API_KEYYesYour API token from /user.html?api
MOBILEPROXY_API_BASENoOverride for dev/staginghttps://mobileproxy.space
MOBILEPROXY_TIMEOUT_MSNoHTTP request timeout30000

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_proxiesA

Returns all proxies owned by the authenticated user with full connection details (host, port, login, password, geo, operator, expiration), and the proxy_id values other tools take. Supports filtering by type (mobile/server/backconnect/residential) and by country (ISO code or numeric id_country). Backconnect and residential proxies carry no country id, so a country filter excludes them. The server already drops expired proxies, but active_only rechecks client-side as a safety net.

get_proxy_statusA

Returns the CURRENT external IP of a proxy and optionally checks if that IP is listed in spam/abuse blacklists (Spamhaus, Stop Forum Spam, etc). Use to verify a fresh rotation succeeded, or to decide if you need to rotate again because the IP is dirty. The check_spam=true mode is slower (~3s extra) but is the only way to assess IP quality. For residential proxies the check does not go through the sticky session and returns a different pool IP each time, so it says nothing about the IP a sticky session is using.

get_balanceA

Returns the current account balance in RUB, plus the can_payout amount for accounts with partner status. Purchases and renewals fail with "Insufficient balance" when the balance does not cover them.

get_account_historyA

Lists balance operations newest first: top-ups, purchases, renewals and refunds, with the amount, a description that names the proxy (PID) where relevant, and a receipt link when one was issued. Dates are Moscow time. Page with offset.

get_geo_listA

Returns all geo-locations (geoid + human caption + ISO + free-modem count) where proxies are currently available for purchase or migration. Use this to: recommend a location to the user, validate before buy_proxy or change_geo, or filter by country (set country to a 2-letter ISO code). The geoid value is needed for buy_proxy. Cached server-side for 60s and client-side for 5 minutes.

get_priceB

Returns mobile proxy prices for a country across all rental periods (1, 3, 7, 14, 30, 60, 90, 180, 365 days). country accepts a 2-letter ISO code (e.g. "RU") or a numeric id_country.

rotate_ipA

Gets a proxy a new exit IP. Mobile proxies (proxy_type=0) reconnect to the carrier and pick up a new cellular IP; residential proxies (proxy_type=3) in sticky mode get a new peer, while in rotating mode the IP already changes on every request. Active connections through the proxy drop. Takes ~3-10 seconds, free of charge, with a short cooldown between rotations. verify=true checks the new IP afterwards (adds ~1-2s).

change_geoA

Swaps the underlying modem of a proxy to one in a different country and/or with a different mobile operator, WITHOUT buying a new proxy (the same proxy_id keeps its login/password — only the physical location changes). Pass at least one of: country (ISO code), id_country (numeric), geoid (from get_geo_list — most specific), or operator (name). Use check_after_change=true to have the server verify the new IP is live before returning (adds 1-10s). Subject to a per-proxy cooldown.

update_proxy_settingsA

Changes settings on one or more proxies at once: auto-renewal on or off, a comment, and the timer that rotates a mobile proxy's IP automatically every N minutes. Only the settings you pass are changed.

change_proxy_credentialsA

Sets a new login and password on one or more proxies, for example after credentials leaked. Without login/password new random ones are generated; the same pair is applied to every proxy in the call. Clients still using the old credentials stop connecting. Returns the new credentials for each proxy.

reboot_modemA

Power-cycles the 4G modem behind a mobile proxy, which clears most hangs where the proxy stops passing traffic and rotate_ip does not help. Active connections drop and the proxy is back in about a minute. Allowed once per 30 minutes per proxy.

buy_proxyA

Buys one or more mobile, server or backconnect proxies and charges the account balance immediately. With estimate_only=true it returns the total without charging or allocating. country accepts an ISO code or id_country; geoid from get_geo_list pins an exact location. Returns the new proxies with full connection details.

renew_proxiesA

Extends one or more mobile, server or backconnect proxies by a period and charges the account balance immediately, at the rate that applies to each proxy. estimate_only=true returns the total without charging. Auto-renewal settings stay as they are. Residential proxies are extended by traffic instead (add_residential_traffic).

list_residential_plansA

Returns the residential (home ISP) proxy plans with price per GB. Residential is billed by traffic volume (GB bundles) rather than by rental period, so these prices replace get_price for residential. Larger bundles cost less per GB. The price_id identifies a plan for purchase or top-up.

get_residential_locationsA

Lists geo targets available for residential proxies: countries, regions (states), cities or ASNs (carriers). set_residential_geo accepts only the code values returned here; the backend ignores unknown codes and keeps the previous location. Cascade: type="countries" → type="regions" with country → type="cities" with country + region (cities need a region because large countries have thousands). Entries may also carry title_ru, a Russian name, which is absent for small towns.

get_residential_trafficA

Returns daily traffic consumption for a residential proxy. Use it to answer "how much have I used / how long will the bundle last". The REMAINING quota is not here — it comes from list_proxies (residential_traffic_left_mb). Combine both to estimate the burn rate before add_residential_traffic.

set_residential_geoA

Reads or changes the geo targeting and session mode of a residential proxy. With only proxy_id it returns the current settings; any other parameter changes them. Free and reversible. Geo codes come from get_residential_locations; the backend ignores unknown codes and keeps the previous location. A change rewrites the provider login, and the response carries the updated http/socks5 connection strings. session_mode="rotating" gives a new IP per request; "sticky" holds one IP for session_time minutes (max 120).

buy_residentialA

Buys a residential (home ISP) proxy: a traffic bundle rather than a time rental. Charges the account balance immediately; estimate_only=true returns the amount without charging. country is optional: without it the pool is global, and set_residential_geo can change it later for free.

add_residential_trafficA

Tops up the traffic quota of an existing residential proxy, keeping its geo settings and connection string. Charges the account balance immediately; estimate_only=true returns the amount without charging. The remaining quota is residential_traffic_left_mb in list_proxies.

get_health_snapshotA

One-call answer to "is everything OK with my proxies?": balance, proxies expiring soon (flagging whether auto-renewal is on), residential packages running out of traffic, and optionally which dedicated IPs sit on spam blacklists. Returns only what needs attention, ordered critical → warning → info. check_spam=true adds one lookup per mobile/server proxy (up to max_spam_checks), so it is slower.

find_available_geoA

Answers "where can I get a mobile proxy in <country/city> on , and what does it cost" in one call: locations with free modems, which operators have free modems there, and mobile proxy prices per rental period, replacing a chain of get_geo_list, operator lookups and get_price. city and operator accept Latin or Cyrillic ("Kazan" or "Казань", "megafon" or "Мегафон") and match the start of a word in the location caption / operator name. Captions are mostly English but some come back in Russian; operator names are API ids such as "megafone", "beeline", "tele2", "mts". The returned geoid and operator work as inputs to the purchase and change_geo tools.

get_connection_stringA

Returns a proxy's credentials as ready-to-paste strings: http:// and socks5:// URLs, a host:port:login:password line that most proxy managers and browser-profile tools import, a curl command to test it, and for mobile proxies the change-IP link that such tools accept as a "change IP URL". For residential proxies the strings reflect the current geo settings, which set_residential_geo changes.

rotate_until_cleanA

Gets a mobile proxy onto an IP that is on no spam/abuse blacklist: rotates, checks the new IP and repeats up to max_attempts, in one call instead of chaining rotate_ip and get_proxy_status. With keep_if_clean=true it checks the current IP first and keeps it when clean. Returns status="cooldown" with wait_seconds when the carrier refuses another rotation yet. Active connections drop on each rotation. Mobile proxies only (proxy_type=0), free of charge.

list_tcp_profilesA

Lists the TCP/IP fingerprint presets a mobile or server proxy can present at the network layer (Android, iPhone, Windows, macOS, Linux…), for making the OS signature of proxied traffic consistent with the client device. set_tcp_fingerprint applies one.

get_tcp_fingerprintA

Shows which TCP fingerprint profile each proxy currently imitates (profile_id null = the device's own, unmasked). Mobile and server proxies only; anything else is listed in errors.

set_tcp_fingerprintA

Makes mobile or server proxies present a TCP fingerprint profile from list_tcp_profiles, so the network-level OS matches the client device (e.g. a Windows desktop on a Windows profile). profile_id=0 restores the device's own fingerprint. Free and reversible. Delivery to the equipment is queued and takes up to a minute, so diagnose_tcp_fingerprint right after may still show the old values. Residential and backconnect proxies are rejected per proxy in errors.

diagnose_tcp_fingerprintA

Sends a real request through the proxy to fingerprinting endpoints and compares what they observe (TTL, window, MSS, window scale, option order, OS guess) with the applied profile, for example to confirm set_tcp_fingerprint took effect. Slow: up to ~45 seconds. Results are cached for 60 seconds per proxy. One proxy per call, mobile or server only.

attach_proxy_to_adspowerA

Writes a mobileproxy.space proxy into an AdsPower browser profile through the AdsPower Local API: host, port, login, password and, for mobile proxies, the change-IP link. It REPLACES the profile's current proxy settings, so confirm with the user first. Requires AdsPower running on this computer with its Local API enabled (ADSPOWER_API_KEY must be set if AdsPower security verification is on). profile_id is the AdsPower profile id (user_id). If the profile is open, restart it to apply.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 28 tools

Disambiguation4/5

Most tools target a distinct resource+action, and descriptions go out of their way to distinguish near-neighbors (e.g. rotate_ip vs rotate_until_clean, get_geo_list vs find_available_geo, get_price for mobile vs list_residential_plans). A few pairs still overlap conceptually (get_residential_traffic vs list_proxies for traffic, get_tcp_fingerprint vs list_tcp_profiles, get_proxy_status vs rotate_until_clean), but the descriptions resolve them.

Naming Consistency5/5

Consistent snake_case verb_noun pattern throughout (get_geo_list, list_proxies, set_tcp_fingerprint, buy_proxy, change_geo, add_residential_traffic). No camelCase or style mixing; the convention is predictable across all 28 tools.

Tool Count3/5

28 tools is heavy for the surface, though the domain genuinely spans mobile + residential proxies, TCP fingerprinting, AdsPower integration, and billing. Some granular getters (get_balance, get_account_history, get_price) and convenience wrappers (find_available_geo, rotate_until_clean) could be consolidated, pushing this into the borderline-heavy range.

Completeness4/5

Strong lifecycle coverage: purchase, renewal, rotation, geo/credential changes, settings, traffic top-up, and health/billing introspection, plus escape hatches like estimate_only and diagnose_tcp_fingerprint. Minor gaps remain (no cancel/delete/expire-a-proxy operation and no IP whitelist/firewall management), but agents can work around these.

Maintenance

ActivityMaintained
ResponsivenessNo issues