Allows AI agents to manage dedicated 4G/LTE mobile and residential proxies, including IP rotation, geo-targeting, and TCP fingerprinting.
Also known as mobileproxy/mcp-server, @mobileproxy/mcp-server
- Stars
- 0
- Tools
- 28
- Downloads, 30 days
- —
- Latest version
- 0.6.1
- Last commit
- Oct 11, 2026
- License
- MIT
What is mobileproxy.space MCP?
mobileproxy.space allows AI agents to manage dedicated 4G/LTE mobile and residential proxies, including IP rotation, geo-targeting, and TCP fingerprinting. It exposes 28 tools, such as get_health_snapshot, list_proxies, get_proxy_status.
Summary generated from the project's README
About mobileproxy.space MCP server
Managing dedicated 4G/LTE mobile and residential proxies through AI agents is what this server enables. It provides direct control over mobile proxies, which function as dedicated modems with real carrier IPs, allowing users to rotate IPs on demand or target specific geographic locations. Developers and testers can use these tools to view websites exactly as mobile users in different countries see them, monitor localized content, or maintain traffic privacy.
Users can deploy this server locally using npm, Docker, or a one-click installer for Claude Desktop. It is also available as a remote HTTP endpoint for clients like Claude.ai, Cursor, and Windsurf. The setup requires a mobileproxy.space API key. The server includes specialized tools for managing residential traffic volumes, changing proxy credentials, and adjusting TCP fingerprints to mimic specific operating systems like Windows 11 or iPhone. For local users, it can even integrate with AdsPower to automatically attach proxies to browser profiles.
What you can do with it
- 1Clean blacklisted IP addressesInstruct the AI to rotate a mobile proxy's IP address repeatedly until it no longer appears on any spam blacklists.
- 2Automate browser profile configurationHave the agent write proxy connection details directly into an active AdsPower browser profile.
Written from the project's README. Every use case is checked against a quote from it.
How to install mobileproxy.space MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall mobileproxy.space MCP in Claude Code
$ claude mcp add --env 'MOBILEPROXY_API_KEY=<YOUR_MOBILEPROXY_API_KEY>' --env 'ADSPOWER_API_KEY=<YOUR_ADSPOWER_API_KEY>' mcp-server -- npx -y @mobileproxy/mcp-serverInstall mobileproxy.space MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@mobileproxy/mcp-server"
],
"env": {
"MOBILEPROXY_API_KEY": "<YOUR_MOBILEPROXY_API_KEY>",
"ADSPOWER_API_KEY": "<YOUR_ADSPOWER_API_KEY>"
}
}
}
}Install mobileproxy.space MCP in VS Code
.vscode/mcp.json
{
"servers": {
"mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@mobileproxy/mcp-server"
],
"env": {
"MOBILEPROXY_API_KEY": "<YOUR_MOBILEPROXY_API_KEY>",
"ADSPOWER_API_KEY": "<YOUR_ADSPOWER_API_KEY>"
}
}
}
}Install mobileproxy.space MCP in VS Code CLI
$ code --add-mcp '{"name":"mcp-server","type":"stdio","command":"npx","args":["-y","@mobileproxy/mcp-server"],"env":{"MOBILEPROXY_API_KEY":"<YOUR_MOBILEPROXY_API_KEY>","ADSPOWER_API_KEY":"<YOUR_ADSPOWER_API_KEY>"}}'Install mobileproxy.space MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@mobileproxy/mcp-server"
],
"env": {
"MOBILEPROXY_API_KEY": "<YOUR_MOBILEPROXY_API_KEY>",
"ADSPOWER_API_KEY": "<YOUR_ADSPOWER_API_KEY>"
}
}
}
}Install mobileproxy.space MCP in Codex
$ codex mcp add mcp-server --env 'MOBILEPROXY_API_KEY=<YOUR_MOBILEPROXY_API_KEY>' --env 'ADSPOWER_API_KEY=<YOUR_ADSPOWER_API_KEY>' -- npx -y @mobileproxy/mcp-serverInstall mobileproxy.space MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.mcp-server] command = "npx" args = ["-y", "@mobileproxy/mcp-server"] [mcp_servers.mcp-server.env] MOBILEPROXY_API_KEY = "<YOUR_MOBILEPROXY_API_KEY>" ADSPOWER_API_KEY = "<YOUR_ADSPOWER_API_KEY>"
Install mobileproxy.space MCP in Gemini CLI
$ gemini mcp add -s user -e 'MOBILEPROXY_API_KEY=<YOUR_MOBILEPROXY_API_KEY>' -e 'ADSPOWER_API_KEY=<YOUR_ADSPOWER_API_KEY>' mcp-server npx -- -y @mobileproxy/mcp-serverInstall mobileproxy.space MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@mobileproxy/mcp-server"
],
"env": {
"MOBILEPROXY_API_KEY": "<YOUR_MOBILEPROXY_API_KEY>",
"ADSPOWER_API_KEY": "<YOUR_ADSPOWER_API_KEY>"
}
}
}
}mobileproxy.space MCP tools 28
Detected from the READMEget_health_snapshotlist_proxiesget_proxy_statusget_connection_stringget_balanceget_account_historyupdate_proxy_settingschange_proxy_credentialsreboot_modemfind_available_geoget_geo_listget_price
| get_health_snapshot | — | |
| list_proxies | — | |
| get_proxy_status | — | |
| get_connection_string | — | |
| get_balance | — | |
| get_account_history | — | |
| update_proxy_settings | — | |
| change_proxy_credentials | — | |
| reboot_modem | — | |
| find_available_geo | — | |
| get_geo_list | — | |
| get_price | — |
Show all 28 toolsShow fewer tools
rotate_iprotate_until_cleanchange_geobuy_proxyrenew_proxieslist_tcp_profilesget_tcp_fingerprintset_tcp_fingerprintdiagnose_tcp_fingerprintlist_residential_plansget_residential_locationsget_residential_trafficset_residential_geobuy_residentialadd_residential_trafficattach_proxy_to_adspower
| rotate_ip | — | |
| rotate_until_clean | — | |
| change_geo | — | |
| buy_proxy | — | |
| renew_proxies | — | |
| list_tcp_profiles | — | |
| get_tcp_fingerprint | — | |
| set_tcp_fingerprint | — | |
| diagnose_tcp_fingerprint | — | |
| list_residential_plans | — | |
| get_residential_locations | — | |
| get_residential_traffic | — | |
| set_residential_geo | — | |
| buy_residential | — | |
| add_residential_traffic | — | |
| attach_proxy_to_adspower | — |
Configuration
MOBILEPROXY_API_KEYRequiredSecretAPI token from https://mobileproxy.space/user.html?api
ADSPOWER_API_KEYSecretAdsPower Local API key, only if its security verification is on (for attach_proxy_to_adspower)
MOBILEPROXY_API_BASEOverride REST API base URL (default https://mpsapi.com)
MOBILEPROXY_DEBUGSet to 1 for verbose stderr logs
MOBILEPROXY_TIMEOUT_MSHTTP request timeout in milliseconds (default 30000)
| Name | Description | |
|---|---|---|
| MOBILEPROXY_API_KEY | API token from https://mobileproxy.space/user.html?api | RequiredSecret |
| ADSPOWER_API_KEY | AdsPower Local API key, only if its security verification is on (for attach_proxy_to_adspower) | Secret |
| MOBILEPROXY_API_BASE | Override REST API base URL (default https://mpsapi.com) | |
| MOBILEPROXY_DEBUG | Set to 1 for verbose stderr logs | |
| MOBILEPROXY_TIMEOUT_MS | HTTP request timeout in milliseconds (default 30000) |
Automated checks
Ran Nov 14, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachablemobileproxy/mcp-server is public and reachablegithub.com/mobileproxy/mcp-server ↗Pass
- Package names this repository as its source@mobileproxy/mcp-server names mobileproxy/mcp-server as sourcenpmjs.com/package/@mobileproxy/mcp-server ↗Pass
- Build provenance (Sigstore attestation)Sigstore attestation for @mobileproxy/mcp-servernpmjs.com/package/@mobileproxy/mcp-server/v/0.6.1#provenance ↗Pass
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-10-11github.com/mobileproxy/mcp-server ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNo popular package one edit away from @mobileproxy/mcp-serverPass
- No critical advisory in the package or its dependencies99 resolved dependencies checked; no critical advisoryosv.dev ↗Pass
- No hidden instructions to the model28 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNo tool named like delete, drop or execPass
- Remote endpoint answers the MCP handshakeHTTPS endpoint answered 401 (sign-in required)Pass
README
View on GitHub@mobileproxy/mcp-server
Model Context Protocol server for mobileproxy.space — gives Claude Code, Claude Desktop, Cursor, Windsurf and other MCP-compatible agents direct control over your mobile proxies.
Every mobile proxy is a dedicated 4G/LTE modem with a real carrier IP that stays yours for as long as you need, and you rotate it on demand. Typical uses: testing sites and apps the way mobile users in a given country and network see them, checking ads and localized content by geo, price and availability monitoring, and keeping your own traffic private.
Quickstart
Get your API key at mobileproxy.space/user.html?api.
Claude Desktop — one click
Download mobileproxy.mcpb from the latest release, double-click it, paste your API key. Claude Desktop ships its own Node.js, nothing else to install.
Claude Code
claude mcp add mobileproxy --scope user --env MOBILEPROXY_API_KEY=your_api_key -- npx -y @mobileproxy/mcp-server
--scope user stores the key in your user config, not in the project, so it never ends up in git.
Remote server — nothing to install
The hosted endpoint https://mcp.mpsapi.com/mcp runs the same tools, with two differences: it leaves out the local-only AdsPower bridge, and it quotes purchases, renewals and top-ups instead of charging the balance (quote_proxy_purchase, quote_renewal, quote_residential_purchase, quote_residential_topup return the amount and a dashboard link). Install the package locally to buy from the chat.
- claude.ai: Settings → Connectors → Add custom connector → URL
https://mcp.mpsapi.com/mcp→ paste your API key on the sign-in page. - Claude Code:
claude mcp add --transport http mobileproxy https://mcp.mpsapi.com/mcp --header "Authorization: Bearer your_api_key" - Cursor:
{"mcpServers": {"mobileproxy": {"url": "https://mcp.mpsapi.com/mcp", "headers": {"Authorization": "Bearer your_api_key"}}}}
The server keeps no copy of your key: each request carries it, or an OAuth token that contains it encrypted.
Cursor, Windsurf, Claude Desktop (manual JSON)
{
"mcpServers": {
"mobileproxy": {
"command": "npx",
"args": ["-y", "@mobileproxy/mcp-server"],
"env": {
"MOBILEPROXY_API_KEY": "your_api_key_here"
}
}
}
}
Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows). Cursor: ~/.cursor/mcp.json.
Docker
docker run -i --rm -e MOBILEPROXY_API_KEY=your_api_key ghcr.io/mobileproxy/mcp-server
In an MCP client config use "command": "docker" with "args": ["run", "-i", "--rm", "-e", "MOBILEPROXY_API_KEY", "ghcr.io/mobileproxy/mcp-server"].
Быстрый старт по-русски
MCP-сервер даёт Claude, Cursor и другим AI-агентам прямое управление вашими прокси на mobileproxy.space: список прокси, смена IP, смена страны и оператора, баланс, покупка.
- Возьмите API-ключ в личном кабинете.
- Установите:
- Claude Desktop — скачайте
mobileproxy.mcpbиз последнего релиза, откройте файл двойным кликом и вставьте ключ. - Claude Code — одна команда:
claude mcp add mobileproxy --scope user --env MOBILEPROXY_API_KEY=ваш_ключ -- npx -y @mobileproxy/mcp-server - Без установки — удалённый сервер
https://mcp.mpsapi.com/mcp: в claude.ai добавьте его как коннектор (ключ вводится на странице входа), в Claude Code —claude mcp add --transport http mobileproxy https://mcp.mpsapi.com/mcp --header "Authorization: Bearer ваш_ключ".
- Claude Desktop — скачайте
- Попросите агента обычными словами:
- «Всё ли в порядке с моими прокси?»
- «Дай строку для импорта прокси 470663 в AdsPower»
- «Смени IP на прокси 470663, пока не будет чистый»
- «Где в Казани есть свободные модемы Мегафона и сколько это стоит?»
- «Пропиши прокси 470663 в профиль AdsPower jc8y5g3» (AdsPower должен быть запущен)
- «Поставь прокси 470663 TCP-отпечаток Windows 11 и проверь, что видят сайты»
- «Перенеси прокси 470663 в Турцию»
- «Сколько стоят 5 прокси в Германии на неделю?»
Покупки агент всегда сначала считает в режиме estimate_only и просит подтверждения — деньги без вашего «да» не списываются.
Available tools
read tools only look things up. write tools change something — a proxy, its settings or the balance — and are annotated as destructive, so MCP clients such as Claude ask before running them. Purchase tools (local build only) also take estimate_only: true for a dry run.
Account and proxies
| Tool | Kind | Description |
|---|---|---|
get_health_snapshot |
read | What needs attention: expiring proxies (with auto-renewal state), residential packages low on traffic, optionally blacklisted IPs |
list_proxies |
read | All proxies with connection details; filter by type or country |
get_proxy_status |
read | Current external IP of a proxy + optional spam-blacklist check |
get_connection_string |
read | http:// / socks5:// URLs, a host:port:login:password import line, a curl test, and the change-IP link |
get_balance |
read | Balance in RUB + partner payout amount if any |
get_account_history |
read | Top-ups, purchases, renewals and refunds with receipt links |
update_proxy_settings |
write | Auto-renewal, comment and automatic IP-rotation timer for up to 100 proxies at once |
change_proxy_credentials |
write | New login and password for up to 50 proxies, e.g. after a leak |
reboot_modem |
write | Power-cycle the modem behind a stuck mobile proxy (once per 30 min) |
Mobile, server and backconnect proxies
| Tool | Kind | Description |
|---|---|---|
find_available_geo |
read | Free modems in a country or city, operators that have them, and prices per period — in one call |
get_geo_list |
read | All locations (geoid, ISO, free-modem count); filter by country |
get_price |
read | Prices for every rental period (1/3/7/14/30/60/90/180/365 d) in a country |
rotate_ip |
write | New exit IP: mobile proxies reconnect to the carrier; sticky residential proxies get a new peer |
rotate_until_clean |
write | Rotate a mobile proxy until its IP is on no spam blacklist; keep_if_clean keeps a good current IP |
change_geo |
write | Move a proxy to another country or operator without re-buying |
buy_proxy |
write | Buy proxies — charges the balance (hosted: quote_proxy_purchase) |
renew_proxies |
write | Extend up to 100 proxies by a period — charges the balance (hosted: quote_renewal) |
TCP fingerprint (mobile and server proxies)
Sets the OS signature a proxy shows at the network level (TTL, window, MSS, TCP option order), so proxied traffic looks like the device it represents — for example a Windows desktop or an iPhone.
| Tool | Kind | Description |
|---|---|---|
list_tcp_profiles |
read | Presets: Android, iPhone, Windows, macOS, Linux… |
get_tcp_fingerprint |
read | Which profile each proxy currently presents (null = native) |
set_tcp_fingerprint |
write | Apply a profile to up to 50 proxies; profile_id=0 restores native. Reaches the equipment within a minute |
diagnose_tcp_fingerprint |
read | What fingerprinting endpoints observe through the proxy vs. the applied profile (up to ~45 s) |
Residential proxies (type 3)
Residential is billed by traffic volume, not by rental period, so it has its own plan, geo and top-up tools.
| Tool | Kind | Description |
|---|---|---|
list_residential_plans |
read | GB bundles with price per GB |
get_residential_locations |
read | Countries / regions / cities / ASNs valid for geo targeting |
get_residential_traffic |
read | Daily consumption and burn rate |
set_residential_geo |
write | Read or change geo targeting and rotating/sticky mode — free and reversible |
buy_residential |
write | Buy a traffic bundle — charges the balance (hosted: quote_residential_purchase) |
add_residential_traffic |
write | Top up a package, keeping its geo and connection string (hosted: quote_residential_topup) |
Notes on residential:
- Geo codes come from
get_residential_locations. The backend ignores unknown values and leaves the proxy in its previous location. - Changing geo rewrites the provider login; the response carries the new
http/socks5strings. - In
list_proxiesa residential entry hasproxy_type: 3, both ports equal (one port serves HTTP and SOCKS5), and aresidential_traffic_*quota block.
Local integrations
| Tool | Kind | Description |
|---|---|---|
attach_proxy_to_adspower |
write | Write a proxy (and the change-IP link) into an AdsPower browser profile — experimental, local build only |
attach_proxy_to_adspower talks to the AdsPower Local API on your computer, so AdsPower must be running with its Local API enabled. It is built from AdsPower's API documentation and covered by tests, but not yet verified against a live AdsPower install — please report problems in Issues.
Read tools cache geo and country lookups (5–60 min) to stay within the ~3 requests/sec per-token rate limit.
Configuration
| Env var | Default | Purpose |
|---|---|---|
MOBILEPROXY_API_KEY |
required | Your API token from /user.html?api |
MOBILEPROXY_API_BASE |
https://mpsapi.com |
API portal, reachable from Russia too; override for dev/staging |
MOBILEPROXY_TIMEOUT_MS |
30000 |
HTTP request timeout |
MOBILEPROXY_DEBUG |
0 |
Set to 1 for verbose stderr logs |
ADSPOWER_API_URL |
http://local.adspower.net:50325 |
AdsPower Local API address, for attach_proxy_to_adspower |
ADSPOWER_API_KEY |
unset | Only if AdsPower's Local API has security verification on |
Running as a remote HTTP server
npx -y @mobileproxy/mcp-server --http (or the Docker image with --http) serves MCP over
Streamable HTTP at /mcp. It is stateless and holds no key of its own: clients send their
API key as Authorization: Bearer …, and with MOBILEPROXY_OAUTH_SECRET set it also acts as an
OAuth 2.1 server for claude.ai connectors. See deploy/README.md for the
Docker + nginx setup and every setting.
Client compatibility
| Client | Supported | Notes |
|---|---|---|
| Claude Desktop | ✅ | one-click .mcpb, or the JSON block above |
| Claude Code CLI | ✅ | claude mcp add ... --scope user; ${env:VAR} also works in .mcp.json |
| Cursor | ✅ | hard-code env in config (no substitution) |
| Windsurf | ✅ | as Cursor |
| Cowork / CCD | ⚠️ | ${env:VAR} is not substituted — use user-scope config or a system-wide env var |
See docs/INSTALL.md for per-client setup and troubleshooting.
Privacy
This server is a thin client for the mobileproxy.space API; it adds no tracking of its own.
- What it processes: your mobileproxy.space API key and the parameters of each tool call, which it forwards to the mobileproxy.space API (
mpsapi.com) to act on your account. It does not read or store your conversations, prompts or files. - Local install (npm,
.mcpb, Docker): everything runs on your computer. The key stays in your MCP client's configuration or your OS keychain. - Hosted endpoint (
mcp.mpsapi.com): no database and no copy of your key. Each request carries the key, or an OAuth access token that contains it encrypted (AES-256-GCM; access tokens expire after 1 hour, refresh tokens after 30 days). The web server keeps standard access logs — time, client IP, request line, status, referrer and user agent; never request bodies or theAuthorizationheader — for troubleshooting and abuse prevention, deleted after 14 days. - Third parties: none. Requests go only to the mobileproxy.space API; the optional AdsPower bridge talks to AdsPower on your own computer.
- Revoking access: remove the connector in your client, or regenerate the API key at mobileproxy.space/user.html?api, which invalidates every token built on the old key.
- Full policy: the mobileproxy.space Privacy Policy covers account data. Questions: support at mobileproxy.space or GitHub issues.
Links
License
MIT
mobileproxy.space MCP questions
How do I add mobileproxy.space MCP to Claude Code?
Run claude mcp add --env 'MOBILEPROXY_API_KEY=<YOUR_MOBILEPROXY_API_KEY>' --env 'ADSPOWER_API_KEY=<YOUR_ADSPOWER_API_KEY>' mcp-server -- npx -y @mobileproxy/mcp-server in your terminal. Add --scope user to make it available in every project.
How do I add mobileproxy.space MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
What tools does mobileproxy.space MCP provide?
It exposes 28 tools, including get_health_snapshot, list_proxies, get_proxy_status, get_connection_string, get_balance.
What can I do with the mobile proxies?
You can rotate IPs on demand, change the country or operator, check connection status, and set TCP fingerprints to mimic specific devices like iPhones or Windows desktops.
Does the server store my API key?
No, the server does not keep a copy of your key; each request carries it or an encrypted OAuth token.