doc-scraper
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| cancel_crawlA | Cancel a running or pending crawl job by job ID. The previously stored corpus and crawl history are left untouched. Has no effect on jobs already in a terminal state. |
| crawl_siteA | Start a background crawl for a configured site. Returns immediately with a job ID. The crawl builds in a staging area and replaces the stored corpus only when it completes, so a cancelled or failed crawl leaves the previous corpus intact. |
| describe_serverA | Returns server identity, configured sites, and recent crawl jobs in one call. Call this first to orient yourself: it consolidates what would otherwise require list_sites plus several get_job_status calls. The MCP tool list is already advertised by the protocol so it is not duplicated here. |
| diff_crawlA | Return added/removed/changed pages between the latest crawl and the most recent crawl whose crawl_ended_at <= since. Hash-based verdicts from the SQLite history index. Pair with get_freshness: pass the last_crawl_ended_at value as since after running crawl_site with incremental set to true to see exactly what changed. |
| get_freshnessA | Return the most recent crawl summary for a site (last_crawl_started_at/ended_at, total_pages, mode, age_seconds) plus output/state dir presence and any running job. Use this to decide whether to query the existing crawl or run crawl_site first. |
| get_job_statusB | Get the status of a crawl job |
| get_pageA | Fetch a URL live over the network and return its content as markdown. This is an on-demand fetch independent of any crawl: it does not read the stored crawl output, and it ignores the site's configured content_selector and scope. |
| list_pagesA | List crawled pages for a site, paginated and sorted by URL. Returns metadata only (URL, title, depth, crawled_at, content_length). Pass any URL returned here to read_page to get its stored markdown; get_page re-fetches a URL live rather than returning the crawled copy. |
| list_sitesA | List all configured sites available for crawling |
| read_pageA | Return a page's markdown from the stored crawl output, without any network access. This is the counterpart to get_page: read_page serves the crawled copy that already had the site's content_selector applied, while get_page re-fetches the URL live. Use list_pages to discover URLs, then read_page to read them. Large pages are truncated at max_bytes; follow next_offset to read the rest. |
| search_docsA | Full-text search across all crawled documentation, ranked by relevance (BM25 with stemming), with zero network access. Results carry the page URL, its section heading path, and a snippet with match terms marked [like this]; follow up with read_page for the full page. Supports FTS5 syntax: quoted phrases, OR, and trailing * for prefix matching. Searches the stored index only; run crawl_site first for uncrawled sites. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Tools target distinct operations: crawl lifecycle (crawl_site, cancel_crawl, get_job_status, get_freshness, diff_crawl), page retrieval (list_pages, read_page, get_page, search_docs), and orientation (list_sites, describe_server). The get_page/read_page and get_job_status/get_freshness/describe_server boundaries are explicitly clarified, though the latter trio still requires careful reading to avoid misselection.
All tool names use consistent snake_case with a predictable verb_noun pattern (crawl_site, cancel_crawl, get_page, list_pages, search_docs, etc.). No mixed conventions or vague verbs.
Eleven tools is well-scoped for a documentation scraper, covering discovery, crawl management, diffing, and retrieval without redundant or trivial tools.
The surface covers the full crawl lifecycle (start, cancel, status, freshness, diff) and robust read paths (list, read stored, live fetch, full-text search). Minor gaps exist around site configuration management and deleting/clearing stored corpora, but core workflows are fully supported.