
Connects Claude to Oxylabs' web scraping infrastructure through two product lines: the Web Scraper API for general site scraping, Google Search, and Amazon data extraction, and AI Studio for prompt-driven scraping, crawling, and browser automation. The API handles JavaScript rendering, proxy rotation, and geo-targeting across 195+ countries. You'll need either Web Scraper API credentials or an AI Studio key to expose the corresponding toolsets. Especially useful when you need structured data from anti-bot sites or want Claude to navigate and extract from complex pages without writing scraper code yourself. Supports both local uvx/uv setup and remote deployment via Smithery with OAuth2 or query parameter auth.
Sponsors
The missing link between AI models and the real‑world web: one API that delivers clean, structured data from any site.
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-name: io.oxylabs/oxylabs-mcp
Oxylabs MCP provides two sets of tools that can be used together or independently:
Before you begin, make sure you have at least one of the following:
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"
There are two ways to use the server: connect to the hosted instance (no installation) or run it locally with credentials in environment variables.
Oxylabs runs a hosted MCP server at:
https://mcp.oxylabs.io/mcp
Credentials are passed with request headers:
| Credential | Header |
|---|---|
| Web Scraper API token (recommended) | Authorization: Bearer <token> |
| Web Scraper API token (alternative) | X-Oxylabs-Api-Token |
| Web Scraper API username and password | Authorization: Basic <base64(username:password)> |
| Web Scraper API username and password (alt.) | X-Oxylabs-Username and X-Oxylabs-Password |
| AI Studio | X-Oxylabs-AI-Studio-Api-Key |
If both an API token and a username and password are passed, the token is used.
Setup with Claude Code:
claude mcp add --transport http oxylabs https://mcp.oxylabs.io/mcp \
--header "Authorization: Bearer YOUR_API_TOKEN" \
--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": "Bearer YOUR_API_TOKEN",
"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.
Oxylabs MCP server supports the following environment variables:
| Name | Description | Default |
|---|---|---|
OXYLABS_API_TOKEN | Your Oxylabs Web Scraper API token | |
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 |
For the Web Scraper API tools, set either OXYLABS_API_TOKEN or both OXYLABS_USERNAME and
OXYLABS_PASSWORD. If both are set, the token is used. For the AI Studio tools, set
OXYLABS_AI_STUDIO_API_KEY.
All tools are always listed; calling a tool without the credentials it needs returns an error message explaining what to configure.
❗ Important: only set the environment variables you have real credentials for. Placeholder values make tool calls fail.
Installs the package from PyPI and runs it automatically:
{
"mcpServers": {
"oxylabs": {
"command": "uvx",
"args": ["oxylabs-mcp"],
"env": {
"OXYLABS_API_TOKEN": "YOUR_API_TOKEN",
"OXYLABS_AI_STUDIO_API_KEY": "YOUR_API_KEY"
}
}
}
}
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_API_TOKEN": "YOUR_API_TOKEN",
"OXYLABS_AI_STUDIO_API_KEY": "YOUR_API_KEY"
}
}
}
}
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 token (recommended) | Authorization: Bearer <token> |
| Web Scraper API token (alternative) | X-Oxylabs-Api-Token header |
| Web Scraper API username and password | Authorization: Basic <base64(username:password)> (HTTP Basic auth) |
| Web Scraper API username and password (alt.) | 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": "Bearer YOUR_API_TOKEN",
"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.
Navigate to Claude → Settings → Developer → Edit Config and add one of the configurations above to the claude_desktop_config.json file.
Navigate to Cursor → Settings → Cursor Settings → MCP. Click Add new global MCP server and add one of the configurations above.
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"
}
}
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 |
Distributed under the MIT License – see LICENSE for details.
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.