Automate your proxy setup with the 2extract MCP server
Connect your AI agent to your proxy infrastructure - provision proxies, resolve geo targeting down to city and ASN, cap traffic spend. Describe the job in plain language and get a configured proxy back, with connection strings ready to paste into your tools.
claude mcp add --transport http 2extract https://mcp.2extract.com/mcp --header "Authorization: Bearer 2xt_your_api_key"$ claude
> Collect gaming-laptop prices from Amazon in Germany, the UK and Japan.
listGeoCountries
∟ DE · GB · JP
listProxyPlans
∟ Residential · pay as you go
createProxyResource
∟ amazon_gaming_laptops
"Price tracking for gaming laptops on Amazon DE, GB and JP"
setProxyLimits
∟ 50 GB per month
Proxy ready. Three connection strings:
DE 2xt-customer-K3nP7qLm2Xv-proxy-amazon_gaming_laptops-country-de:s7Kd92mQ@proxy.2extract.net:5555
GB 2xt-customer-K3nP7qLm2Xv-proxy-amazon_gaming_laptops-country-gb:s7Kd92mQ@proxy.2extract.net:5555
JP 2xt-customer-K3nP7qLm2Xv-proxy-amazon_gaming_laptops-country-jp:s7Kd92mQ@proxy.2extract.net:5555
>
MCP Server URL
Copy this URL and paste it into your AI agent to connect.
- Transport
- Streamable HTTP
- Auth
- Authorization: Bearer
You are seeing this page because you opened the server in a browser. MCP clients talk to the same URL over the Model Context Protocol - point your agent at it and follow the setup below.
Connect Your Client
Every client below uses the same endpoint and the same auth header.
Run in your terminal:
claude mcp add --transport http 2extract https://mcp.2extract.com/mcp \
--header "Authorization: Bearer 2xt_your_api_key"
Add to claude_desktop_config.json:
{
"mcpServers": {
"2extract": {
"type": "http",
"url": "https://mcp.2extract.com/mcp",
"headers": {
"Authorization": "Bearer 2xt_your_api_key"
}
}
}
}
Add to ~/.cursor/mcp.json, or
.cursor/mcp.json in the project:
{
"mcpServers": {
"2extract": {
"url": "https://mcp.2extract.com/mcp",
"headers": {
"Authorization": "Bearer 2xt_your_api_key"
}
}
}
}
Add to .vscode/mcp.json - the key is prompted for on
first use, not stored in the file:
{
"servers": {
"2extract": {
"type": "http",
"url": "https://mcp.2extract.com/mcp",
"headers": {
"Authorization": "Bearer ${input:2extract-key}"
}
}
},
"inputs": [
{
"id": "2extract-key",
"type": "promptString",
"description": "2extract API key",
"password": true
}
]
}
Any MCP client that supports remote servers needs these three values:
| URL | https://mcp.2extract.com/mcp |
| Transport | Streamable HTTP |
| Header | Authorization: Bearer 2xt_your_api_key |
Get an API Key
The MCP server uses the same API keys as the REST API.
- Sign in at 2extract.com/app.
- Open API keys and create a key.
- Name it after the client that will use it - Claude Code MCP, Cursor MCP - so you can tell keys apart later and revoke the right one.
-
Select the scopes the agent should have:
- proxies:read
- proxies:write
- balance:read
- stats:read
- geo:read
- Copy the key - it is shown once - and paste it into the config above.
Scopes are independent. proxies:write does not include proxies:read. A key that can create a proxy but cannot list proxies will fail in the middle of most agent workflows, because the agent looks up existing resources before it writes. Grant both.
What You Can Ask For
Talk to your agent in plain language - it resolves IDs and plans itself.
- Create a residential proxy in Germany for scraping Amazon prices, and give me the connection string.
- Show my traffic usage and spend for the last 30 days.
- Put a 100 GB monthly traffic cap on the product-scraper proxy.
- Which cities can I target in Brazil?
- Find proxies I have not used in a month and deactivate them.
- Add 203.0.113.10 to the IP whitelist on my active proxies.
Built-in Prompts
Four guided workflows ship with the server, exposed as slash commands.
| Prompt | What it does |
|---|---|
| create-proxy-resource | Describe a purpose, get a configured proxy plus a recommended protocol, geo, and session setup, and a ready-to-use connection string. |
| build-connection-string | Assemble a connection string for a proxy that already exists. |
| monthly-cost-report | Traffic and spend for a period, with warnings on limits, idle proxies, and low balance. |
| cleanup-unused-proxies | Finds proxies idle for 30+ days and deactivates them after you confirm. Never deletes. |
Tools
Nineteen tools across account, geo, plans, and proxy management.
Account
| getAccountBalance | Current balance, credit limit, and available credit. | |
| getAccountTrafficUsage | Traffic consumed and money spent over a period. | |
| listAccountBalanceHistory | Paginated ledger of deposits and charges. |
Geo Targeting
| listGeoCountries | Countries available for targeting. | |
| searchGeoRegions | States and regions inside a country. | |
| searchGeoCities | Cities inside a country or region. | |
| searchGeoZips | ZIP and postal codes. | |
| searchGeoISP | ISPs and ASNs available for targeting. |
Plans
| listProxyPlans | Proxy types and tariffs with per-GB pricing. |
Proxy Resources
| listProxyResources | All proxies on the account, paginated. | |
| getProxyResource | Full details for one proxy, including both whitelists. | |
| createProxyResource | Create a proxy with a type, plan, and geo targeting. | |
| updateProxyResource | Change name, description, status, or geo targeting. | |
| deactivateProxyResource | Stop traffic on a proxy without deleting it. | |
| deleteProxyResource | Delete a proxy. | Confirms First |
| regenerateProxyPassword | Issue a new password. Existing connections stop working. | Confirms First |
Proxy Settings
| setProxyLimits | Traffic or spend cap per day, week, or month. | |
| setProxyTargetHosts | Restrict which destination hosts the proxy may reach. | |
| setProxyIpWhitelist | Replace the list of IPs allowed to use the proxy. |