Skip to main content

Oxylabs + MCP

Oxylabs MCP Server

The missing link between AI models and the real‑world web: one API that delivers clean, structured data from any site.


📖 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, manage CAPTCHA, and access geo-restricted web data from 195+ countries.

It is built on the Model Context Protocol (MCP), the open standard for connecting AI assistants to external tools and data.

🛠️ MCP Tools

Oxylabs MCP provides two sets of tools that can be used together or independently:

Oxylabs Web Scraper API tools

  1. universal_scraper: scrapes any URL, with optional JavaScript rendering, geo-targeting, and Markdown/HTML/links output;
  2. google_search_scraper: extracts results from Google Search, with optional parsing into structured JSON;
  3. amazon_search_scraper: scrapes Amazon search result pages, with optional parsing into structured JSON;
  4. amazon_product_scraper: extracts data from individual Amazon product pages.

Oxylabs AI Studio tools

  1. ai_scraper: scrapes content from any URL with AI-powered extraction, in JSON, CSV, Markdown, or TOON format;
  2. ai_crawler: crawls a website from a starting URL based on a prompt and collects data across multiple pages;
  3. ai_browser_agent: controls a real browser based on a prompt — navigates, clicks, fills forms — and returns the result;
  4. ai_search: searches the web and optionally returns Markdown content of each result;
  5. ai_map: maps a website's URLs, filtered by keywords or a prompt;
  6. generate_schema: generates an OpenAPI-format JSON schema for structured extraction with the AI tools above.

✅ Prerequisites

Before you begin, make sure you have at least one of the following:

  • Oxylabs Web Scraper API account: obtain your username and password from Oxylabs (1-week free trial available);
  • Oxylabs AI Studio API key: obtain your API key from Oxylabs AI Studio (1000 credits free).

You will also need the uv package manager to run the server:

# 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"

📦 Configuration

Environment variables

Oxylabs MCP server supports the following environment variables:

Name Description Default
OXYLABS_USERNAME Your Oxylabs Web Scraper API username
OXYLABS_PASSWORD Your Oxylabs Web Scraper API password
OXYLABS_AI_STUDIO_API_KEY Your Oxylabs AI Studio API key
LOG_LEVEL Log level for the logs returned to the client INFO

Based on the provided credentials, the server automatically exposes the corresponding tools:

  • If only OXYLABS_USERNAME and OXYLABS_PASSWORD are provided, the server exposes the Web Scraper API tools;
  • If only OXYLABS_AI_STUDIO_API_KEY is provided, the server exposes the AI Studio tools;
  • If all three are provided, the server exposes all tools.

Important: only set the environment variables you have real credentials for. Leaving placeholder values will result in exposed tools that do not work.

Configure with uvx

Installs the package from PyPI and runs it automatically:

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

Configure with a local checkout

Useful for development — runs the server from a local clone of this repository:

{
  "mcpServers": {
    "oxylabs": {
      "command": "uv",
      "args": [
        "--directory",
        "/<absolute-path-to-folder>/oxylabs-mcp",
        "run",
        "oxylabs-mcp"
      ],
      "env": {
        "OXYLABS_USERNAME": "YOUR_USERNAME",
        "OXYLABS_PASSWORD": "YOUR_PASSWORD",
        "OXYLABS_AI_STUDIO_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Running as a remote HTTP server (self-hosting)

The server also supports the MCP streamable-HTTP transport. Start it with:

MCP_TRANSPORT=streamable-http MCP_HOST=0.0.0.0 MCP_PORT=8000 uvx oxylabs-mcp

With the HTTP transport, credentials are passed per request instead of environment variables:

Credential How to pass it
Web Scraper API Authorization: Basic <base64(username:password)> (standard HTTP Basic auth)
Web Scraper API (alternative) X-Oxylabs-Username and X-Oxylabs-Password headers
AI Studio X-Oxylabs-AI-Studio-Api-Key header

Example client configuration:

{
  "mcpServers": {
    "oxylabs": {
      "url": "https://your-host:8000/mcp",
      "headers": {
        "Authorization": "Basic <base64 of username:password>",
        "X-Oxylabs-AI-Studio-Api-Key": "YOUR_API_KEY"
      }
    }
  }
}

All tools are always listed regardless of provided credentials; calling a tool without the credentials it needs returns an error message explaining exactly what to configure.

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.

📝 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 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 more
Manage CAPTCHA & geo-restrictions
  • Navigate sophisticated automated request management 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

Why Oxylabs MCP?  🕸️ ➜ 📦 ➜ 🤖

Imagine telling your LLM "Summarise the latest Hacker News discussion about GPT‑5" – and it simply answers. The Oxylabs MCP server makes that happen by doing the boring parts for you:

What Oxylabs MCP does Why it matters to you
Manages automated request walls with the Oxylabs global proxy network Enables website access and anonymity
Renders JavaScript in headless Chrome Single‑page apps, sorted
Cleans HTML → Markdown Drop straight into vector DBs or prompts
Optional structured parsers (Google, Amazon, etc.) One‑line access to popular targets

🛡️ License

Distributed under the MIT License – see 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.

image

Made with ☕ by Oxylabs. Feel free to give us a ⭐ if MCP saved you a weekend.

mcp-name: io.oxylabs/oxylabs-mcp

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oxylabs_mcp-0.9.0.tar.gz (127.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

oxylabs_mcp-0.9.0-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

Details for the file oxylabs_mcp-0.9.0.tar.gz.

File metadata

  • Download URL: oxylabs_mcp-0.9.0.tar.gz
  • Upload date:
  • Size: 127.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for oxylabs_mcp-0.9.0.tar.gz
Algorithm Hash digest
SHA256 564ede39900ca10401a8c7073a479efdd66452d8651f029280c446cb8ca12e93
MD5 195e29f63d5c0b172d88a0462e6bc699
BLAKE2b-256 acbc8cb180a7dfde57f7e1a2472416b973e386dab7d7bcde31641439be3f809f

See more details on using hashes here.

File details

Details for the file oxylabs_mcp-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: oxylabs_mcp-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 18.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for oxylabs_mcp-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5cfc390cdb828892046822f75c67949e06710b5b3416a899daf45fe734b5a800
MD5 7aa170b7b54af65873cb3ef5e6ac9851
BLAKE2b-256 80678140ff7d7f36f41bd40c435bd5937ef4107f5b729629ec38d08c3ce0466f

See more details on using hashes here.

Release history Release notifications | RSS feed

0.9.2

2 files

0.9.1

2 files

This release

0.9.0 This release

2 files

0.8.1

2 files

0.7.5

2 files

0.7.4

2 files

0.7.3

2 files

0.7.2

2 files

0.7.1

2 files

0.7.0

2 files

0.6.8

2 files

0.6.7

2 files

0.6.6

2 files

0.6.5

2 files

0.6.4

2 files

0.6.3

2 files

0.6.2

2 files

0.6.1

2 files

0.6.0

2 files

0.5.0

2 files

0.4.1

2 files

0.4.0

2 files

0.3.0

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page