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
Provider
Oxylabs
Release date
Mar 18, 2025
Language
Python
Package
Stats
3.6K downloads
28 stars

Oxylabs MCP Server provides a bridge between AI models and the web, enabling seamless web data extraction. It allows AI assistants to scrape any URL, render JavaScript-heavy pages, extract formatted content, bypass anti-scraping measures, and access geo-restricted web data from 195+ countries via the Model Context Protocol (MCP).

Getting Started

Prerequisites

Before you begin, make sure you have:

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

For basic usage with Smithery CLI:

  • Node.js (v16+)
  • npx command-line tool

For using with uv:

For local/development setup:

  • Python 3.12+
  • uv package manager

Installation Options

Install via Smithery

The simplest way to install the Oxylabs MCP server is via Smithery:

npx -y @smithery/cli install @oxylabs/oxylabs-mcp --client <client>

Supported clients:

  • claude
  • cursor

Manual MCP Configuration

Option 1: Config with uvx (Recommended)

This installs the CLI client and Oxylabs MCP server that connects directly to the Oxylabs API:

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

Option 2: Config with npx

Uses the Smithery CLI client to connect to the Oxylabs MCP server hosted on Smithery:

{
  "mcpServers": {
    "oxylabs-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@smithery/cli@latest",
        "run",
        "@oxylabs/oxylabs-mcp",
        "--config",
        "\"{\\\"oxylabsUsername\\\":\\\"OXYLABS_USERNAME\\\",\\\"oxylabsPassword\\\":\\\"OXYLABS_PASSWORD\\\"}\""
      ]
    }
  }
}

Option 3: Config with uv (For Local Development)

Uses the local code for development purposes:

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

If you don't have uvx utility, install it first with brew install uv

If you run into errors with uvx, try using the full path in the command field, for example, /Users/my-user/.local/bin/uvx

Integration with AI Assistants

Claude Desktop

  1. Navigate to Claude → Settings → Developer → Edit Config
  2. Add one of the configurations above to the claude_desktop_config.json file

Cursor AI

  1. Navigate to Cursor → Settings → Cursor Settings → MCP
  2. Click Add new global MCP server
  3. Add one of the configurations above

Usage

Supported Parameters

Parameter Description Values
url The URL to scrape Any valid URL
parse Enable structured data extraction True or False
render Use headless browser rendering html or None

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

Features

Web Scraping Capabilities

  • Extract data from any URL, including complex single-page applications
  • Fully render dynamic websites using headless browser support
  • Choose between full JavaScript rendering, HTML-only, or none
  • Emulate Mobile and Desktop viewports for realistic rendering

AI-Ready Data

  • Automatically clean and convert HTML to Markdown for improved readability
  • Use automated parsers for popular targets like Google, Amazon, and more

Anti-blocking and Geo-location

  • 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

Debugging

For local development and debugging:

make run

Then access MCP Inspector at http://localhost:5173. You may need to add your username and password as environment variables in the inspector under OXYLABS_USERNAME and OXYLABS_PASSWORD.

How to add this MCP server to 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 > MCP and click "Add new global MCP server".

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

{
    "mcpServers": {
        "cursor-rules-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "cursor-rules-mcp"
            ]
        }
    }
}

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 explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.

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