A side-by-side look at the PDF Reader MCP and Crw MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose PDF Reader MCP for search & data extraction work; choose Crw for search & data extraction as a local process. You can also run both side by side in one mcpServers block.
inspect, outline, read.CRW_API_KEY.crw_scrape, crw_crawl, crw_check_crawl_status.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Search & Data Extraction | Search & Data Extraction |
| Quality signal | 65/100 · Great | 72/100 · Great |
| Install command | Not confirmed yet | Confirmed |
| Transport | — | Local subprocess (stdio) |
| Auth | No auth required | OAuth 2.0 |
| Pricing | Free | Freemium |
| Required env vars | None listed | CRW_API_KEY |
| Verified owner | Community listing | Community listing |
| GitHub stars | 1,042 | 1,146 |
| Directory activity | 2 views 0 installs 0 upvotes | 4 views 0 installs 0 upvotes |
| Tools | 4 | 8 |
| Full listing | View PDF Reader MCP | View Crw |
inspectDocument and media evidence when Markdown is not enough. video_timeline (bounded scene/cue timeline) and render_frame (actual decoded frames), and cite_check (quote/location support, not semantic truth), are anymd Pro; PDF operations: inspect (page facts, metadata), render_page (PNG images), extract_regions (crop bounding boxes), ocr_pages / analyze_regions (configured OCR or vision provider), structure (JSON with document map, elements, geometry; profile quality|research adds trust and accessibility reports), compare (page-level diff of sources[0] vs sources[1]).outlineReturn a document heading tree with stable node ids, title paths, page/slide/chapter ranges and Markdown byte ranges. PDF bookmarks or detected headings, Word headings, PowerPoint slides, EPUB chapters and headings, HTML and Markdown. format json (default) or tree. Pass a node id to read to fetch that section.readRead any document as clean Markdown: PDF, Word (DOCX), PowerPoint (PPTX), Excel (XLSX/XLS/ODS), CSV, EPUB, HTML or a web URL, Markdown/text, images (metadata + OCR), audio/video (metadata, chapters, subtitles). Pages/slides/sheets carry <!-- page N --> style markers for citation. Long documents stop at max_tokens (default 20000) and end with a cursor to continue; choose pages with pages: "1-5,8". A directory returns its readable files.searchSearch documents for text: one file, many files, whole directories (recursive, .gitignore aware), or URLs, across every format read supports. Returns each hit as file + page/slide/sheet + a snippet with the match in bold. mode auto (default) finds the exact phrase and falls back to BM25-ranked passages when there is none; literal or ranked force one. Narrow directories with glob, e.g. "*.pdf".crw_scrapeScrape one URL to markdown, HTML, or links.crw_crawlStart an async site crawl; returns a job id to poll with crw_check_crawl_status.crw_check_crawl_statusPoll an async crawl job and retrieve its pages.crw_mapDiscover URLs on a site via sitemap and/or a short crawl. Returns a URL list only, no page content.crw_extractExtract structured JSON from URLs via a prompt and/or JSON schema. Async job — poll crw_check_extract_status with the returned id. Needs an LLM.crw_check_extract_statusPoll an extract job; returns status and, when complete, a per-URL results array.crw_cancel_extractRequest cancellation of an extract job. Returns the canonical status; cancelling remains non-terminal until the claimed URL settles.crw_parse_fileParse a local PDF (base64 in contentBase64) to markdown. No OCR: scanned PDFs return empty markdown with a warning.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
No confirmed install command for PDF Reader MCP yet — follow the setup steps linked from its listing page rather than a guessed package name.
{
"mcpServers": {
"us-crw": {
"command": "npx",
"args": [
"-y",
"crw-mcp@latest"
],
"env": {
"CRW_API_KEY": "YOUR_CRW_API_KEY_HERE"
}
}
}
}