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.
README
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.
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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.