Oxylabs Web Scraping MCP server

Integrates with Oxylabs web scraping services to extract, clean, and structure web content for real-time data analysis and monitoring workflows.
Back to servers
Setup instructions
Provider
Oxylabs
Release date
Mar 18, 2025
Language
Python
Package
Stats
13.1K downloads
43 stars

The Oxylabs MCP server acts as a bridge between AI models and the web, allowing them to scrape websites, extract structured data, and bypass anti-scraping measures. It leverages the Model Context Protocol (MCP) to create a standardized way for AI assistants to interact with web content.

Installation

Prerequisites

Before starting, ensure you have:

  • Oxylabs Account: Get your username and password from Oxylabs dashboard (1-week free trial available)

Installation Methods

Using Smithery

  1. Visit https://smithery.ai/server/@oxylabs/oxylabs-mcp
  2. Login with GitHub
  3. Go to the Install section
  4. Follow the instructions to generate the config

For auto-installation with Smithery CLI:

# example for Claude Desktop
npx -y @smithery/cli@latest install @upstash/context7-mcp --client claude --key <smithery_key>

Using uvx

  1. Install uv:
# 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"
  1. Use this configuration:
{
  "mcpServers": {
    "oxylabs": {
      "command": "uvx",
      "args": ["oxylabs-mcp"],
      "env": {
        "OXYLABS_USERNAME": "OXYLABS_USERNAME",
        "OXYLABS_PASSWORD": "OXYLABS_PASSWORD"
      }
    }
  }
}

Using uv

  1. Install uv:
# 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"
  1. Use this configuration:
{
  "mcpServers": {
    "oxylabs": {
      "command": "uv",
      "args": [
        "--directory",
        "/<Absolute-path-to-folder>/oxylabs-mcp",
        "run",
        "oxylabs-mcp"
      ],
      "env": {
        "OXYLABS_USERNAME": "OXYLABS_USERNAME",
        "OXYLABS_PASSWORD": "OXYLABS_PASSWORD"
      }
    }
  }
}

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.

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

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

Usage

Available MCP Tools

Oxylabs MCP provides these tools:

  1. universal_scraper: General website scraping
  2. google_search_scraper: Extract results from Google Search
  3. amazon_search_scraper: Scrape Amazon search result pages
  4. amazon_product_scraper: Extract data from individual Amazon product pages

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

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

Logging

The 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"
  }
}

Key Features

  • Scrape any website: Extract data from any URL, including complex single-page applications with JavaScript rendering
  • AI-ready data: Automatically clean and convert HTML to Markdown for improved readability
  • Bypass protection: Get around sophisticated bot protection systems with a high success rate
  • Global access: Access geo-restricted content from 195+ countries
  • Flexible setup: Works across macOS, Windows, and Linux with multiple installation options

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "oxylabs" '{"command":"uvx","args":["oxylabs-mcp"],"env":{"OXYLABS_USERNAME":"OXYLABS_USERNAME","OXYLABS_PASSWORD":"OXYLABS_PASSWORD"}}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "oxylabs": {
            "command": "uvx",
            "args": [
                "oxylabs-mcp"
            ],
            "env": {
                "OXYLABS_USERNAME": "OXYLABS_USERNAME",
                "OXYLABS_PASSWORD": "OXYLABS_PASSWORD"
            }
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

{
    "mcpServers": {
        "oxylabs": {
            "command": "uvx",
            "args": [
                "oxylabs-mcp"
            ],
            "env": {
                "OXYLABS_USERNAME": "OXYLABS_USERNAME",
                "OXYLABS_PASSWORD": "OXYLABS_PASSWORD"
            }
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later