This is an unofficial MCP server for DeepWiki. Given a DeepWiki URL, it crawls the relevant pages, converts them to Markdown, and returns either one aggregated document or a list of pages, so an agent can pull a library's documentation into its context from a single prompt.
It registers one tool, deepwiki_fetch, taking the starting URL, a mode of either aggregate for a single Markdown document or pages for structured per-page data, and a maxDepth crawl limit that defaults to 10. Responses carry a status of ok, partial, or error, the converted content, and counters for total pages, total bytes, and elapsed milliseconds; a partial response lists the URLs that failed and why. Progress events report each page as it is fetched.
Requests are restricted to deepwiki.com, and anything else returns a DOMAINNOTALLOWED error. Fetched HTML is stripped of headers, footers, navigation, scripts, and ads, and links are rewritten to work in Markdown. Concurrency, request timeout, retry count, and retry backoff are set through environment variables, defaulting to 5 concurrent requests, a 30-second timeout, 3 retries, and a 250 ms base delay.
The project carries a notice that the server no longer works because DeepWiki has blocked scraping, and points to the official DeepWiki MCP server instead.
Features
- Single tool: deepwiki_fetch takes a URL, an output mode, and a maximum crawl depth
- Output modes: one aggregated Markdown document, or structured per-page data with paths
- Domain restriction: only deepwiki.com URLs are processed; others return DOMAINNOTALLOWED
- HTML sanitisation: headers, footers, navigation, scripts, and ads removed before conversion
- Link rewriting: links adjusted so they resolve in the Markdown output
- Shorthand lookups: a / pair is accepted in place of a full URL
- Tunable crawling: concurrency, timeout, retry count, and retry backoff set by environment variable
- Transports: standard input/output for local clients, or HTTP for a served deployment
- Partial results: failed pages are reported per URL alongside the content that was retrieved
