Overview
doc-scraper mcp-server gives an agent its own copy of the documentation it needs. You crawl a site once; after that the agent searches and reads the stored pages without touching the network, so answers come from the docs you chose, not from a live web search.
What the agent gets
Section titled “What the agent gets”- Offline search and reading.
search_docsruns ranked full-text search (BM25, stemming, snippets, section anchors) over everything crawled, andread_pagereturns a stored page’s Markdown. Neither makes a network request. - Crawls on demand.
crawl_sitestarts a background crawl of a configured site and returns a job ID;get_job_statusandcancel_crawlmanage it. - Freshness.
get_freshnessreports how old a site’s latest crawl is, anddiff_crawllists pages added, removed, or changed since a timestamp. - An explicit live fetch.
get_pageis the one tool that goes to the network: it fetches a single URL and returns it as Markdown.
The full list is on the MCP tools page.
A typical session
Section titled “A typical session”- You list the sites in
config.yaml(doc-scraper add <url>drafts each entry). The crawl’s JSONL output, on by default, feeds the search index and crawl history. - The agent calls
describe_serverto see the configured sites and recent jobs, thencrawl_sitefor any site that has not been crawled. - It polls
get_job_statusuntil the crawl completes. - From then on it answers questions with
search_docs, thenread_pageon the best hits.
Connect a client
Section titled “Connect a client”The server speaks MCP over stdio, so any client that launches a local command can use it.
Use absolute paths for output_base_dir and state_dir in a config that an MCP client launches: relative paths resolve against the server’s working directory, which the client chooses.