Oxylabs
listing.by
Scrape any URL, Google and Amazon results, and run AI crawlers, browser agents and web search through Oxylabs.
listing.connect
listing.explain.api_key
listing.note.key_header listing.note.key_where
listing.share.h
listing.share.p
mcp.tc/i/oxylabslisting.about
Connects an assistant to Oxylabs Web Scraper API and AI Studio. It can scrape any page with optional JavaScript rendering and geo-targeting, pull Google Search and Amazon search or product data, crawl or map sites, run a browser agent that clicks and fills forms, and search the web with optional page content.
The hosted endpoint at https://mcp.oxylabs.io/mcp uses streamable HTTP. Credentials go in request headers: HTTP Basic auth for Web Scraper API and/or an AI Studio API key. The open-source repository is archived, but the hosted endpoint is the supported setup and the PyPI package oxylabs-mcp can still be run locally with uvx.
listing.can
- Scrape any URL with optional JavaScript rendering and geo-targeting
- Extract Google Search results, optionally parsed into structured data
- Scrape Amazon search results and individual product pages
- Crawl a site from a start URL and collect data by prompt
- Map a website's URLs filtered by keywords or a prompt
- Run a browser agent that navigates, clicks and fills forms
- Search the web and optionally return Markdown for each result
- Generate JSON schemas for structured extraction
listing.tools 10
ai_crawlerlisting.hint.roCrawl a website from a starting URL and return data in a chosen format.
ai_scraperlisting.hint.roScrape a web page with AI extraction into JSON, CSV, Markdown or TOON.
ai_browser_agentlisting.hint.roDrive a browser to navigate, click and fill forms, then return results.
ai_searchlisting.hint.roSearch the web, optionally returning Markdown content for each result.
generate_schemalisting.hint.roGenerate an OpenAPI-format JSON schema for structured extraction.
ai_maplisting.hint.roMap a website's URLs, filtered by keywords or a prompt.
universal_scraperlisting.hint.roGet the content of any webpage with optional rendering and parsing.
google_search_scraperlisting.hint.roScrape Google Search results with parsing, pagination and locale options.
amazon_search_scraperlisting.hint.roScrape Amazon search results with category, merchant and currency options.
amazon_product_scraperlisting.hint.roScrape Amazon product pages, with optional variant auto-select and currency.
listing.prov.live_on listing.prov.hints
listing.prompts
Scrape this product page and return the title and price as JSON
Search Google for best standing desks and give me the top 10 results
Crawl docs.example.com and summarize the pages about authentication
Look up this Amazon product in the US store and show current pricing
listing.setup.h
listing.setup.remote
Claude Code
- Run this in a terminal, in your project folder:
claude mcp add --transport http oxylabs https://mcp.oxylabs.io/mcp --header "Authorization: Bearer <YOUR_AUTHORIZATION>" --header "X-Oxylabs-AI-Studio-Api-Key: <YOUR_X_OXYLABS_AI_STUDIO_API_KEY>"- Replace the placeholder with your key before you run it, then check it with
/mcpinside Claude Code.
Add --scope user to make it available in every project, not just this one.
Claude Desktop
- Custom connectors can't send this server's key header, so use the
mcp-remotebridge. Open Settings → Developer → Edit Config and add:
{
"mcpServers": {
"oxylabs": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.oxylabs.io/mcp",
"--header",
"Authorization: Bearer <YOUR_AUTHORIZATION>",
"--header",
"X-Oxylabs-AI-Studio-Api-Key: <YOUR_X_OXYLABS_AI_STUDIO_API_KEY>"
]
}
}
}- Replace the placeholder with your key and restart Claude Desktop.
The bridge needs Node.js on your computer.
Cursor
Or add it by hand to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project):
{
"mcpServers": {
"oxylabs": {
"url": "https://mcp.oxylabs.io/mcp",
"headers": {
"Authorization": "Bearer <YOUR_AUTHORIZATION>",
"X-Oxylabs-AI-Studio-Api-Key": "<YOUR_X_OXYLABS_AI_STUDIO_API_KEY>"
}
}
}
}VS Code
Add it to .vscode/mcp.json. VS Code asks for the key the first time and stores it securely:
{
"servers": {
"oxylabs": {
"type": "http",
"url": "https://mcp.oxylabs.io/mcp",
"headers": {
"Authorization": "Bearer ${input:api-key}",
"X-Oxylabs-AI-Studio-Api-Key": "${input:x-oxylabs-ai-studio-api-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "api-key",
"description": "API key",
"password": true
},
{
"type": "promptString",
"id": "x-oxylabs-ai-studio-api-key",
"description": "X-Oxylabs-AI-Studio-Api-Key",
"password": true
}
]
}Devin Desktop
- Add it to
~/.config/devin/mcp_config.json(macOS and Linux) or%APPDATA%\devin\mcp_config.json(Windows):
{
"mcpServers": {
"oxylabs": {
"serverUrl": "https://mcp.oxylabs.io/mcp",
"headers": {
"Authorization": "Bearer <YOUR_AUTHORIZATION>",
"X-Oxylabs-AI-Studio-Api-Key": "<YOUR_X_OXYLABS_AI_STUDIO_API_KEY>"
}
}
}
}- Refresh the MCP server list in Cascade.
Devin Desktop is the new name for Windsurf. It reads serverUrl (or url) for remote servers.
Codex
codex mcp add oxylabs --url https://mcp.oxylabs.io/mcp --bearer-token-env-var OXYLABS_API_KEYOr edit ~/.codex/config.toml directly:
[mcp_servers.oxylabs]
url = "https://mcp.oxylabs.io/mcp"
bearer_token_env_var = "OXYLABS_API_KEY"Set OXYLABS_API_KEY to your key in the shell that runs Codex.
Gemini CLI
gemini mcp add --transport http --header "Authorization: Bearer <YOUR_AUTHORIZATION>" --header "X-Oxylabs-AI-Studio-Api-Key: <YOUR_X_OXYLABS_AI_STUDIO_API_KEY>" oxylabs https://mcp.oxylabs.io/mcpThis adds it to the current project. Add -s user to use it everywhere.
Any client
Most clients accept this shape. Some name the URL field differently: serverUrl in Devin Desktop, httpUrl in Gemini CLI's settings file.
{
"mcpServers": {
"oxylabs": {
"type": "http",
"url": "https://mcp.oxylabs.io/mcp",
"headers": {
"Authorization": "Bearer <YOUR_AUTHORIZATION>",
"X-Oxylabs-AI-Studio-Api-Key": "<YOUR_X_OXYLABS_AI_STUDIO_API_KEY>"
}
}
}
}Zed puts servers under context_servers in its settings. Cline needs "type": "streamableHttp", or it assumes SSE.
Client only starts local servers? Bridge it with npx -y mcp-remote https://mcp.oxylabs.io/mcp.
listing.faq
Can I paste mcp.tc/i/oxylabs into my MCP client?
No. mcp.tc links are pages, not server addresses. Connect with https://mcp.oxylabs.io/mcp, so your client talks to Oxylabs directly. Your key goes there too, never to mcp.tc. The quick link is for sharing: it opens this page, with setup steps for every client.
Does Oxylabs need an API key or a sign-in?
Yes. Oxylabs needs an API key, sent as the Authorization header. Get one from Oxylabs and keep it in your client's config, never in a shared file.
Is Oxylabs a remote or a local server?
Remote. Oxylabs hosts it at https://mcp.oxylabs.io/mcp, and it speaks Streamable HTTP. There's nothing to install.
What can Oxylabs do?
It has 10 tools, including ai_crawler, ai_scraper and ai_browser_agent. You can scrape any URL with optional JavaScript rendering and geo-targeting, extract Google Search results, optionally parsed into structured data and scrape Amazon search results and individual product pages.
Which clients can use it?
Any client that supports remote MCP servers and can send your key: Claude Code, Cursor, VS Code, Devin Desktop, Codex, Gemini CLI, Zed and others, and Claude Desktop through the mcp-remote bridge. claude.ai and ChatGPT can't send a key, so they can't use it.
Who wrote this page?
mcp.tc's robot read Oxylabs's own metadata (its MCP handshake, tool list and public pages), and an AI model drafted the text from it. A person reviews anything the checks can't confirm. The text can still be wrong, so if you spot a mistake, use Report this listing on this page.
listing.em.h
listing.em.lead listing.em.how
listing.em.badge
[](https://mcp.tc/i/oxylabs)<a href="https://mcp.tc/i/oxylabs"><img src="https://mcp.tc/i/oxylabs/badge.svg" alt="Oxylabs on mcp.tc" height="20"></a>listing.em.badge_note
listing.em.widget
<script src="https://mcp.tc/w/oxylabs.js" async></script>listing.em.widget_note
iframe
<iframe src="https://mcp.tc/embed/oxylabs" title="Oxylabs on mcp.tc" width="420" height="200" loading="lazy" allow="clipboard-write" style="border:0;border-radius:8px;max-width:100%"></iframe>listing.em.iframe_note
listing.disclaimer_checked