{"id":26648363,"url":"https://github.com/oxylabs/oxylabs-mcp","last_synced_at":"2026-08-28T00:30:02.292Z","repository":{"id":273673777,"uuid":"918221533","full_name":"oxylabs/oxylabs-mcp","owner":"oxylabs","description":"Official Oxylabs MCP integration","archived":false,"fork":false,"pushed_at":"2026-08-14T04:43:17.000Z","size":590,"stargazers_count":101,"open_issues_count":2,"forks_count":27,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-08-14T08:47:43.052Z","etag":null,"topics":["ai-tools","data-collection","e-comerce-scraping","llm","llm-tools","mcp","mcp-server","model-context-protocol","oxylabs","python","scraping"],"latest_commit_sha":null,"homepage":"https://oxylabs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oxylabs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2025-01-17T13:47:05.000Z","updated_at":"2026-08-14T04:41:32.000Z","dependencies_parsed_at":"2026-08-14T06:22:26.227Z","dependency_job_id":null,"html_url":"https://github.com/oxylabs/oxylabs-mcp","commit_stats":null,"previous_names":["oxylabs/oxylabs-mcp"],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/oxylabs/oxylabs-mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxylabs%2Foxylabs-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxylabs%2Foxylabs-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxylabs%2Foxylabs-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxylabs%2Foxylabs-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oxylabs","download_url":"https://codeload.github.com/oxylabs/oxylabs-mcp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxylabs%2Foxylabs-mcp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36947903,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-27T02:00:07.166Z","response_time":96,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-tools","data-collection","e-comerce-scraping","llm","llm-tools","mcp","mcp-server","model-context-protocol","oxylabs","python","scraping"],"created_at":"2025-03-25T00:01:48.314Z","updated_at":"2026-08-28T00:30:02.286Z","avatar_url":"https://github.com/oxylabs.png","language":"Python","funding_links":[],"categories":["🏢 Enterprise-Supported Implementations","Web Scraping","Websuche und Scraping","MCP 服务器精选列表","Production-Ready Servers","🤖 AI/ML","Browser Automation","Official Servers","官方 MCP 服务器列表","Search \u0026 Data Extraction","Cloud Services","カテゴリ","Mcp Server Directories \u0026 Lists","🗂️ Extensions by Category","Web \u0026 Search","Table of Contents"],"sub_categories":["Browser \u0026 Web Automation","SIEM \u0026 SecOps","Claude API","Dieselbe Konfiguration, CLI und IDE","🌐 浏览器自动化与网页交互","How to Submit","🕸️ \u003ca name=\"web-scraping--collection\"\u003e\u003c/a\u003eWebスクレイピング・収集","🌐 Web Services","Browser Automation"],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://storage.googleapis.com/oxylabs-public-assets/oxylabs_mcp.svg\" alt=\"Oxylabs + MCP\"\u003e\n\u003c/p\u003e\n\u003ch1 align=\"center\" style=\"border-bottom: none;\"\u003e\n  Oxylabs MCP Server\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cem\u003eThe missing link between AI models and the real‑world web: one API that delivers clean, structured data from any site.\u003c/em\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[![pypi package](https://img.shields.io/pypi/v/oxylabs-mcp?color=%2334D058\u0026label=pypi%20package)](https://pypi.org/project/oxylabs-mcp/)\n[![](https://dcbadge.vercel.app/api/server/eWsVUJrnG5?style=flat)](https://discord.gg/Pds3gBmKMH)\n[![Licence](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n[![Verified on MseeP](https://mseep.ai/badge.svg)](https://mseep.ai/app/f6a9c0bc-83a6-4f78-89d9-f2cec4ece98d)\n![Coverage badge](https://raw.githubusercontent.com/oxylabs/oxylabs-mcp/coverage/coverage-badge.svg)\n\n\u003cbr/\u003e\n\u003ca href=\"https://glama.ai/mcp/servers/@oxylabs/oxylabs-mcp\"\u003e\n  \u003cimg width=\"380\" height=\"200\" src=\"https://glama.ai/mcp/servers/@oxylabs/oxylabs-mcp/badge\" alt=\"Oxylabs Server MCP server\" /\u003e\n\u003c/a\u003e\n\n\u003c/div\u003e\n\n---\n\n## 📖 Overview\n\nThe 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.\n\nIt is built on the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/), the open standard for connecting AI assistants to external tools and data.\n\n\n## 🛠️ MCP Tools\n\nOxylabs MCP provides two sets of tools that can be used together or independently:\n\n### Oxylabs Web Scraper API tools\n\n1. **universal_scraper**: scrapes any URL, with optional JavaScript rendering, geo-targeting, and Markdown/HTML/links output;\n2. **google_search_scraper**: extracts results from Google Search, with optional parsing into structured JSON;\n3. **amazon_search_scraper**: scrapes Amazon search result pages, with optional parsing into structured JSON;\n4. **amazon_product_scraper**: extracts data from individual Amazon product pages.\n\n### Oxylabs AI Studio tools\n\n5. **ai_scraper**: scrapes content from any URL with AI-powered extraction, in JSON, CSV, Markdown, or TOON format;\n6. **ai_crawler**: crawls a website from a starting URL based on a prompt and collects data across multiple pages;\n7. **ai_browser_agent**: controls a real browser based on a prompt — navigates, clicks, fills forms — and returns the result;\n8. **ai_search**: searches the web and optionally returns Markdown content of each result;\n9. **ai_map**: maps a website's URLs, filtered by keywords or a prompt;\n10. **generate_schema**: generates an OpenAPI-format JSON schema for structured extraction with the AI tools above.\n\n\n## ✅ Prerequisites\n\nBefore you begin, make sure you have **at least one** of the following:\n\n- **Oxylabs Web Scraper API account**: obtain your username and password from [Oxylabs](https://dashboard.oxylabs.io/) (1-week free trial available);\n- **Oxylabs AI Studio API key**: obtain your API key from [Oxylabs AI Studio](https://aistudio.oxylabs.io/settings/api-key) (1000 credits free).\n\nTo run the server locally (Option 2 below) you will also need the [uv](https://docs.astral.sh/uv/) package manager:\n\n```bash\n# macOS and Linux\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n```\n\n```powershell\n# Windows\npowershell -ExecutionPolicy ByPass -c \"irm https://astral.sh/uv/install.ps1 | iex\"\n```\n\n## 📦 Configuration\n\nThere are two ways to use the server: connect to the **hosted instance** (no installation)\nor **run it locally** with credentials in environment variables.\n\n### Option 1: Hosted server (no installation)\n\nOxylabs runs a hosted MCP server at:\n\n```\nhttps://mcp.oxylabs.io/mcp\n```\n\nCredentials are passed with request headers:\n\n| Credential                     | Header                                                          |\n|--------------------------------|------------------------------------------------------------------|\n| Web Scraper API                | `Authorization: Basic \u003cbase64(username:password)\u003e`               |\n| Web Scraper API (alternative)  | `X-Oxylabs-Username` and `X-Oxylabs-Password`                    |\n| AI Studio                      | `X-Oxylabs-AI-Studio-Api-Key`                                    |\n\nSetup with **Claude Code**:\n\n```bash\nclaude mcp add --transport http oxylabs https://mcp.oxylabs.io/mcp \\\n  --header \"Authorization: Basic $(echo -n 'YOUR_USERNAME:YOUR_PASSWORD' | base64)\" \\\n  --header \"X-Oxylabs-AI-Studio-Api-Key: YOUR_API_KEY\"\n```\n\nSetup with **Cursor** or any client that supports remote MCP servers with custom headers:\n\n```json\n{\n  \"mcpServers\": {\n    \"oxylabs\": {\n      \"url\": \"https://mcp.oxylabs.io/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Basic \u003cbase64 of username:password\u003e\",\n        \"X-Oxylabs-AI-Studio-Api-Key\": \"YOUR_API_KEY\"\n      }\n    }\n  }\n}\n```\n\nThe server is also listed on [Smithery](https://smithery.ai/servers/oxylabsmcp/oxylabs-mcp).\n\n\u003e **Note:** clients that only support OAuth for remote servers (for example, adding a custom\n\u003e connector in the claude.ai web UI) cannot pass headers yet — OAuth sign-in is on our roadmap.\n\u003e Use the local setup below with those clients in the meantime.\n\n### Option 2: Run locally\n\n#### Environment variables\n\nOxylabs MCP server supports the following environment variables:\n\n| Name                        | Description                                   | Default |\n|-----------------------------|-----------------------------------------------|---------|\n| `OXYLABS_USERNAME`          | Your Oxylabs Web Scraper API username         |         |\n| `OXYLABS_PASSWORD`          | Your Oxylabs Web Scraper API password         |         |\n| `OXYLABS_AI_STUDIO_API_KEY` | Your Oxylabs AI Studio API key                |         |\n| `LOG_LEVEL`                 | Log level for the logs returned to the client | `INFO`  |\n\nBased on the provided credentials, the server automatically exposes the corresponding tools:\n- If only `OXYLABS_USERNAME` and `OXYLABS_PASSWORD` are provided, the server exposes the Web Scraper API tools;\n- If only `OXYLABS_AI_STUDIO_API_KEY` is provided, the server exposes the AI Studio tools;\n- If all three are provided, the server exposes all tools.\n\n❗ **Important: only set the environment variables you have real credentials for.\nLeaving placeholder values will result in exposed tools that do not work.**\n\n#### Configure with uvx\n\nInstalls the [package from PyPI](https://pypi.org/project/oxylabs-mcp/) and runs it automatically:\n\n```json\n{\n  \"mcpServers\": {\n    \"oxylabs\": {\n      \"command\": \"uvx\",\n      \"args\": [\"oxylabs-mcp\"],\n      \"env\": {\n        \"OXYLABS_USERNAME\": \"YOUR_USERNAME\",\n        \"OXYLABS_PASSWORD\": \"YOUR_PASSWORD\",\n        \"OXYLABS_AI_STUDIO_API_KEY\": \"YOUR_API_KEY\"\n      }\n    }\n  }\n}\n```\n\n#### Configure with a local checkout\n\nUseful for development — runs the server from a local clone of this repository:\n\n```json\n{\n  \"mcpServers\": {\n    \"oxylabs\": {\n      \"command\": \"uv\",\n      \"args\": [\n        \"--directory\",\n        \"/\u003cabsolute-path-to-folder\u003e/oxylabs-mcp\",\n        \"run\",\n        \"oxylabs-mcp\"\n      ],\n      \"env\": {\n        \"OXYLABS_USERNAME\": \"YOUR_USERNAME\",\n        \"OXYLABS_PASSWORD\": \"YOUR_PASSWORD\",\n        \"OXYLABS_AI_STUDIO_API_KEY\": \"YOUR_API_KEY\"\n      }\n    }\n  }\n}\n```\n\n#### Running as a remote HTTP server (self-hosting)\n\nThe server also supports the MCP streamable-HTTP transport. Start it with:\n\n```bash\nMCP_TRANSPORT=streamable-http MCP_HOST=0.0.0.0 MCP_PORT=8000 uvx oxylabs-mcp\n```\n\nWith the HTTP transport, credentials are passed per request instead of environment variables:\n\n| Credential                | How to pass it                                                                                         |\n|---------------------------|--------------------------------------------------------------------------------------------------------|\n| Web Scraper API           | `Authorization: Basic \u003cbase64(username:password)\u003e` (standard HTTP Basic auth)                            |\n| Web Scraper API (alternative) | `X-Oxylabs-Username` and `X-Oxylabs-Password` headers                                                |\n| AI Studio                 | `X-Oxylabs-AI-Studio-Api-Key` header                                                                     |\n\nExample client configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"oxylabs\": {\n      \"url\": \"https://your-host:8000/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Basic \u003cbase64 of username:password\u003e\",\n        \"X-Oxylabs-AI-Studio-Api-Key\": \"YOUR_API_KEY\"\n      }\n    }\n  }\n}\n```\n\nAll tools are always listed regardless of provided credentials; calling a tool without the\ncredentials it needs returns an error message explaining exactly what to configure.\n\n#### Setup with Claude Desktop\n\nNavigate to **Claude → Settings → Developer → Edit Config** and add one of the configurations above to the `claude_desktop_config.json` file.\n\n#### Setup with Cursor AI\n\nNavigate to **Cursor → Settings → Cursor Settings → MCP**. Click **Add new global MCP server** and add one of the configurations above.\n\n\n## 📝 Logging\n\nThe server provides additional information about the tool calls in `notification/message` events:\n\n```json\n{\n  \"method\": \"notifications/message\",\n  \"params\": {\n    \"level\": \"info\",\n    \"data\": \"Create job with params: {\\\"url\\\": \\\"https://ip.oxylabs.io\\\"}\"\n  }\n}\n```\n\n```json\n{\n  \"method\": \"notifications/message\",\n  \"params\": {\n    \"level\": \"info\",\n    \"data\": \"Job info: job_id=7333113830223918081 job_status=done\"\n  }\n}\n```\n\n```json\n{\n  \"method\": \"notifications/message\",\n  \"params\": {\n    \"level\": \"error\",\n    \"data\": \"Error: request to Oxylabs API failed\"\n  }\n}\n```\n\n\n## ✨ Key Features\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003e Scrape content from any site\u003c/strong\u003e\u003c/summary\u003e\n\u003cbr\u003e\n\n- Extract data from any URL, including complex single-page applications\n- Fully render dynamic websites using headless browser support\n- Choose full JavaScript rendering, HTML-only, or none\n- Emulate Mobile and Desktop viewports for realistic rendering\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003e Automatically get AI-ready data\u003c/strong\u003e\u003c/summary\u003e\n\u003cbr\u003e\n\n- Automatically clean and convert HTML to Markdown for improved readability\n- Use automated parsers for popular targets like Google, Amazon, and more\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003e Manage CAPTCHA \u0026 geo-restrictions\u003c/strong\u003e\u003c/summary\u003e\n\u003cbr\u003e\n\n- Navigate sophisticated automated request management systems with high success rate\n- Reliably scrape even the most complex websites\n- Get automatically rotating IPs from a proxy pool covering 195+ countries\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003e Flexible setup \u0026 cross-platform support\u003c/strong\u003e\u003c/summary\u003e\n\u003cbr\u003e\n\n- Set rendering and parsing options if needed\n- Feed data directly into AI models or analytics tools\n- Works on macOS, Windows, and Linux\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003e Built-in error handling and request management\u003c/strong\u003e\u003c/summary\u003e\n\u003cbr\u003e\n\n- Comprehensive error handling and reporting\n- Smart rate limiting and request management\n\n\u003c/details\u003e\n\n\n## Why Oxylabs MCP? \u0026nbsp;🕸️ ➜ 📦 ➜ 🤖\n\nImagine telling your LLM *\"Summarise the latest Hacker News discussion about GPT‑5\"* – and it simply answers.\nThe Oxylabs MCP server makes that happen by doing the boring parts for you:\n\n| What Oxylabs MCP does                                                      | Why it matters to you                    |\n|----------------------------------------------------------------------------|------------------------------------------|\n| **Manages automated request walls** with the Oxylabs global proxy network  | Enables website access and anonymity     |\n| **Renders JavaScript** in headless Chrome                                  | Single‑page apps, sorted                 |\n| **Cleans HTML → Markdown**                                                 | Drop straight into vector DBs or prompts |\n| **Optional structured parsers** (Google, Amazon, etc.)                     | One‑line access to popular targets       |\n\n---\n\n## 🛡️ License\n\nDistributed under the MIT License – see [LICENSE](LICENSE) for details.\n\n---\n\n## About Oxylabs\n\nEstablished in 2015, Oxylabs is a market-leading web intelligence collection\nplatform, driven by the highest business, ethics, and compliance standards,\nenabling companies worldwide to unlock data-driven insights.\n\n[![image](https://oxylabs.io/images/og-image.png)](https://oxylabs.io/)\n\n\u003cdiv align=\"center\"\u003e\n\u003csub\u003e\n  Made with ☕ by \u003ca href=\"https://oxylabs.io\"\u003eOxylabs\u003c/a\u003e.  Feel free to give us a ⭐ if MCP saved you a weekend.\n\u003c/sub\u003e\n\u003c/div\u003e\n\nmcp-name: io.oxylabs/oxylabs-mcp\n\n## Solutions made based on this MCP:\n[Michelin Detour](https://michelindetour.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foxylabs%2Foxylabs-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foxylabs%2Foxylabs-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foxylabs%2Foxylabs-mcp/lists"}