oxylabs-mcp
Official Oxylabs MCP integration
Documentation
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
5. ai_scraper: scrapes content from any URL with AI-powered extraction, in JSON, CSV, Markdown, or TOON format;
6. ai_crawler: crawls a website from a starting URL based on a prompt and collects data across multiple pages;
7. ai_browser_agent: controls a real browser based on a prompt β navigates, clicks, fills forms β and returns the result;
8. ai_search: searches the web and optionally returns Markdown content of each result;
9. ai_map: maps a website's URLs, filtered by keywords or a prompt;
10. 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).
To run the server locally (Option 2 below) you will also need the uv package manager:
# 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
There are two ways to use the server: connect to the hosted instance (no installation)
or run it locally with credentials in environment variables.
Option 1: Hosted server (no installation)
Oxylabs runs a hosted MCP server at:
https://mcp.oxylabs.io/mcpCredentials are passed with request headers:
| Credential | Header |
|---|---|
| Web Scraper API | `Authorization: Basic ` |
| Web Scraper API (alternative) | `X-Oxylabs-Username` and `X-Oxylabs-Password` |
| AI Studio | `X-Oxylabs-AI-Studio-Api-Key` |
Setup with Claude Code:
claude mcp add --transport http oxylabs https://mcp.oxylabs.io/mcp \
--header "Authorization: Basic $(echo -n 'YOUR_USERNAME:YOUR_PASSWORD' | base64)" \
--header "X-Oxylabs-AI-Studio-Api-Key: YOUR_API_KEY"Setup with Cursor or any client that supports remote MCP servers with custom headers:
{
"mcpServers": {
"oxylabs": {
"url": "https://mcp.oxylabs.io/mcp",
"headers": {
"Authorization": "Basic ",
"X-Oxylabs-AI-Studio-Api-Key": "YOUR_API_KEY"
}
}
}
}The server is also listed on Smithery.
> Note: clients that only support OAuth for remote servers (for example, adding a custom
> connector in the claude.ai web UI) cannot pass headers yet β OAuth sign-in is on our roadmap.
> Use the local setup below with those clients in the meantime.
Option 2: Run locally
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",
"//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-mcpWith the HTTP transport, credentials are passed per request instead of environment variables:
| Credential | How to pass it |
|---|---|
| Web Scraper API | `Authorization: Basic ` (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 ",
"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.

mcp-name: io.oxylabs/oxylabs-mcp
Solutions made based on this MCP:
Frequently asked questions
What is oxylabs-mcp?
oxylabs-mcp is Official Oxylabs MCP integration
How do I install oxylabs-mcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is oxylabs-mcp open source?
Yes β it is hosted on GitHub at https://github.com/oxylabs/oxylabs-mcp and has 67 stars.
Related MCP tools
πWeb Agent Protocol (WAP) - Record and replay user interactions in the browser with MCP support Python-based implementation.
Build effective agents using Model Context Protocol and simple workflow patterns Python-based implementation. Trusted by 7600+ developers.
A MCP (Model Context Protocol) server for interacting with dbt. Python-based implementation.
A text-based user interface (TUI) client for interacting with MCP servers using Ollama. Features include multi-server, dynamic model switching, streaming res...
π₯ Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients. JavaScript-based implementation.
An LLM agent that conducts deep research (local and web) on any given topic and generates a long report with citations. Built for the Model Context Protocol to
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP