Labsco
MCP SERVER

Docs Fetch MCP Server

by wolfyy970

Point at a documentation URL and get clean Markdown back — the page alone, or a bounded crawl of the pages it links to.

Site Crawling & Scraping Infrastructure
Summary
A documentation crawl that stops where you tell it to.

The bounds are the feature: depth, page count, concurrency, two kinds of timeout and a path prefix all cap what a fetch can pull in, and failures come back per page rather than sinking the whole run. Truncation is flagged explicitly, so a partial answer is visibly partial.

What it is

A Bun-based MCP server that fetches documentation pages, extracts readable Markdown, ranks the links, and can crawl within explicit depth, page, timeout and scope limits.

What you get
  • One tool covering both jobs — fetch a single page, or crawl outward from it
  • Real depth semantics: depth 1 is the root page only, depth 2 adds direct children, depth 3 adds grandchildren, up to a maximum of 5
  • Markdown extraction that keeps headings, lists, code blocks, tables, blockquotes and links
  • A fast static fetch path, with Puppeteer rendering available for client-rendered or thin pages
  • URLs normalised before deduplication — fragments, tracking parameters, default ports and trailing-slash duplicates removed
  • Crawl scope held to the same origin, and optionally to a path prefix
  • Hard bounds on maxPages, maxConcurrency, global timeout, per-page timeout and per-page content length
  • Structured JSON results with crawl metadata, ranked links, truncation flags and per-page errors, so a partial crawl still returns what it got
Requirements

Bun 1.3.0 or newer. Puppeteer's browser installation is needed if render is set to `auto` or `always`. No account and no key.