The missing link between AI models and the real‑world web: one API that delivers clean, structured data from any site.
The Oxylabs MCP server provides a bridge between AI models and the web. It enables them to scrape any URL, render JavaScript-heavy pages, extract and format content for AI use, bypass anti-scraping measures, and access geo-restricted web data from 195+ countries.
This implementation leverages the Model Context Protocol (MCP) to create a secure, standardized way for AI assistants to interact with web content.
Imagine telling your LLM "Summarise the latest Hacker News discussion about GPT‑7" – and it simply answers.
MCP (Multi‑Client Proxy) makes that happen by doing the boring parts for you:
What Oxylabs MCP does | Why it matters to you |
---|---|
Bypasses anti‑bot walls with the Oxylabs global proxy network | Keeps you unblocked and anonymous |
Renders JavaScript in headless Chrome | Single‑page apps, sorted |
Cleans HTML → JSON | Drop straight into vector DBs or prompts |
Optional structured parsers (Google, Amazon, etc.) | One‑line access to popular targets |
Scrape content from any site
- Extract data from any URL, including complex single-page applications
- Fully render dynamic websites using headless browser support
- Choose full JavaScript rendering, HTML-only, or none
- Emulate Mobile and Desktop viewports for realistic rendering
Automatically get AI-ready data
- Automatically clean and convert HTML to Markdown for improved readability
- Use automated parsers for popular targets like Google, Amazon, and etc.
Bypass blocks & geo-restrictions
- Bypass sophisticated bot protection systems with high success rate
- Reliably scrape even the most complex websites
- Get automatically rotating IPs from a proxy pool covering 195+ countries
Flexible setup & cross-platform support
- Set rendering and parsing options if needed
- Feed data directly into AI models or analytics tools
- Works on macOS, Windows, and Linux
Built-in error handling and request management
- Comprehensive error handling and reporting
- Smart rate limiting and request management
Oxylabs MCP provides the following tools:
- universal_scraper: Uses Oxylabs Web Scraper API for general website scraping.
- google_search_scraper: Uses Oxylabs Web Scraper API to extract results from Google Search.
- amazon_search_scraper: Uses Oxylabs Web Scraper API to scrape Amazon search result pages.
- amazon_product_scraper: Uses Oxylabs Web Scraper API to extract data from individual Amazon product pages.
When you've set up the MCP server with Claude, you can make requests like:
- Could you scrape
https://www.google.com/search?q=ai
page? - Scrape
https://www.amazon.de/-/en/Smartphone-Contract-Function-Manufacturer-Exclusive/dp/B0CNKD651V
with parse enabled - Scrape
https://www.amazon.de/-/en/gp/bestsellers/beauty/ref=zg_bs_nav_beauty_0
with parse and render enabled - Use web unblocker with render to scrape
https://www.bestbuy.com/site/top-deals/all-electronics-on-sale/pcmcat1674241939957.c
Before you begin, make sure you have:
- Oxylabs Account: Obtain your username and password from Oxylabs (1-week free trial available)
Via Smithery CLI:
- Node.js (v16+)
npx
command-line tool
Via uv:
uv
package manager – install it using this guide
- Python 3.12+
uv
package manager – install it using this guide
The Oxylabs MCP Universal Scraper accepts these parameters:
Parameter | Description | Values |
---|---|---|
url |
The URL to scrape | Any valid URL |
render |
Use headless browser rendering | html or None |
geo_location |
Sets the proxy's geo location to retrieve data. | Brasil , Canada , etc. |
user_agent_type |
Device type and browser | desktop , tablet , etc. |
output_format |
The format of the output | links , md , html |
uvx
client config
{
"mcpServers": {
"oxylabs_scraper_uvx": {
"command": "uvx",
"args": ["oxylabs-mcp"],
"env": {
"OXYLABS_USERNAME": "YOUR_USERNAME",
"OXYLABS_PASSWORD": "YOUR_PASSWORD"
}
}
}
}
npx
client config
{
"mcpServers": {
"oxylabs-mcp": {
"command": "npx",
"args": [
"-y",
"@smithery/cli@latest",
"run",
"@oxylabs/oxylabs-mcp",
"--config",
"\"{\\\"oxylabsUsername\\\":\\\"OXYLABS_USERNAME\\\",\\\"oxylabsPassword\\\":\\\"OXYLABS_PASSWORD\\\"}\""
]
}
}
}
uv
client config
{
"mcpServers": {
"oxylabs_scraper": {
"command": "uv",
"args": [
"--directory",
"/<Absolute-path-to-folder>/oxylabs-mcp",
"run",
"oxylabs-mcp"
],
"env": {
"OXYLABS_USERNAME": "OXYLABS_USERNAME",
"OXYLABS_PASSWORD": "OXYLABS_PASSWORD"
}
}
}
}
Navigate to Claude → Settings → Developer → Edit Config and add one of the configurations above to the claude_desktop_config.json
file.
Navigate to Cursor → Settings → Cursor Settings → MCP. Click Add new global MCP server and add one of the configurations above.
Oxylabs MCP server supports the following environment variables
Name | Description | Mandatory | Default |
---|---|---|---|
OXYLABS_USERNAME |
Your Oxylabs username | true | |
OXYLABS_PASSWORD |
Your Oxylabs password | true | |
LOG_LEVEL |
Log level for the logs returned to the client | false | INFO |
Server provides additional information about the tool calls in notification/message
events
{
"method": "notifications/message",
"params": {
"level": "info",
"data": "Create job with params: {\"url\": \"https://ip.oxylabs.io\"}"
}
}
{
"method": "notifications/message",
"params": {
"level": "info",
"data": "Job info: job_id=7333113830223918081 job_status=done"
}
}
{
"method": "notifications/message",
"params": {
"level": "error",
"data": "Error: request to Oxylabs API failed"
}
}
Distributed under the MIT License – see LICENSE for details.
Established in 2015, Oxylabs is a market-leading web intelligence collection platform, driven by the highest business, ethics, and compliance standards, enabling companies worldwide to unlock data-driven insights.