oxylabs-mcp

Fetch and process content from specified URLs & sources using the Oxylabs Web Scraper API.

Should I use this

Quality & Safety

A
Description quality
97%
Schema completeness
89%
Naming quality
82%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'ai_map' description lacks action verbin ai_map

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~4,914Tokens (tool definitions)
~5.5 KBTypical response size
Significant attention impact (3.84% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "oxylabs-mcp": {
      "command": "uvx",
      "args": [
        "oxylabs-mcp"
      ]
    }
  }
}

Runnable packages

pypioxylabs-mcp0.9.1stdio

Remote endpoints

https://mcp.oxylabs.io/mcpstreamable-http

What it can do

Tool inventory

Tools (10)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢ai_crawler(url, user_prompt, output_format, schema, render_javascript, ...)

Tool useful for crawling a website from starting url and returning data in a specified format. Schema is required only if output_format is json, csv or toon. 'render_javascript' is used to render javascript heavy websites. 'return_sources_limit' is used to limit the number of sources to return, for example if you expect results from single source, you can set it to 1.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "description": "The URL from which crawling will be started.",
      "type": "string"
    },
    "user_prompt": {
      "description": "What information user wants to extract from the domain.",
      "type": "string"
    },
    "output_format": {
      "default": "markdown",
      "description": "The format of the output. If json, csv or toon, the schema is required. Markdown returns full text of the page. CSV returns data in CSV format. Toon(Token-Oriented Object Notation) returns data in Toon format, which is optimized for AI agents.",
      "enum": [
        "json",
        "markdown",
        "csv",
        "toon"
      ],
      "type": "string"
    },
    "schema": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The JSON schema to use for structured data extraction from the crawled pages. Only required if output_format is json, csv or toon."
    },
    "render_javascript": {
      "default": false,
      "description": "Whether to render the HTML of the page using javascript. Much slower, therefore use it only for websites that require javascript to render the page. Unless user asks to use it, first try to crawl the page without it. If results are unsatisfactory, try to use it.",
      "type": "boolean"
    },
    "return_sources_limit": {
      "default": 25,
      "description": "The maximum number of sources to return.",
      "maximum": 50,
      "type": "integer"
    },
    "geo_location": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Two letter ISO country code to use for the crawl proxy."
    }
  },
  "required": [
    "url",
    "user_prompt"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢ai_scraper(url, output_format, schema, render_javascript, geo_location)

Scrape the contents of the web page and return the data in the specified format. Schema is required only if output_format is json or csv. 'render_javascript' is used to render javascript heavy websites.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "description": "The URL to scrape",
      "type": "string"
    },
    "output_format": {
      "default": "markdown",
      "description": "The format of the output. If json, csv or toon, the schema is required. Markdown returns full text of the page. CSV returns data in CSV format, tabular like data. Toon(Token-Oriented Object Notation) returns data in Toon format, which is optimized for AI agents.",
      "enum": [
        "json",
        "markdown",
        "csv",
        "toon"
      ],
      "type": "string"
    },
    "schema": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The JSON schema to use for structured data extraction from the scraped page. Only required if output_format is json, csv or toon."
    },
    "render_javascript": {
      "default": false,
      "description": "Whether to render the HTML of the page using javascript. Much slower, therefore use it only for websites that require javascript to render the page.Unless user asks to use it, first try to scrape the page without it. If results are unsatisfactory, try to use it.",
      "type": "boolean"
    },
    "geo_location": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Two letter ISO country code to use for the scrape proxy."
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢ai_browser_agent(url, task_prompt, output_format, schema, geo_location)

