
Connects Claude to Oxylabs' web scraping infrastructure through two product lines: the Web Scraper API for fetching content from any URL, Google Search, or Amazon pages with JavaScript rendering and geo-targeting across 195+ countries, and AI Studio tools that let you scrape sites into JSON or Markdown, crawl multiple pages based on prompts, control a browser agent, or search the web with AI-powered extraction. You'll need either Web Scraper API credentials or an AI Studio API key to expose the corresponding toolsets. Useful when you need Claude to pull live data from sites that block standard scrapers or when you want structured extraction without writing parsers yourself.
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.
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 | Authorization: Basic <base64(username:password)> |
| 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 <base64 of username:password>",
"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_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:
OXYLABS_USERNAME and OXYLABS_PASSWORD are provided, the server exposes the Web Scraper API tools;OXYLABS_AI_STUDIO_API_KEY is provided, the server exposes the AI Studio tools;❗ Important: only set the environment variables you have real credentials for. Leaving placeholder values will result in exposed tools that do not work.
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"
}
}
}
}
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"
}
}
}
}
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.
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.
mcp-name: io.oxylabs/oxylabs-mcp
OXYLABS_USERNAMEsecretYour Oxylabs username
OXYLABS_PASSWORDsecretYour Oxylabs password
OXYLABS_AI_STUDIO_API_KEYsecretYour Oxylabs AI Studio api key