Hydrafetch

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

사용해야 할까요

품질 및 안전성

A
설명 품질
95%
스키마 완전성
100%
이름 품질
83%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (2)

  • LOWTool 'map' description lacks action verbmap에서
  • LOWTool 'extract' description lacks action verbextract에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,087토큰 (도구 정의)
~1.2 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.63%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "web": {
      "url": "https://api.hydrafetch.com/mcp"
    }
  }
}

원격 엔드포인트

https://api.hydrafetch.com/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (13)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢scrape(url, formats, preferStructure)

Turn a URL into clean, LLM-ready markdown and structured data.

입력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The URL to scrape."
    },
    "formats": {
      "description": "Which outputs to return. Defaults to markdown.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "markdown",
          "html",
          "rawHtml",
          "links",
          "structured"
        ]
      }
    },
    "preferStructure": {
      "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'.",
      "type": "boolean"
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢map(url, limit)

Enumerate a site's URLs from its sitemap and links, without scraping them.

입력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The seed URL to map."
    },
    "limit": {
      "description": "Max URLs to return.",
      "type": "integer",
      "minimum": 1,
      "maximum": 5000
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢crawl(url, limit, maxDepth)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The site to start from."
    },
    "limit": {
      "description": "Maximum pages to scrape.",
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    },
    "maxDepth": {
      "description": "How far from the seed to follow.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢crawl_status(crawlId)

Read a crawl started with crawl: how far it has got, and the pages it has scraped.

입력 스키마

{
  "type": "object",
  "properties": {
    "crawlId": {
      "type": "string",
      "description": "The id returned by crawl."
    }
  },
  "required": [
    "crawlId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢batch(urls)

Scrape a list of URLs you already have as one job. Returns a batch id straight away; read it with batch_status.

입력 스키마

{
  "type": "object",
  "properties": {
    "urls": {
      "minItems": 1,
      "maxItems": 25000,
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The URLs to scrape."
    }
  },
  "required": [
    "urls"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢batch_status(batchId)

Read a batch started with batch: how far it has got, and the results so far.

입력 스키마

{
  "type": "object",
  "properties": {
    "batchId": {
      "type": "string",
      "description": "The id returned by batch."
    }
  },
  "required": [
    "batchId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢search(query, limit, scrapeResults, preferStructure)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "The search query."
    },
    "limit": {
      "description": "Max results (default 5).",
      "type": "integer",
      "minimum": 1,
      "maximum": 15
    },
    "scrapeResults": {
      "description": "Also scrape each result to markdown, 1 extra credit per page (default false).",
      "type": "boolean"
    },
    "preferStructure": {
      "description": "Keep headings, lists and tables in each scraped result.",
      "type": "boolean"
    }
  },
  "required": [
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢brand(domain)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "description": "The company domain, e.g. stripe.com. A full URL works too."
    }
  },
  "required": [
    "domain"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢logo(domain, theme, type)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "description": "The company domain, e.g. stripe.com. A full URL works too."
    },
    "theme": {
      "description": "The background the logo will sit on. Defaults to light.",
      "type": "string",
      "enum": [
        "light",
        "dark",
        "auto"
      ]
    },
    "type": {
      "description": "The square mark, or the full logotype. Defaults to icon.",
      "type": "string",
      "enum": [
        "icon",
        "wordmark"
      ]
    }
  },
  "required": [
    "domain"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢extract(urls, prompt, schema, preferStructure, showConfidence, ...)

Pull typed structured data from one or more URLs by JSON schema or prompt.

입력 스키마

{
  "type": "object",
  "properties": {
    "urls": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The URLs to extract from."
    },
    "prompt": {
      "description": "Natural-language description of what to pull.",
      "type": "string"
    },
    "schema": {
      "description": "A JSON schema the result must conform to.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "preferStructure": {
      "description": "Keep headings, lists and tables in the text handed to the model.",
      "type": "boolean"
    },
    "showConfidence": {
      "description": "For each field, return a confidence score and the exact source passage the value was drawn from.",
      "type": "boolean"
    },
    "showSources": {
      "description": "Return the list of URLs that were actually extracted.",
      "type": "boolean"
    }
  },
  "required": [
    "urls"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢styleguide(domain)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "description": "The domain to read, e.g. stripe.com. A full URL works too."
    }
  },
  "required": [
    "domain"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢screenshot(url, fullPage, viewport, viewportWidth, viewportHeight, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The URL to capture."
    },
    "fullPage": {
      "description": "Capture the whole scrollable page rather than the viewport.",
      "type": "boolean"
    },
    "viewport": {
      "description": "Screen size to render at. Defaults to desktop (1920x1080). Ignored when width or height are given.",
      "type": "string",
      "enum": [
        "desktop",
        "laptop",
        "tablet",
        "mobile"
      ]
    },
    "viewportWidth": {
      "description": "Exact viewport width in pixels. Overrides viewport.",
      "type": "integer",
      "minimum": 320,
      "maximum": 3840
    },
    "viewportHeight": {
      "description": "Exact viewport height in pixels. Overrides viewport. With fullPage the capture still extends to the full page height.",
      "type": "integer",
      "minimum": 240,
      "maximum": 2160
    },
    "waitFor": {
      "description": "Extra milliseconds to let the page settle before capture.",
      "type": "integer",
      "minimum": 0,
      "maximum": 30000
    },
    "timeout": {
      "description": "Overall time budget for the capture, in milliseconds.",
      "type": "integer",
      "minimum": 1000,
      "maximum": 120000
    },
    "maxAge": {
      "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.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢images(url)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The page to harvest images from."
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 13개
검증됨버전이 기록되지 않음도구 13개