proxy-finder-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@proxy-finder-mcp find me a working proxy in France to test a geo-blocked site"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
proxy-finder-mcp
An MCP (Model Context Protocol) server that finds and validates working free HTTP/HTTPS/SOCKS
proxies, optionally filtered by country. Built for agents that need to route a request or
curl through a specific country — a geo-blocked municipal site, a region-locked API, or just
debugging why a request fails from one network but not another.
It aggregates three free proxy-list sources (ProxyScrape, Proxifly, Geonode), merges and dedupes them, and actually tests candidates live (not just trusting self-reported uptime) before handing one back — with a local disk cache so repeat calls don't re-scrape or re-test everything from scratch.
Pure TypeScript, zero external process dependencies (no curl/ffmpeg/etc. required) — works
anywhere Node.js does, install-free via npx.
Install
No install step needed — run it directly with npx. Add it to your MCP client's config:
Claude Code
claude mcp add proxy-finder -- npx -y proxy-finder-mcpClaude Desktop / other JSON-config clients
Add to your MCP config file (e.g. claude_desktop_config.json):
{
"mcpServers": {
"proxy-finder": {
"command": "npx",
"args": ["-y", "proxy-finder-mcp"]
}
}
}Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"proxy-finder": {
"command": "npx",
"args": ["-y", "proxy-finder-mcp"]
}
}
}Google Antigravity
Open the Manage MCP Servers panel (Command Palette → "MCP") and add a new server, or edit
its mcp_config.json directly with the same mcpServers block used above:
{
"mcpServers": {
"proxy-finder": {
"command": "npx",
"args": ["-y", "proxy-finder-mcp"]
}
}
}Related MCP server: klawfetch
Tools
Tool | Description |
| Finds a live, validated proxy, optionally filtered by |
| Validates one specific proxy string (e.g. |
| Lists merged/deduped/ranked candidates without live-testing — fast, cache-aware. |
| Lists which countries are currently covered by the proxy pool, with counts, so you know what to ask |
find_proxy parameters
Param | Type | Default | Description |
| string | — | ISO alpha-2 code ( |
|
|
| Restrict to a proxy protocol. |
| string |
| Validate candidates against this URL instead — e.g. the site your |
| number |
| Per-proxy check timeout. |
| number |
| How many ranked candidates to live-test. |
| number |
| How many checks to run in parallel. |
| boolean |
| Bypass the cached proxy list and re-fetch all sources. |
Example
"I need a working proxy in France to check if this site is geo-blocked."
The agent calls find_proxy with { "country": "FR" } and gets back something like:
{
"found": true,
"proxy": {
"proxy": "socks4://31.59.234.26:40001",
"ip": "31.59.234.26",
"port": 40001,
"protocol": "socks4",
"countryCode": "FR",
"city": "Amiens",
"latencyMs": 1918,
"statusCode": 200,
"testUrl": "https://httpbin.org/ip"
},
"alternates": [ ... ],
"testedCount": 25,
"candidatePoolSize": 225
}How it works
Sources — ProxyScrape v4, Proxifly's static list, and Geonode's proxy-list API are fetched concurrently and merged, deduped by
ip:port. The merged list is cached on disk for 10 minutes so repeat tool calls don't hammer any source.Ranking — before live-testing, candidates are sorted cache-first: previously-confirmed fast proxies come first (fastest first), then untested proxies (best self-reported uptime/speed first), then previously-failed proxies last.
Validation — a capped, concurrency-bounded batch of ranked candidates is dialed for real (via
axios+https-proxy-agent/socks-proxy-agent— no shelling out tocurl) against a target URL. Success = the request completes with an HTTP status in[200, 400).Caching — every tested proxy's result (success and failure) is written to
~/.proxy-finder-mcp/health.jsonwith a timestamp, so later calls skip re-testing recently confirmed-fast or confirmed-dead proxies.
Local development
git clone https://github.com/shakthizen/proxy-finder-mcp.git
cd proxy-finder-mcp
npm install
npm run build
npm run typecheck
npm run lint
npm test
node dist/index.js # runs the server over stdioLicense
MIT © shakthizen
Available Tools
4 toolscheck_proxyCheck a specific proxyA
Validates a single specific proxy (e.g. "socks5://1.2.3.4:1080" or "http://1.2.3.4:8080") by making a real request through it to a target URL. Use this to test a proxy you already have, or to re-check whether a specific site works through a given proxy after find_proxy returned it.
Inputs: proxy (required), testUrl, timeoutMs.
find_proxyFind a working proxyA
Finds a live, validated free proxy, optionally filtered by country and/or protocol. Tests a batch of candidates concurrently against a target URL and returns the fastest one that actually works, plus a few backups. Use this when a direct request/curl is geo-blocked or otherwise failing and you need a working proxy to route through.
Inputs: country, testUrl, protocol, timeoutMs, +3 more.
list_countriesList available countriesA
Lists the countries currently covered by the merged proxy pool, with a proxy count per country. Use this to discover what country codes are worth passing to find_proxy before asking for one.
Inputs: forceRefresh.
list_proxiesList candidate proxiesA
Lists merged, deduped proxies from all sources, optionally filtered by country/protocol, ranked cache-first (previously confirmed-fast proxies first). Does not perform any live network testing, so it is fast; use find_proxy when you need a proxy that is actually confirmed working right now.
Inputs: limit, country, protocol, forceRefresh.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool has a clearly distinct role: find_proxy discovers and live-tests proxies, check_proxy validates one specific proxy, list_proxies returns cached listings without live testing, and list_countries enumerates coverage. The descriptions explicitly guide when to use find_proxy versus list_proxies or check_proxy, eliminating overlap.
All names follow a consistent snake_case verb_noun pattern (find/check/list + resource). The only minor deviation is list_proxies using plural while find_proxy and check_proxy use singular, but this is natural and predictable.
Four tools are well-scoped for a proxy-finding service: discovery, validation, listing, and country lookup. Each tool earns its place and none feels redundant or excessive.
The toolset covers the core discover-validate-list lifecycle for proxies and provides country enumeration. Minor gaps like detailed proxy metadata (e.g., response times, source) or a batch validation tool exist, but agents can work around them.
Maintenance
Related MCP Connectors
Free proxy list, live proxy checker and IP lookup for AI agents. No key, nothing to install.
Query free proxies by country, protocol and anonymity. Read-only access; no account or API key.
Residential proxy traffic and raw fetch for agents, 190+ countries, sticky sessions. Pay per call.
Free live router for paid agent APIs (x402, MPP): the best working seller for a task, plus backups.
Related MCP Servers
AlicenseNot gradedqualityDmaintenanceEnables AI agents to route HTTP requests through millions of real residential IPs, bypassing anti-bot systems and geo-targeting by country or city.4MIT- AlicenseNot gradedqualityDmaintenanceA geo-distributed HTTP proxy for AI agents, enabling web fetching from multiple global regions (Frankfurt, Sydney, New York, San Francisco) with support for screenshots, scraping, and JS rendering.MIT
- AlicenseNot gradedqualityDmaintenanceEnables agents to autonomously route traffic through real 4G/5G mobile and residential IPs by country, with tools to check live proxy stock, obtain ready-to-use proxy URLs, and monitor remaining data usage.53 npmMIT
- AlicenseNot gradedqualityDmaintenanceRoutes AI agent HTTP requests through residential proxies to bypass anti-bot systems, geo-target by country/city, and maintain sticky sessions across multi-step workflows.15 npm1MIT