Run the browser agent and return the data in the specified format. This tool is useful if you need navigate around the website and do some actions. It allows navigating to any url, clicking on links, filling forms, scrolling, etc. Finally it returns the data in the specified format. Schema is required only if output_format is json, csv or toon. 'task_prompt' describes what browser agent should achieve

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "description": "The URL to start the browser agent navigation from.",
      "type": "string"
    },
    "task_prompt": {
      "description": "What browser agent should do.",
      "type": "string"
    },
    "output_format": {
      "default": "markdown",
      "description": "The output format. Markdown returns full text of the page including links. Toon(Token-Oriented Object Notation) returns data in Toon format, which is optimized for AI agents. If json, csv or toon, the schema is required.",
      "enum": [
        "json",
        "markdown",
        "html",
        "csv",
        "toon"
      ],
      "type": "string"
    },
    "schema": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The schema to use for the scrape. Only required if output_format is json, csv or toon."
    },
    "geo_location": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Two letter ISO country code to use for the browser proxy."
    }
  },
  "required": [
    "url",
    "task_prompt"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢ai_search(query, limit, render_javascript, return_content, geo_location)

Search the web based on a provided query. 'return_content' is used to return markdown content for each search result. If 'return_content' is set to True, you don't need to use ai_scraper to get the content of the search results urls, because it is already included in the search results. if 'return_content' is set to True, prefer lower 'limit' to reduce payload size.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "description": "The query to search for.",
      "type": "string"
    },
    "limit": {
      "default": 10,
      "description": "Maximum number of results to return.",
      "maximum": 50,
      "type": "integer"
    },
    "render_javascript": {
      "default": false,
      "description": "Whether to render the HTML of the page using javascript. Much slower, therefore use it only if user asks to use it.First try to search with setting it to False. ",
      "type": "boolean"
    },
    "return_content": {
      "default": false,
      "description": "Whether to return markdown content of the search results.",
      "type": "boolean"
    },
    "geo_location": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Two letter ISO country code to use for the search proxy."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢generate_schema(user_prompt, app_name)

Generate a json schema in openapi format.

Input Schema

