Skip to main content
Glama

MCProxy

An MCP server that gives AI agents on-demand access to proxies from the world's leading and Russian/CIS proxy providers — through a single, unified interface.

Built with FastMCP 3. When an agent needs a proxy, it calls one MCProxy tool; MCProxy talks to whichever provider you've configured and returns ready-to-use proxy strings.


Why

Every proxy provider has its own API, auth scheme, and quirks. MCProxy normalizes them behind one provider-agnostic tool surface so an agent (or you) can:

  • discover which providers are configured and what they support,

  • generate or list proxies with geo-targeting and rotation,

  • buy and extend proxies where the provider's API allows it,

  • check balance / usage and list targetable countries,

  • run requests through managed scraping APIs,

…without learning each vendor's API.

Related MCP server: Frostbyte MCP

How it works

AI agent ──MCP──> MCProxy (FastMCP server)
                      │
                      ├─ unified tools: list_providers, get_proxies,
                      │   generate_proxy_list, buy_proxies, check_balance, …
                      │
                      └─ provider registry ─> per-provider adapters ─HTTP─> vendor APIs

Each provider is a small adapter that maps the vendor's API onto shared models (ProxyEndpoint, BalanceInfo, CountryListResult, …). A registry exposes them, and a handful of generic tools dispatch to the right adapter based on a provider argument. This keeps the tool count low (great for token usage) while supporting many providers.

Supported providers

Implemented adapters

Provider

Region

Types

Operations

Webshare

🌍 US

datacenter, ISP, residential

list, balance, usage, countries

IPRoyal

🌍 LT

residential

generate, balance, usage, countries

ProxyMesh

🌍 US

datacenter, ISP

list, countries, usage

ScraperAPI

🌍 US

scraping API

scrape, usage

ScrapingBee

🌍 FR

scraping API

scrape, usage

Proxy6

🇷🇺 RU

datacenter (IPv4/IPv6)

list, balance, countries, buy, extend

ProxyLine

🇷🇺 RU

datacenter (IPv4/IPv6)

list, balance, countries, buy, extend

Proxy-Store

🇷🇺 RU

datacenter, residential, mobile

list, balance, countries, buy, extend

Proxy-Seller

🇷🇺 RU

IPv4/IPv6/ISP/mobile/residential

list, balance, countries

ASOCKS

🇷🇺 RU/CIS

residential, mobile

balance

FineProxy

🇷🇺 RU

datacenter, ISP, residential

balance

Documented & planned

list_providers also surfaces a catalog of major providers with public APIs whose adapters are planned: Bright Data, Oxylabs, Decodo (Smartproxy), SOAX, NetNut, Infatica, Proxy-Cheap, Zyte, Nimble, Rayobyte (global) and Mobile Proxy Space, iProxy.online, ProxyMarket, Froxy (RU/CIS). See docs/PROVIDERS.md for the full landscape, API notes and sources.

Install

Requires Python 3.12+. uv recommended.

git clone https://github.com/evgenygurin/mcproxy.git
cd mcproxy
uv venv --python 3.12
uv pip install -e .            # add ".[dev]" for tests/linting

Configure

Credentials are read from environment variables (or a local .env). Configure only the providers you use. Copy .env.example and fill in your keys:

cp .env.example .env
# e.g.
WEBSHARE_API_KEY=...
IPROYAL_API_TOKEN=...
PROXY6_API_KEY=...

list_providers shows which providers are configured and the exact env var names each one needs.

Run

# stdio (default — for Claude Desktop, Cursor, etc.)
uv run mcproxy
# or
uv run fastmcp run server.py:mcp

# HTTP transport
MCPROXY_TRANSPORT=http MCPROXY_PORT=8000 uv run mcproxy

Use with an MCP client

{
  "mcpServers": {
    "mcproxy": {
      "command": "uv",
      "args": ["run", "mcproxy"],
      "env": {
        "WEBSHARE_API_KEY": "your-key",
        "PROXY6_API_KEY": "your-key"
      }
    }
  }
}

Tools

Tool

Purpose

list_providers

Discover providers, capabilities and config status. Start here.

get_provider_info

Capabilities for one provider.

get_proxies

List proxies already on your account (fixed-IP providers).

generate_proxy_list

Generate proxy strings with geo + rotation (residential pools).

buy_proxies

Purchase new proxies (spends money; supported providers only).

extend_proxies

Renew existing proxies by ID.

check_balance / get_usage

Monitor spend and traffic.

list_countries

Targetable locations for a provider.

scrape

Fetch a URL through a managed scraping API.

acquire_proxy

"Just give me a proxy" — picks a configured provider automatically.

