Hydrafetch
What this MCP does
Searches, scrapes, crawls, screenshots, maps, and extracts structured data from websites, with utilities for company branding and site style analysis.
Tools
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['urls'], 'properties': {'urls': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 25000, 'minItems': 1, 'description': 'The URLs to scrape.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['batchId'], 'properties': {'batchId': {'type': 'string', 'description': 'The id returned by batch.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'description': 'The company domain, e.g. stripe.com. A full URL works too.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'The site to start from.'}, 'limit': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'Maximum pages to scrape.'}, 'maxDepth': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'How far from the seed to follow.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['crawlId'], 'properties': {'crawlId': {'type': 'string', 'description': 'The id returned by crawl.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['urls'], 'properties': {'urls': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1, 'description': 'The URLs to extract from.'}, 'prompt': {'type': 'string', 'description': 'Natural-language description of what to pull.'}, 'schema': {'type': 'object', 'description': 'A JSON schema the result must conform to.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'showSources': {'type': 'boolean', 'description': 'Return the list of URLs that were actually extracted.'}, 'showConfidence': {'type': 'boolean', 'description': 'For each field, return a confidence score and the exact source passage the value was drawn from.'}, 'preferStructure': {'type': 'boolean', 'description': 'Keep headings, lists and tables in the text handed to the model.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'The page to harvest images from.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'type': {'enum': ['icon', 'wordmark'], 'type': 'string', 'description': 'The square mark, or the full logotype. Defaults to icon.'}, 'theme': {'enum': ['light', 'dark', 'auto'], 'type': 'string', 'description': 'The background the logo will sit on. Defaults to light.'}, 'domain': {'type': 'string', 'description': 'The company domain, e.g. stripe.com. A full URL works too.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'The seed URL to map.'}, 'limit': {'type': 'integer', 'maximum': 5000, 'minimum': 1, 'description': 'Max URLs to return.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'The URL to scrape.'}, 'formats': {'type': 'array', 'items': {'enum': ['markdown', 'html', 'rawHtml', 'links', 'structured'], 'type': 'string'}, 'description': 'Which outputs to return. Defaults to markdown.'}, 'preferStructure': {'type': 'boolean', 'description': "Keep headings, lists and tables as markdown. Default false optimises for raw content and can return unstructured text on marketing and listing pages. Turn on when the document structure matters, or retry with it if `structure` came back 'plain'."}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'The URL to capture.'}, 'maxAge': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Reuse a stored screenshot younger than this many milliseconds. Defaults to 7 days, so a repeat returns the stored PNG without re-rendering and without applying waitFor. Pass 0 to force a fresh capture.'}, 'timeout': {'type': 'integer', 'maximum': 120000, 'minimum': 1000, 'description': 'Overall time budget for the capture, in milliseconds.'}, 'waitFor': {'type': 'integer', 'maximum': 30000, 'minimum': 0, 'description': 'Extra milliseconds to let the page settle before capture.'}, 'fullPage': {'type': 'boolean', 'description': 'Capture the whole scrollable page rather than the viewport.'}, 'viewport': {'enum': ['desktop', 'laptop', 'tablet', 'mobile'], 'type': 'string', 'description': 'Screen size to render at. Defaults to desktop (1920x1080). Ignored when width or height are given.'}, 'viewportWidth': {'type': 'integer', 'maximum': 3840, 'minimum': 320, 'description': 'Exact viewport width in pixels. Overrides viewport.'}, 'viewportHeight': {'type': 'integer', 'maximum': 2160, 'minimum': 240, 'description': 'Exact viewport height in pixels. Overrides viewport. With fullPage the capture still extends to the full page height.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 15, 'minimum': 1, 'description': 'Max results (default 5).'}, 'query': {'type': 'string', 'description': 'The search query.'}, 'scrapeResults': {'type': 'boolean', 'description': 'Also scrape each result to markdown, 1 extra credit per page (default false).'}, 'preferStructure': {'type': 'boolean', 'description': 'Keep headings, lists and tables in each scraped result.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'description': 'The domain to read, e.g. stripe.com. A full URL works too.'}}}
Recent tool changes
Similar MCP servers
apis-io
Provides catalog search, comparison, scoring, enrichment, lists, and dataset exports for APIs, providers, specifications, workflo…
Tools for Agents
Provides web research and extraction workflows, crawling, browser automation, PDF and book OCR, text processing, embeddings, and …
canton-ccpedia
Searches and explains Canton Network and Daml documentation, governance proposals, forums, code examples, APIs, releases, and eco…
webbersites-x402-data-api
Provides pay-per-call utilities for web scraping, SEO and accessibility audits, document extraction, DNS and email checks, crypto…
api-evangelist
Provides API governance analysis, OpenAPI overlays and version diffs, security-sensitive field classification, code samples, matu…
arch-tools-mcp
Provides general-purpose agent APIs for browser automation, web and PDF extraction, data conversion, email operations, fact check…
Agent Margin Router
Provides pay-per-call tools for blockchain balances, contracts, prices, gas, domains, web extraction, package intelligence, news,…
1cent Web Intelligence for AI Agents
Performs SSRF-safe public web inspection, URL extraction, metadata and content analysis, accessibility checks, feed and sitemap d…