Oxylabs MCP Server provides a bridge between AI models and the web, enabling seamless web data extraction. It allows AI assistants to scrape any URL, render JavaScript-heavy pages, extract formatted content, bypass anti-scraping measures, and access geo-restricted web data from 195+ countries via the Model Context Protocol (MCP).
Before you begin, make sure you have:
For basic usage with Smithery CLI:
npx
command-line toolFor using with uv:
uv
package manager – install it using the official guideFor local/development setup:
uv
package managerThe simplest way to install the Oxylabs MCP server is via Smithery:
npx -y @smithery/cli install @oxylabs/oxylabs-mcp --client <client>
Supported clients:
uvx
(Recommended)This installs the CLI client and Oxylabs MCP server that connects directly to the Oxylabs API:
{
"mcpServers": {
"oxylabs_scraper_uvx": {
"command": "uvx",
"args": [
"oxylabs-mcp"
],
"env": {
"OXYLABS_USERNAME": "OXYLABS_USERNAME",
"OXYLABS_PASSWORD": "OXYLABS_PASSWORD"
}
}
}
}
npx
Uses the Smithery CLI client to connect to the Oxylabs MCP server hosted on Smithery:
{
"mcpServers": {
"oxylabs-mcp": {
"command": "npx",
"args": [
"-y",
"@smithery/cli@latest",
"run",
"@oxylabs/oxylabs-mcp",
"--config",
"\"{\\\"oxylabsUsername\\\":\\\"OXYLABS_USERNAME\\\",\\\"oxylabsPassword\\\":\\\"OXYLABS_PASSWORD\\\"}\""
]
}
}
}
uv
(For Local Development)Uses the local code for development purposes:
{
"mcpServers": {
"oxylabs_scraper": {
"command": "uv",
"args": [
"--directory",
"/<Absolute-path-to-folder>/oxylabs-mcp",
"run",
"oxylabs-mcp"
],
"env": {
"OXYLABS_USERNAME": "OXYLABS_USERNAME",
"OXYLABS_PASSWORD": "OXYLABS_PASSWORD"
}
}
}
}
If you don't have
uvx
utility, install it first withbrew install uv
If you run into errors with
uvx
, try using the full path in thecommand
field, for example,/Users/my-user/.local/bin/uvx
claude_desktop_config.json
fileParameter | Description | Values |
---|---|---|
url |
The URL to scrape | Any valid URL |
parse |
Enable structured data extraction | True or False |
render |
Use headless browser rendering | html or None |
When you've set up the MCP server with Claude, you can make requests like:
https://www.google.com/search?q=ai
page?https://www.amazon.de/-/en/Smartphone-Contract-Function-Manufacturer-Exclusive/dp/B0CNKD651V
with parse enabledhttps://www.amazon.de/-/en/gp/bestsellers/beauty/ref=zg_bs_nav_beauty_0
with parse and render enabledhttps://www.bestbuy.com/site/top-deals/all-electronics-on-sale/pcmcat1674241939957.c
For local development and debugging:
make run
Then access MCP Inspector at http://localhost:5173
. You may need to add your username and password as environment variables in the inspector under OXYLABS_USERNAME
and OXYLABS_PASSWORD
.
There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json
file so that it is available in all of your projects.
If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json
file.
To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".
When you click that button the ~/.cursor/mcp.json
file will be opened and you can add your server like this:
{
"mcpServers": {
"cursor-rules-mcp": {
"command": "npx",
"args": [
"-y",
"cursor-rules-mcp"
]
}
}
}
To add an MCP server to a project you can create a new .cursor/mcp.json
file or add it to the existing one. This will look exactly the same as the global MCP server example above.
Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.
The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.
You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.