Scrape websites with the Oxylabs Web Scraper API, with dynamic rendering and structured parsing.
Setup
Choose your client, copy the config, then fill in any required environment variables.
Local
claude mcp add oxylabs --env OXYLABS_USERNAME='<OXYLABS_USERNAME>' --env OXYLABS_PASSWORD='<OXYLABS_PASSWORD>' --env OXYLABS_AI_STUDIO_API_KEY='<OXYLABS_AI_STUDIO_API_KEY>' -- uvx oxylabs-mcp~/.codex/config.toml
[mcp_servers.oxylabs]
command = "uvx"
args = ["oxylabs-mcp"]
env = { OXYLABS_USERNAME = "<OXYLABS_USERNAME>", OXYLABS_PASSWORD = "<OXYLABS_PASSWORD>", OXYLABS_AI_STUDIO_API_KEY = "<OXYLABS_AI_STUDIO_API_KEY>" }
# codex mcp add oxylabs --env OXYLABS_USERNAME='<OXYLABS_USERNAME>' --env OXYLABS_PASSWORD='<OXYLABS_PASSWORD>' --env OXYLABS_AI_STUDIO_API_KEY='<OXYLABS_AI_STUDIO_API_KEY>' -- uvx oxylabs-mcp~/.cursor/mcp.json
{
"mcpServers": {
"oxylabs": {
"command": "uvx",
"args": [
"oxylabs-mcp"
],
"env": {
"OXYLABS_USERNAME": "<OXYLABS_USERNAME>",
"OXYLABS_PASSWORD": "<OXYLABS_PASSWORD>",
"OXYLABS_AI_STUDIO_API_KEY": "<OXYLABS_AI_STUDIO_API_KEY>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"oxylabs": {
"type": "stdio",
"command": "uvx",
"args": [
"oxylabs-mcp"
],
"env": {
"OXYLABS_USERNAME": "<OXYLABS_USERNAME>",
"OXYLABS_PASSWORD": "<OXYLABS_PASSWORD>",
"OXYLABS_AI_STUDIO_API_KEY": "<OXYLABS_AI_STUDIO_API_KEY>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"oxylabs": {
"command": "uvx",
"args": [
"oxylabs-mcp"
],
"env": {
"OXYLABS_USERNAME": "<OXYLABS_USERNAME>",
"OXYLABS_PASSWORD": "<OXYLABS_PASSWORD>",
"OXYLABS_AI_STUDIO_API_KEY": "<OXYLABS_AI_STUDIO_API_KEY>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"oxylabs": {
"command": "uvx",
"args": [
"oxylabs-mcp"
],
"env": {
"OXYLABS_USERNAME": "<OXYLABS_USERNAME>",
"OXYLABS_PASSWORD": "<OXYLABS_PASSWORD>",
"OXYLABS_AI_STUDIO_API_KEY": "<OXYLABS_AI_STUDIO_API_KEY>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"oxylabs": {
"command": "uvx",
"args": [
"oxylabs-mcp"
],
"env": {
"OXYLABS_USERNAME": "<OXYLABS_USERNAME>",
"OXYLABS_PASSWORD": "<OXYLABS_PASSWORD>",
"OXYLABS_AI_STUDIO_API_KEY": "<OXYLABS_AI_STUDIO_API_KEY>"
}
}
}
}Remote
claude mcp add --transport http oxylabs https://server.smithery.ai/@oxylabs/oxylabs-mcp/mcp --header 'Authorization: Bearer <SMITHERY_API_KEY>'~/.codex/config.toml
[mcp_servers.oxylabs]
url = "https://server.smithery.ai/@oxylabs/oxylabs-mcp/mcp"
bearer_token_env_var = "OXYLABS_SMITHERY_API_KEY"
# codex mcp add oxylabs --url https://server.smithery.ai/@oxylabs/oxylabs-mcp/mcp --bearer-token-env-var OXYLABS_SMITHERY_API_KEY
# export OXYLABS_SMITHERY_API_KEY=<SMITHERY_API_KEY>~/.cursor/mcp.json
{
"mcpServers": {
"oxylabs": {
"url": "https://server.smithery.ai/@oxylabs/oxylabs-mcp/mcp",
"headers": {
"Authorization": "Bearer <SMITHERY_API_KEY>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"oxylabs": {
"type": "http",
"url": "https://server.smithery.ai/@oxylabs/oxylabs-mcp/mcp",
"headers": {
"Authorization": "Bearer <SMITHERY_API_KEY>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"oxylabs": {
"httpUrl": "https://server.smithery.ai/@oxylabs/oxylabs-mcp/mcp",
"headers": {
"Authorization": "Bearer <SMITHERY_API_KEY>"
}
}
}
}claude_desktop_config.json · Customize › Connectors › Add custom connector
{
"mcpServers": {
"oxylabs": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://server.smithery.ai/@oxylabs/oxylabs-mcp/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer <SMITHERY_API_KEY>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"oxylabs": {
"url": "https://server.smithery.ai/@oxylabs/oxylabs-mcp/mcp",
"headers": {
"Authorization": "Bearer <SMITHERY_API_KEY>"
}
}
}
}Environment variables
OXYLABS_USERNAMEOXYLABS_PASSWORDOXYLABS_AI_STUDIO_API_KEY
Replace the placeholders with your own credentials and keep them out of version control.