Proxy302 MCP server
Commit Nov 11, 2026Lets an AI assistant manage residential proxies, check usage, browse available countries, and fetch web pages through specific geographic locations.
Also known as proxy302/proxy302-mcp, proxy302-mcp
- Stars
- 1
- Tools
- 9
- Downloads, 30 days
- —
- Latest version
- 1.1.0
- Last commit
- Nov 11, 2026
- License
- MIT
What is Proxy302 MCP?
Proxy302 lets an AI assistant manage residential proxies, check usage, browse available countries, and fetch web pages through specific geographic locations. It exposes 9 tools, such as get_account_usage, list_countries, list_regions.
Summary generated from the project's README
About Proxy302 MCP server
Proxy302 provides a specialized toolkit for AI assistants to manage residential proxies. This MCP server allows users to interact with Proxy302 services through clients like Claude Desktop, Cursor, and VS Code. It enables an assistant to monitor account usage, browse available countries and regions, and manage proxy credentials. Users can retrieve rotating residential proxy URLs or static IPs to facilitate web browsing from specific geographic locations.
The server can be run locally using Node.js or accessed via a hosted version that requires an API key for authentication. While the local version includes the fetch_url tool, the hosted version offers additional capabilities like check_ip_purity and estimate_cost. The current version is designed to be read-only regarding financial transactions, meaning it will not perform purchases or renewals. It focuses on providing data and connection tools, such as get_dynamic_proxy and list_isps, to help developers integrate residential IP access into their automated workflows.
What you can do with it
- 1Monitor proxy traffic usageAsk your assistant to check your remaining prepaid traffic and daily usage statistics.
- 2Retrieve geographic proxiesRequest a specific residential proxy URL for a chosen country to use in automation.
- 3Scrape web content via proxyHave the AI fetch and summarize a webpage using a specific exit location.
- 4Manage static IP assetsIdentify which of your static IPs are nearing their expiration date.
Written from the project's README. Every use case is checked against a quote from it.
How to install Proxy302 MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall Proxy302 MCP in Claude Code
$ claude mcp add --transport http proxy302-mcp https://mcp.proxy302.com/mcpInstall Proxy302 MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"proxy302-mcp": {
"url": "https://mcp.proxy302.com/mcp"
}
}
}Install Proxy302 MCP in VS Code
.vscode/mcp.json
{
"servers": {
"proxy302-mcp": {
"type": "http",
"url": "https://mcp.proxy302.com/mcp"
}
}
}Install Proxy302 MCP in VS Code CLI
$ code --add-mcp '{"name":"proxy302-mcp","type":"http","url":"https://mcp.proxy302.com/mcp"}'Install Proxy302 MCP in Codex
$ codex mcp add proxy302-mcp --url https://mcp.proxy302.com/mcpInstall Proxy302 MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.proxy302-mcp] url = "https://mcp.proxy302.com/mcp"
Install Proxy302 MCP in Gemini CLI
$ gemini mcp add -s user --transport http proxy302-mcp https://mcp.proxy302.com/mcpInstall Proxy302 MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"proxy302-mcp": {
"url": "https://mcp.proxy302.com/mcp",
"type": "http"
}
}
}Proxy302 MCP tools 9
Detected from the READMEget_account_usagelist_countrieslist_regionslist_productsget_dynamic_proxylist_ispsrotate_iplist_my_proxiesfetch_url
| get_account_usage | — | |
| list_countries | — | |
| list_regions | — | |
| list_products | — | |
| get_dynamic_proxy | — | |
| list_isps | — | |
| rotate_ip | — | |
| list_my_proxies | — | |
| fetch_url | — |
Configuration
PROXY302_API_KEY
| Name | Description | |
|---|---|---|
| PROXY302_API_KEY | — |
Automated checks
Ran Nov 13, 2026Full report →Not verified yet. A server needs a score of 80, no serious finding, and enough data for us to check. How checks work · What to fix for more points
- Source repository linked and reachableproxy302/proxy302-mcp is public and reachablegithub.com/proxy302/proxy302-mcp ↗Pass
- Package names this repository as its sourceNot checked
- Build provenance (Sigstore attestation)Not checked
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-11-11github.com/proxy302/proxy302-mcp ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNot checked
- No critical advisory in the package or its dependenciesNot checked
- No hidden instructions to the model9 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 GitHubproxy302-mcp
Official Proxy302 MCP server, built and maintained by the Proxy302 team. For account, billing or connection questions contact Proxy302 support; for bugs in this server, open a GitHub issue.
Give your AI assistant a real residential-proxy toolbox. proxy302-mcp is a Model Context Protocol server for Proxy302: check your traffic and usage, browse countries and plans, get a rotating residential proxy URL for any country, list your proxies and static IPs, and fetch a web page through a proxy, all from Claude Code, Claude Desktop, Cursor or any MCP client.
v1 is deliberately read-only and spend-free: it never buys, renews or tops up anything. The one write it can do (creating a dynamic proxy credential) is free, off by default, and only bills traffic when you actually use it.
Hosted server (no install)
Proxy302 also runs this server for you. Create an API key in the Proxy302 console first.
One click adds https://mcp.proxy302.com/mcp; the app then opens the Proxy302 sign-in window, where you paste your API key once (key id:secret). Deleting the key in the console disconnects it.
- Claude (claude.ai, Claude Desktop): Settings → Connectors → Add custom connector, URL
https://mcp.proxy302.com/mcp. - ChatGPT (developer mode): create a connector with the same URL and OAuth.
- Cursor, VS Code, Windsurf and other MCP clients: the same URL, no headers needed.
Sign in with OAuth: add https://mcp.proxy302.com/mcp as a custom connector in Claude, ChatGPT or any client that supports MCP sign-in, and paste your API key once in the sign-in window. In Claude Code:
claude mcp add --transport http proxy302 https://mcp.proxy302.com/mcp
Then run /mcp in Claude Code to sign in.
Or send the key as a header: use https://proxy302.com/v1/mcp with Authorization: Bearer <key id>:<secret>.
claude mcp add --transport http proxy302 https://proxy302.com/v1/mcp --header "Authorization: Bearer <key id>:<secret>"
Cursor (~/.cursor/mcp.json):
{
"mcpServers": {
"proxy302": {
"url": "https://proxy302.com/v1/mcp",
"headers": { "Authorization": "Bearer <key id>:<secret>" }
}
}
}
The hosted server has the same tools except fetch_url, plus check_ip_purity (blocklist score of your static IPs, or of the IPs a location would hand out next) and estimate_cost (quote a plan against your wallet). It never spends money either.
Run it locally
- Create an API key in the Proxy302 console and note its key id and secret.
- Install:
claude mcp add proxy302 -e PROXY302_API_KEY="<key id>:<secret>" -- npx -y github:proxy302/proxy302-mcp
Requires Node.js 20+.
Bonus: Proxy302 credits 1 PTC to paid accounts the first time a call through proxy302-mcp succeeds (once per account).
Claude Desktop
claude_desktop_config.json:
{
"mcpServers": {
"proxy302": {
"command": "npx",
"args": ["-y", "github:proxy302/proxy302-mcp"],
"env": { "PROXY302_API_KEY": "<key id>:<secret>" }
}
}
}
Cursor
~/.cursor/mcp.json (or .cursor/mcp.json in a project):
{
"mcpServers": {
"proxy302": {
"command": "npx",
"args": ["-y", "github:proxy302/proxy302-mcp"],
"env": { "PROXY302_API_KEY": "<key id>:<secret>" }
}
}
}
Tools
| Tool | What it does |
|---|---|
get_account_usage |
Account, wallet (PTC) balance, remaining prepaid traffic, per-pool balance and daily usage for the last N days |
list_countries |
Countries you can target, with ids and ISO codes (name filter) |
list_regions |
States of a country, or cities of a state |
list_products |
Product lines and static IP plans (data center and residential) |
get_dynamic_proxy |
A ready http://user:pass@host:port residential URL for a country (premium line: also state, city and ISP). session_mode=rotate gives a new IP on every connection, sticky (default) keeps one IP; session_minutes 10–120 on the budget line. Reuses an existing proxy of the same line and place; create_if_missing=true creates one, billed from a traffic package or else the wallet |
list_isps |
ISPs the premium line can target in a country |
rotate_ip |
New exit IP for sticky proxies: returns a fresh-session URL that switches at once |
list_my_proxies |
Your dynamic proxies and static IPs, passwords masked unless asked |
fetch_url |
Request a URL through your proxy (optionally from a given country) and return Markdown, text or raw |
Not in v1, on purpose: purchases, renewals, top-ups.
Examples
Ask your assistant:
- "How much proxy traffic do I have left, and what did I use this week?"
- "Which countries can I use? Get me a Germany proxy."
- "Fetch https://example.com/pricing from a US exit and summarise it."
- "List my static IPs that expire in the next 7 days."
Use the proxy in Playwright
get_dynamic_proxy returns host, port, username and password:
import { chromium } from 'playwright';
const browser = await chromium.launch({
proxy: { server: 'http://HOST:PORT', username: 'USERNAME', password: 'PASSWORD' },
});
const page = await browser.newPage();
await page.goto('https://ipinfo.io/json');
console.log(await page.textContent('body'));
Use the proxy in browser-use
from browser_use import Agent, Browser, BrowserConfig
browser = Browser(config=BrowserConfig(
proxy={"server": "http://HOST:PORT", "username": "USERNAME", "password": "PASSWORD"},
))
agent = Agent(task="Open ipinfo.io and tell me the country", llm=llm, browser=browser)
fetch_url is a plain HTTP request without JavaScript rendering. For JavaScript-heavy sites, hand the proxy URL to a browser as above.
Configuration
| Variable | Meaning |
|---|---|
PROXY302_API_KEY |
Required. <key id>:<secret>, or a Basic ... token |
PROXY302_API_SECRET |
Optional; use with PROXY302_API_KEY holding only the key id |
PROXY302_BASE_URL |
Optional; default https://proxy302.com |
Credentials are read from the environment only. Never commit them. Requests identify themselves with User-Agent: proxy302-mcp/<version> and X-Proxy302-Client.
Development
npm install
npm run build
npm test
PROXY302_API_KEY="<id>:<secret>" npm run smoke # read-only checks against the live API
License
MIT
Proxy302 MCP questions
How do I add Proxy302 MCP to Claude Code?
Run claude mcp add --transport http proxy302-mcp https://mcp.proxy302.com/mcp in your terminal. Add --scope user to make it available in every project.
How do I add Proxy302 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 Proxy302 MCP provide?
It exposes 9 tools, including get_account_usage, list_countries, list_regions, list_products, get_dynamic_proxy.
Can I fetch JavaScript-heavy websites using the fetch_url tool?
No, fetch_url performs a plain HTTP request without JavaScript rendering; for heavy sites, you should use the proxy URL in a browser instead.