A side-by-side look at the PDF Reader MCP and Sendpaper 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 developer tools work as a local process; choose Sendpaper for developer tools. You can also run both side by side in one mcpServers block.
inspect, outline, read.get_pricing, create_postcard, create_letter.Rows where the two servers differ are marked.
| Spec | S Sendpaper | |
|---|---|---|
| Category | Developer Tools | Developer Tools |
| Quality signal | 69/100 · Great | 52/100 · Good |
| Install command | Confirmed | Not confirmed yet |
| Transport | Local subprocess (stdio) | — |
| Auth | Not declared | No auth required |
| Pricing | Not declared | Paid service |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 1,040 | 0 |
| Directory activity | 2 views 0 installs 0 upvotes | 0 views 0 installs 0 upvotes |
| Tools | 4 | 6 |
| Full listing | View PDF Reader MCP | View Sendpaper |
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".get_pricingList mail products and prices (USD, printing + USPS First-Class postage included, US addresses only).create_postcardCreate a postcard order (4x6, 6x9 or 6x11) and get a payment link. Front layouts: a big headline on a color, one photo, a photo with a caption, or a collage of 2-4 photos; the back carries the message (handwriting, serif or sans) and addresses. Set express for USPS Priority Mail (2-3 days, tracked). Mails only after the user pays.create_letterCreate a printed letter order (8.5x11, mailed in a #10 envelope) and get a payment link. Either write it (content.body, up to ~3 pages, optional photo) or mail the user's own PDF (content.pdf_url, a public https link, up to 6 pages). Set certified to "certified" for USPS Certified Mail with tracking and proof of delivery, or "certified_return_receipt" to add the recipient's signature; use these when the user needs proof (tax notice replies, lease notices, disputes, demand letters). Or set express for USPS Priority Mail (not with certified). Prices: get_pricing. Mails only after the user pays.pay_orderPay for an unpaid order with a Stripe shared payment token (spt_…) the user approved, scoped to at least the order amount in USD. For an order created with recipients, this pays for the whole group at once (scope the token to batch.price). On success the order is paid and goes to print. Use only after the user approved the purchase.get_orderGet the status of a postcard or letter order by id (ord_...).cancel_orderCancel an order that has not been paid yet. Paid orders can be cancelled by emailing support before they are printed.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.
{
"mcpServers": {
"pdf-reader-mcp": {
"command": "npx",
"args": [
"-y",
"@sylphx/anymd"
]
}
}
}
No confirmed install command for Sendpaper yet — follow the setup steps linked from its listing page rather than a guessed package name.