https://github.com/oxylabs/oxylabs-mcp
https://github.com/oxylabs/oxylabs-mcp
Last synced: 9 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/oxylabs/oxylabs-mcp
- Owner: oxylabs
- License: mit
- Created: 2025-01-17T13:47:05.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-28T14:33:21.000Z (about 1 year ago)
- Last Synced: 2025-02-28T19:09:22.254Z (about 1 year ago)
- Language: Python
- Size: 46.9 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-mcp - oxylabs/oxylabs-mcp
- awesome-mcp-zh - Oxylabs
- awesome-mcp-servers - Oxylabs - An API to scrape websites using Oxylabs Web API, with support for dynamic rendering and structured data extraction. (Production-Ready Servers)
- awesome-mcp-servers - **oxylabs-mcp** - Official Oxylabs MCP integration `python` `ai-tools` `data-collection` `e-comerce-scraping` `llm` `pip install git+https://github.com/oxylabs/oxylabs-mcp` (🤖 AI/ML)
- Awesome-MCP-Servers-directory - Oxylabs - Scrape websites with Oxylabs Web API, supporting dynamic rendering and parsing for structured data extraction (Browser Automation)
- awesome-mcp-servers - Oxylabs - Scrape websites with Oxylabs Web API, supporting dynamic rendering and parsing for structured data extraction. (Official Servers)
- Awesome-Official-MCP-Servers - Oxylabs - mcp?style=social) | Scrape websites with Oxylabs Web API, supporting dynamic rendering and parsing for structured data extraction. | | (官方 MCP 服务器列表)
- toolsdk-mcp-registry - ❌ oxylabs-mcp - time data analysis and monitoring workflows. (python) (Search & Data Extraction / How to Submit)
- metorial-index - Oxylabs MCP - Fetch and process content from specified URLs using the Oxylabs Web Scraper API, enabling easy access to web data. (Cloud Services)
- awesome-mcp-servers - Oxylabs MCP - An MCP server for Oxylabs Web API that enables website scraping with dynamic rendering and structured data extraction. ([Read more](/details/oxylabs-mcp.md)) (Mcp Server Directories & Lists)
- awesome-mcp-servers - Oxylabs - Provides web scraping capabilities for AI assistants, bypassing anti-scraping measures and geo-restrictions (Table of Contents / Browser Automation)
- awesome-claude-dxt - oxylabs/oxylabs-mcp - A Model Context Protocol (MCP) server that enables AI assistants like Claude to seamlessly access web data through Oxylabs' powerful web scraping technology. (🗂️ Extensions by Category / 🌐 Web Services)
README
Oxylabs MCP Server
The missing link between AI models and the real‑world web: one API that delivers clean, structured data from any site.
[](https://smithery.ai/server/@oxylabs/oxylabs-mcp)
[](https://pypi.org/project/oxylabs-mcp/)
[](https://discord.gg/Pds3gBmKMH)
[](LICENSE)
[](https://mseep.ai/app/f6a9c0bc-83a6-4f78-89d9-f2cec4ece98d)

---
## 📖 Overview
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.
---
## Why Oxylabs MCP? 🕸️ ➜ 📦 ➜ 🤖
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 |
## ✨ Key Features
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
---
## 🛠️ MCP Tools
Oxylabs MCP provides the following tools:
1. **universal_scraper**: Uses Oxylabs Web Scraper API for general website scraping.
2. **google_search_scraper**: Uses Oxylabs Web Scraper API to extract results from Google Search.
3. **amazon_search_scraper**: Uses Oxylabs Web Scraper API to scrape Amazon search result pages.
4. **amazon_product_scraper**: Uses Oxylabs Web Scraper API to extract data from individual Amazon product pages.
## 💡 Example Queries
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`
---
## ✅ Prerequisites
Before you begin, make sure you have:
- **Oxylabs Account**: Obtain your username and password from [Oxylabs](https://dashboard.oxylabs.io/) (1-week free trial available)
### Basic Usage
Via Smithery CLI:
- **Node.js** (v16+)
- `npx` command-line tool
Via uv:
- `uv` package manager – install it using [this guide](https://docs.astral.sh/uv/getting-started/installation/)
### Local/Dev Setup
- **Python 3.12+**
- `uv` package manager – install it using [this guide](https://docs.astral.sh/uv/getting-started/installation/)
---
## 🧩 API Parameters
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` |
---
## 🔧 Configuration
[](https://cursor.com/install-mcp?name=oxylabs&config=eyJjb21tYW5kIjoidXZ4IG94eWxhYnMtbWNwIiwiZW52Ijp7Ik9YWUxBQlNfVVNFUk5BTUUiOiJPWFlMQUJTX1VTRVJOQU1FIiwiT1hZTEFCU19QQVNTV09SRCI6Ik9YWUxBQlNfUEFTU1dPUkQifX0%3D)
smithery
1. Go to https://smithery.ai/server/@oxylabs/oxylabs-mcp
2. Login with GitHub
3. Find the _Install_ section
4. Follow the instructions to generate the config
Auto install with Smithery CLI
```bash
# example for Claude Desktop
npx -y @smithery/cli@latest install @upstash/context7-mcp --client claude --key
```
uvx
1. Install the uv
```bash
# macOS and Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```
2. Use the following config
```json
{
"mcpServers": {
"oxylabs": {
"command": "uvx",
"args": ["oxylabs-mcp"],
"env": {
"OXYLABS_USERNAME": "OXYLABS_USERNAME",
"OXYLABS_PASSWORD": "OXYLABS_PASSWORD"
}
}
}
}
```
uv
1. Install the uvx
```bash
# macOS and Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```
2. Use the following config
```json
{
"mcpServers": {
"oxylabs": {
"command": "uv",
"args": [
"--directory",
"//oxylabs-mcp",
"run",
"oxylabs-mcp"
],
"env": {
"OXYLABS_USERNAME": "OXYLABS_USERNAME",
"OXYLABS_PASSWORD": "OXYLABS_PASSWORD"
}
}
}
}
```
### Manual Setup with Claude Desktop
Navigate to **Claude → Settings → Developer → Edit Config** and add one of the configurations above to the `claude_desktop_config.json` file.
### Manual Setup with Cursor AI
Navigate to **Cursor → Settings → Cursor Settings → MCP**. Click **Add new global MCP server** and add one of the configurations above.
---
## ⚙️ Environment variables
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` |
---
## 📝 Logging
Server provides additional information about the tool calls in `notification/message` events
```json
{
"method": "notifications/message",
"params": {
"level": "info",
"data": "Create job with params: {\"url\": \"https://ip.oxylabs.io\"}"
}
}
```
```json
{
"method": "notifications/message",
"params": {
"level": "info",
"data": "Job info: job_id=7333113830223918081 job_status=done"
}
}
```
```json
{
"method": "notifications/message",
"params": {
"level": "error",
"data": "Error: request to Oxylabs API failed"
}
}
```
---
## 🛡️ License
Distributed under the MIT License – see [LICENSE](LICENSE) for details.
---
## About Oxylabs
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.
[](https://oxylabs.io/)