MCP-Server

Hydrafetch

com.hydrafetch/web
Entwicklertools Suche & Recherche Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Searches, scrapes, crawls, screenshots, maps, and extracts structured data from websites, with utilities for company branding and site style analysis.

batch
Batch
Scrape a list of URLs you already have as one job. Returns a batch id straight away; read it with batch_status.
Nur Lesen Externer Zugriff
Eingabeschema
{'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.'}}}
batch_status
Batch status
Read a batch started with batch: how far it has got, and the results so far.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['batchId'], 'properties': {'batchId': {'type': 'string', 'description': 'The id returned by batch.'}}}
brand
Brand
A company's brand from its domain: logos for light and dark backgrounds, its real colours, name, description and socials. Answers 'what is this company' far better than a raw page dump.
Nur Lesen Externer Zugriff
Eingabeschema
{'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.'}}}
crawl
Crawl
Discover and scrape a whole site as one job. Returns a crawl id straight away; read it with crawl_status. Use this instead of calling scrape in a loop.
Nur Lesen Externer Zugriff
Eingabeschema
{'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.'}}}
crawl_status
Crawl status
Read a crawl started with crawl: how far it has got, and the pages it has scraped.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['crawlId'], 'properties': {'crawlId': {'type': 'string', 'description': 'The id returned by crawl.'}}}
extract
Extract
Pull typed structured data from one or more URLs by JSON schema or prompt.
Nur Lesen Externer Zugriff
Eingabeschema
{'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.'}}}
images
Images
Harvest a page's images with their metadata, without rendering it. Cheaper than a screenshot and returns the source images rather than a picture of the page.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'The page to harvest images from.'}}}
logo
Logo
A company's logo as a directly embeddable image URL, chosen for the background you name. Use this rather than brand when the mark is all you need — it costs a fifth as much and returns one asset instead of the whole record.
Nur Lesen Externer Zugriff
Eingabeschema
{'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.'}}}
map
Map
Enumerate a site's URLs from its sitemap and links, without scraping them.
Nur Lesen Externer Zugriff
Eingabeschema
{'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.'}}}
scrape
Scrape
Turn a URL into clean, LLM-ready markdown and structured data.
Nur Lesen Externer Zugriff
Eingabeschema
{'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'."}}}
screenshot
Screenshot
Render a page in a real browser and capture a PNG, returning its public URL. Use when the question is what the page looks like rather than what it says.
Nur Lesen Externer Zugriff
Eingabeschema
{'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.'}}}
search
Search
Search the web and return ranked results: title, url and snippet. Set scrapeResults to also fetch each result as markdown, at 1 extra credit per page.
Nur Lesen Externer Zugriff
Eingabeschema
{'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.'}}}
styleguide
Styleguide
A site's design system read from computed styles in a real browser: colours by role with contrast ratios, the type scale, corner radius and button styling. Values defined through CSS variables come back resolved to the hex actually painted.
Nur Lesen Externer Zugriff
Eingabeschema
{'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.'}}}
Geändert
extract
29. September 2026 03:02
Hinzugefügt
images
17. September 2026 12:35
Hinzugefügt
screenshot
17. September 2026 12:35
Hinzugefügt
styleguide
17. September 2026 12:35
Hinzugefügt
extract
17. September 2026 12:35
Hinzugefügt
logo
17. September 2026 12:35
Hinzugefügt
brand
17. September 2026 12:35
Hinzugefügt
search
17. September 2026 12:35
Hinzugefügt
batch_status
17. September 2026 12:35
Hinzugefügt
batch
17. September 2026 12:35
Hinzugefügt
crawl_status
17. September 2026 12:35
Hinzugefügt
crawl
17. September 2026 12:35
Hinzugefügt
map
17. September 2026 12:35
Hinzugefügt
scrape
17. September 2026 12:35