Every returned proxy includes a ready-to-use url (e.g. http://user:pass@host:port).

Settings

Global options use the MCPROXY_ prefix:

Variable

Default

Description

MCPROXY_TRANSPORT

stdio

stdio, http, or sse.

MCPROXY_HOST / MCPROXY_PORT

127.0.0.1 / 8000

HTTP bind address.

MCPROXY_REQUEST_TIMEOUT

30

Outbound HTTP timeout (seconds).

MCPROXY_DEFAULT_PROVIDER

–

Preferred provider for acquire_proxy.

Development

uv pip install -e ".[dev]"
uv run pytest          # tests (in-memory MCP client + mocked HTTP)
uv run ruff check .    # lint
uv run mypy src        # types

Adding a provider: create src/mcproxy/providers/<name>.py subclassing BaseProvider, override the operations it supports, and register it in src/mcproxy/providers/__init__.py. See webshare.py for a clean reference.

Disclaimer

Use proxies lawfully and in accordance with each provider's terms of service and applicable law. This project is an integration layer; it does not endorse misuse.

License

MIT

Available Tools

11 tools
acquire_proxyA
Read-only

Get a single ready-to-use proxy from any configured provider.

Convenience for "I just need a proxy now": picks the first configured provider that can serve the requested type, preferring generation over listing. Use the more specific tools for control over which provider.

Inputs: country, proxy_type. Returns: Result of listing or generating proxies.

buy_proxiesA

Purchase new proxies. This spends real money on the provider account.

Only available for providers that support programmatic ordering (e.g. proxy6, proxystore, proxyline). Check list_providers first.

Inputs: provider (required), quantity (required), proxy_type (required), country, +2 more. Returns: Result of listing or generating proxies.

check_balanceA
Read-only

Check the account balance / remaining traffic allowance for a provider.

Inputs: provider (required). Returns: Account balance / remaining allowance for a provider.

extend_proxiesA

Extend/renew existing proxies by their IDs. Spends real money.

Inputs: provider (required), proxy_ids (required), period_days (required). Returns: object

generate_proxy_listA
Read-only

Generate ready-to-use proxy strings with geo-targeting and rotation.

Best for residential/rotating providers (e.g. iproyal). Each proxy in the result has a url field usable directly as an HTTP/SOCKS5 proxy.

Inputs: provider (required), isp, city, count, +6 more. Returns: Result of listing or generating proxies.

get_provider_infoA
Read-only

Get capabilities and configuration status for a single provider.

Inputs: provider (required). Returns: Static description of what a provider supports.

get_proxiesA
Read-only

List proxies already on your account with a given provider.

Best for providers that sell fixed IPs (e.g. proxy6, proxyline, webshare, proxymesh). For rotating/residential pools, prefer generate_proxy_list.

Inputs: provider (required), limit, country, proxy_type. Returns: Result of listing or generating proxies.

get_usageA
Read-only

Get traffic / request usage statistics for a provider.

Inputs: provider (required). Returns: Traffic / request usage for a provider.

list_countriesB
Read-only

List the countries/locations targetable with a provider.

Inputs: provider (required), proxy_type. Returns: count, provider, countries

list_providersA
Read-only

List all supported proxy providers and their capabilities.

Always call this first. Shows each provider's proxy types, supported operations, whether it is configured, and the env vars it requires.

Inputs: configured_only. Returns: result

scrapeB
Read-only

Fetch a URL through a managed scraping API (e.g. scraperapi, scrapingbee).

Inputs: url (required), provider (required), country, premium, +1 more. Returns: Result of a managed scraping-API request.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.8/5.0

    Scored across 11 tools

    Disambiguation4/5

    Most tools target distinct actions (list, generate, buy, extend), but `acquire_proxy` overlaps somewhat with `get_proxies` and `generate_proxy_list`, and `check_balance` vs `get_usage` could be confusing without careful reading. Descriptions mostly clarify the intended use cases.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern (list_providers, get_proxies, generate_proxy_list, buy_proxies, etc.) with snake_case throughout. Even `scrape` and `acquire_proxy` fit the verb-first style.

    Tool Count5/5

    11 tools is well-scoped for a proxy management server. Each tool addresses a distinct need: provider discovery, proxy listing/generation, account checks, purchasing, and usage. No redundancy or bloat.

    Completeness4/5

    The surface covers the core proxy lifecycle: view providers, generate/list proxies, buy/extend them, and monitor balance/usage. Missing are configuration tools (e.g., to set up providers) and a deletion option, but these are minor gaps that agents can work around.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      A unified MCP server providing AI agents with 40+ developer APIs including geolocation, crypto prices, DNS lookup, and web scraping. Enables natural language access to various tools through a single gateway.
      1
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server giving AI agents controlled residential-proxy web access with optional browser rendering and structured extraction from 60+ sites.
      29 PyPI
      1
      MIT
    • F
      license
      A
      quality
      D
      maintenance
      MCP server that wraps the Proxyline proxy provider API, exposing all methods as MCP tools for AI assistants. Enables managing proxies, orders, countries, IPs, balance, and tags through natural language.
      11
      9 npm
      -