{
  "type": "object",
  "properties": {
    "user_prompt": {
      "type": "string"
    },
    "app_name": {
      "enum": [
        "ai_crawler",
        "ai_scraper",
        "browser_agent"
      ],
      "type": "string"
    }
  },
  "required": [
    "user_prompt",
    "app_name"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢ai_map(url, search_keywords, user_prompt, max_crawl_depth, render_javascript, ...)

Tool useful for mapping website's URLs.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "description": "The URL from which URLs mapping will be started.",
      "type": "string"
    },
    "search_keywords": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The keywords to use for URLs paths filtering. Keywords are matched as OR condition. Meaning, one keyword is enough to match the url path."
    },
    "user_prompt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "What kind of URLs user wants to find. Can be used together with 'search_keywords'."
    },
    "max_crawl_depth": {
      "default": 1,
      "description": "The maximum depth of the crawl.",
      "maximum": 5,
      "type": "integer"
    },
    "render_javascript": {
      "default": false,
      "description": "Whether to render the HTML of the page using javascript. Much slower, therefore use it only for websites that require javascript to render the page. Unless user asks to use it, first try to crawl the page without it. If results are unsatisfactory, try to use it.",
      "type": "boolean"
    },
    "limit": {
      "default": 25,
      "description": "The maximum number of URLs to return.",
      "maximum": 50,
      "type": "integer"
    },
    "geo_location": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Two letter ISO country code to use for the mapping proxy."
    },
    "allow_subdomains": {
      "default": false,
      "description": "Whether to map subdomains URLs as well.",
      "type": "boolean"
    },
    "allow_external_domains": {
      "default": false,
      "description": "Whether to include external domains URLs.",
      "type": "boolean"
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢universal_scraper(url, render, user_agent_type, geo_location, output_format)

Get a content of any webpage. Supports browser rendering, parsing of certain webpages and different output formats.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "description": "Website url to scrape.",
      "type": "string"
    },
    "render": {
      "anyOf": [
        {
          "const": "html",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "\n        Whether a headless browser should be used to render the page.\n        For example:\n            - 'html' when browser is required to render the page.\n        ",
      "examples": [
        "html"
      ]
    },
    "user_agent_type": {
      "anyOf": [
        {
          "enum": [
            "desktop",
            "desktop_chrome",
            "desktop_firefox",
            "desktop_safari",
            "desktop_edge",
            "desktop_opera",
            "mobile",
            "mobile_ios",
            "mobile_android",
            "tablet"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Device type and browser that will be used to determine User-Agent header value."
    },
    "geo_location": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "\n        The geographical location that the result should be adapted for.\n        Use ISO-3166 country codes.\n        Examples:\n            - 'California, United States'\n            - 'Mexico'\n            - 'US' for United States\n            - 'DE' for Germany\n            - 'FR' for France\n        ",
      "examples": [
        "US",
        "DE",
        "FR"
      ]
    },
    "output_format": {
      "anyOf": [
        {
          "enum": [
            "links",
            "md",
            "html"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "\n        The format of the output. Works only when parse parameter is false.\n            - links - Most efficient when the goal is navigation or finding specific URLs. Use this first when you need to locate a specific page within a website.\n            - md - Best for extracting and reading visible content once you've found the right page. Use this to get structured content that's easy to read and process.\n            - html - Should be used sparingly only when you need the raw HTML structure, JavaScript code, or styling information.\n        "
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢google_search_scraper(query, parse, render, user_agent_type, start_page, ...)

Scrape Google Search results. Supports content parsing, different user agent types, pagination, domain, geolocation, locale parameters and different output formats.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "description": "URL-encoded keyword to search for.",
      "type": "string"
    },
    "parse": {
      "default": true,
      "description": "Should result be parsed. If the result is not parsed, the output_format parameter is applied.",
      "type": "boolean"
    },
    "render": {
      "anyOf": [
        {
          "const": "html",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "\n        Whether a headless browser should be used to render the page.\n        For example:\n            - 'html' when browser is required to render the page.\n        ",
      "examples": [
        "html"
      ]
    },
    "user_agent_type": {
      "anyOf": [
        {
          "enum": [
            "desktop",
            "desktop_chrome",
            "desktop_firefox",
            "desktop_safari",
            "desktop_edge",
            "desktop_opera",
            "mobile",
            "mobile_ios",
            "mobile_android",
            "tablet"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Device type and browser that will be used to determine User-Agent header value."
    },
    "start_page": {
      "default": 0,
      "description": "Starting page number.",
      "type": "integer"
    },
    "pages": {
      "default": 0,
      "description": "Number of pages to retrieve.",
      "type": "integer"
    },
    "limit": {
      "default": 0,
      "description": "Number of results to retrieve in each page.",
      "type": "integer"
    },
    "domain": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "\n        Domain localization for Google.\n        Use country top level domains.\n        For example:\n            - 'co.uk' for United Kingdom\n            - 'us' for United States\n            - 'fr' for France\n        ",
      "examples": [
        "uk",
        "us",
        "fr"
      ]
    },
    "geo_location": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "\n        The geographical location that the result should be adapted for.\n        Use ISO-3166 country codes.\n        Examples:\n            - 'California, United States'\n            - 'Mexico'\n            - 'US' for United States\n            - 'DE' for Germany\n            - 'FR' for France\n        ",
      "examples": [
        "US",
        "DE",
        "FR"
      ]
    },
    "locale": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "\n        Set 'Accept-Language' header value which changes your Google search page web interface language.\n        Examples:\n            - 'en-US' for English, United States\n            - 'de-AT' for German, Austria\n            - 'fr-FR' for French, France\n        ",
      "examples": [
        "en-US",
        "de-AT",
        "fr-FR"
      ]
    },
    "ad_mode": {
      "default": false,
      "description": "If true will use the Google Ads source optimized for the paid ads.",
      "type": "boolean"
    },
    "output_format": {
      "anyOf": [
        {
          "enum": [
            "links",
            "md",
            "html"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "\n        The format of the output. Works only when parse parameter is false.\n            - links - Most efficient when the goal is navigation or finding specific URLs. Use this first when you need to locate a specific page within a website.\n            - md - Best for extracting and reading visible content once you've found the right page. Use this to get structured content that's easy to read and process.\n            - html - Should be used sparingly only when you need the raw HTML structure, JavaScript code, or styling information.\n        "
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢amazon_search_scraper(query, category_id, merchant_id, currency, parse, ...)

Scrape Amazon search results. Supports content parsing, different user agent types, pagination, domain, geolocation, locale parameters and different output formats. Supports Amazon specific parameters such as category id, merchant id, currency.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Keyword to search for.",
      "type": "string"
    },
    "category_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Search for items in a particular browse node (product category)."
    },
    "merchant_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Search for items sold by a particular seller."
    },
    "currency": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Currency that will be used to display the prices.",
      "examples": [
        "USD",
        "EUR",
        "AUD"
      ]
    },
    "parse": {
      "default": true,
      "description": "Should result be parsed. If the result is not parsed, the output_format parameter is applied.",
      "type": "boolean"
    },
    "render": {
      "anyOf": [
        {
          "const": "html",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "\n        Whether a headless browser should be used to render the page.\n        For example:\n            - 'html' when browser is required to render the page.\n        ",
      "examples": [
        "html"
      ]
    },
    "user_agent_type": {
      "anyOf": [
        {
          "enum": [
            "desktop",
            "desktop_chrome",
            "desktop_firefox",
            "desktop_safari",
            "desktop_edge",
            "desktop_opera",
            "mobile",
            "mobile_ios",
            "mobile_android",
            "tablet"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Device type and browser that will be used to determine User-Agent header value."
    },
    "start_page": {
      "default": 0,
      "description": "Starting page number.",
      "type": "integer"
    },
    "pages": {
      "default": 0,
      "description": "Number of pages to retrieve.",
      "type": "integer"
    },
    "domain": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "\n        Domain localization for Google.\n        Use country top level domains.\n        For example:\n            - 'co.uk' for United Kingdom\n            - 'us' for United States\n            - 'fr' for France\n        ",
      "examples": [
        "uk",
        "us",
        "fr"
      ]
    },
    "geo_location": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "\n        The geographical location that the result should be adapted for.\n        Use ISO-3166 country codes.\n        Examples:\n            - 'California, United States'\n            - 'Mexico'\n            - 'US' for United States\n            - 'DE' for Germany\n            - 'FR' for France\n        ",
      "examples": [
        "US",
        "DE",
        "FR"
      ]
    },
    "locale": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "\n        Set 'Accept-Language' header value which changes your Google search page web interface language.\n        Examples:\n            - 'en-US' for English, United States\n            - 'de-AT' for German, Austria\n            - 'fr-FR' for French, France\n        ",
      "examples": [
        "en-US",
        "de-AT",
        "fr-FR"
      ]
    },
    "output_format": {
      "anyOf": [
        {
          "enum": [
            "links",
            "md",
            "html"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "\n        The format of the output. Works only when parse parameter is false.\n            - links - Most efficient when the goal is navigation or finding specific URLs. Use this first when you need to locate a specific page within a website.\n            - md - Best for extracting and reading visible content once you've found the right page. Use this to get structured content that's easy to read and process.\n            - html - Should be used sparingly only when you need the raw HTML structure, JavaScript code, or styling information.\n        "
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢amazon_product_scraper(query, autoselect_variant, currency, parse, render, ...)

Scrape Amazon products. Supports content parsing, different user agent types, domain, geolocation, locale parameters and different output formats. Supports Amazon specific parameters such as currency and getting more accurate pricing data with auto select variant.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Keyword to search for.",
      "type": "string"
    },
    "autoselect_variant": {
      "default": false,
      "description": "To get accurate pricing/buybox data, set this parameter to true.",
      "type": "boolean"
    },
    "currency": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Currency that will be used to display the prices.",
      "examples": [
        "USD",
        "EUR",
        "AUD"
      ]
    },
    "parse": {
      "default": true,
      "description": "Should result be parsed. If the result is not parsed, the output_format parameter is applied.",
      "type": "boolean"
    },
    "render": {
      "anyOf": [
        {
          "const": "html",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "\n        Whether a headless browser should be used to render the page.\n        For example:\n            - 'html' when browser is required to render the page.\n        ",
      "examples": [
        "html"
      ]
    },
    "user_agent_type": {
      "anyOf": [
        {
          "enum": [
            "desktop",
            "desktop_chrome",
            "desktop_firefox",
            "desktop_safari",
            "desktop_edge",
            "desktop_opera",
            "mobile",
            "mobile_ios",
            "mobile_android",
            "tablet"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Device type and browser that will be used to determine User-Agent header value."
    },
    "domain": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "\n        Domain localization for Google.\n        Use country top level domains.\n        For example:\n            - 'co.uk' for United Kingdom\n            - 'us' for United States\n            - 'fr' for France\n        ",
      "examples": [
        "uk",
        "us",
        "fr"
      ]
    },
    "geo_location": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "\n        The geographical location that the result should be adapted for.\n        Use ISO-3166 country codes.\n        Examples:\n            - 'California, United States'\n            - 'Mexico'\n            - 'US' for United States\n            - 'DE' for Germany\n            - 'FR' for France\n        ",
      "examples": [
        "US",
        "DE",
        "FR"
      ]
    },
    "locale": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "\n        Set 'Accept-Language' header value which changes your Google search page web interface language.\n        Examples:\n            - 'en-US' for English, United States\n            - 'de-AT' for German, Austria\n            - 'fr-FR' for French, France\n        ",
      "examples": [
        "en-US",
        "de-AT",
        "fr-FR"
      ]
    },
    "output_format": {
      "anyOf": [
        {
          "enum": [
            "links",
            "md",
            "html"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "\n        The format of the output. Works only when parse parameter is false.\n            - links - Most efficient when the goal is navigation or finding specific URLs. Use this first when you need to locate a specific page within a website.\n            - md - Best for extracting and reading visible content once you've found the right page. Use this to get structured content that's easy to read and process.\n            - html - Should be used sparingly only when you need the raw HTML structure, JavaScript code, or styling information.\n        "
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}

Recommended Prompts

search_research
Search for information about [topic] using oxylabs-mcp
Expected tools: ai_search
find_specific
Find [specific item] using oxylabs-mcp
Expected tools: ai_search

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded10 tools
verifiedversion not recorded10 tools