Skip to content

Hydrafetch

by hydrafetch.com · remote · no sign-in to list tools · v1.0.0 · published by com.hydrafetch

Turn any URL into clean Markdown and structured data. Scrape, crawl, search and extract.

Changes · 9

14 tools: 9 change things and 5 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http web https://api.hydrafetch.com/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "screenshot" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":true}; The name "screenshot" says "screenshot": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

14 tools

Changes things 9Claude Code: ask
  • batchScrape a list of URLs you already have, such as pages found with map.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Scrape a list of URLs you already have, such as pages found with map. Waits for the batch to finish and returns the first page of results in the same call, so a short list needs one call; read further pages, or a batch still running, with batch_status. Each URL scraped costs 1 credit.

    Annotations the server declares

    • readOnlyHint: false
    • openWorldHint: true
    • destructiveHint: false
  • brandA company's brand from its domain: logos for light and dark backgrounds, its colours, name, description and social profiles.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    A company's brand from its domain: logos for light and dark backgrounds, its colours, name, description and social profiles. Use it to answer what a company is or how it presents itself.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • destructiveHint: false
  • crawlDiscover and scrape the pages of a website as one background job, following its links from a starting URL.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Discover and scrape the pages of a website as one background job, following its links from a starting URL. Returns a crawl id straight away; read progress and results with crawl_status. Each page scraped costs 1 credit, so set limit to what you need.

    Annotations the server declares

    • readOnlyHint: false
    • openWorldHint: true
    • destructiveHint: false
  • extractPull specific fields out of one or more pages as JSON, shaped by a JSON schema or described in a prompt.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Pull specific fields out of one or more pages as JSON, shaped by a JSON schema or described in a prompt. Use it when you need values such as prices, names or dates rather than the whole page text.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • destructiveHint: false
  • feedbackTell Hydrafetch whether an earlier result was accurate.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Tell Hydrafetch whether an earlier result was accurate. Use it after a scrape, search or other call returns missing, wrong or blocked content, so it gets looked at; a good rating is welcome too. Pass the requestId from that call's usage block, or the URL it read.

    Annotations the server declares

    • readOnlyHint: false
    • openWorldHint: false
    • destructiveHint: false
  • imagesHarvest a page's images with their metadata, without rendering it.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • destructiveHint: false
  • screenshotRender a page in a real browser and capture a PNG, returning its public URL.1 finding

    Why it is in this group

    • The name "screenshot" says "screenshot": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "screenshot" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":true}; The name "screenshot" says "screenshot": a word for reading.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • openWorldHint: true
    • destructiveHint: false
  • styleguideA site's design tokens read from computed styles in a real browser: colours by role with contrast ratios, the dark theme colours when the site has one, the type scale, corner radiu…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    A site's design tokens read from computed styles in a real browser: colours by role with contrast ratios, the dark theme colours when the site has one, the type scale, corner radius and button styling, how panels, the header bar and panel titles are drawn, plus ready-made CSS, Tailwind and shadcn/ui stylesheets. Values defined through CSS variables come back resolved to the hex actually painted. To recreate how a site looks rather than only its tokens, take a screenshot of the page too.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • destructiveHint: false
Only reads 5Claude Code: allow
  • batch_statusRead a batch started with batch: its progress, and one page of results in the order the URLs were sent.No findings

    Why it is in this group

    • The name "batch_status" says "status": a word for reading.
    Description, as the server wrote it
    Read a batch started with batch: its progress, and one page of results in the order the URLs were sent. When nextOffset is not null, pass it as offset to read the next page of results.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • destructiveHint: false
  • crawl_statusRead a crawl started with crawl: its progress, and one page of the scraped results.No findings

    Why it is in this group

    • The name "crawl_status" says "status": a word for reading.
    Description, as the server wrote it
    Read a crawl started with crawl: its progress, and one page of the scraped results. When nextOffset is not null, pass it as offset to read the next page of results.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • destructiveHint: false
  • mapList the URLs on a website, found through its sitemap and links, without fetching their content.No findings

    Why it is in this group

    • The description's first verb is "list": a word for reading.
    Description, as the server wrote it
    List the URLs on a website, found through its sitemap and links, without fetching their content. Use it to see which pages exist before choosing which to scrape.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • destructiveHint: false
  • scrapeFetch one web page and return its main content as clean markdown, with optional HTML, links or structured data.No findings

    Why it is in this group

    • The description's first verb is "fetch": a word for reading.
    Description, as the server wrote it
    Fetch one web page and return its main content as clean markdown, with optional HTML, links or structured data. Use it to read a page whose URL you already have. For many pages of one site use crawl; for a list of URLs use batch.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • destructiveHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http web https://api.hydrafetch.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__web__scrape",
      "mcp__web__map",
      "mcp__web__crawl_status",
      "mcp__web__batch_status",
      "mcp__web__search"
    ],
    "ask": [
      "mcp__web__crawl",
      "mcp__web__batch",
      "mcp__web__brand",
      "mcp__web__logo",
      "mcp__web__extract",
      "mcp__web__styleguide",
      "mcp__web__screenshot",
      "mcp__web__images",
      "mcp__web__feedback"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as web. Review it before you use it.