Read PDF internals: text, structure, fonts, signatures and tags, with what was not read declared.
MCPpedia last refreshed this data
io.github.shuji-bonji/pdf-reader-mcp is an MCP server that read PDF internals: text, structure, fonts, signatures and tags, with what was not read declared. Its tool list has not been published yet over stdio and sse, requires no API key, and scores 91/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"pdf-reader-mcp": {
"args": [
"-y",
"@shuji-bonji/pdf-reader-mcp@latest"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Read PDF internals: text, structure, fonts, signatures and tags, with what was not read declared.
This server supports HTTP transport. Be the first to test it - help the community know if it works.
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked @shuji-bonji/pdf-reader-mcp against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in other
deja-vu: local memory over the session histories of forty-three coding agents.
MCP WordPress Remote proxy server
专门为 agent 打造的 agent 搜索工具,具备多语言搜索能力,覆盖中文/英文/学术/代码/购物/金融/新闻/百科。
Searchable football data provider documentation for AI coding agents. Like Context7 for football data.
MCP Security Weekly
Get CVE alerts and security updates for io.github.shuji-bonji/pdf-reader-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
English | 日本語
An MCP (Model Context Protocol) server specialized in deciphering PDF internal structures.
While typical PDF MCP servers are thin wrappers for text extraction, this project focuses on reading and analyzing the internal structure of PDF documents. Pair it with pdf-spec-mcp for specification-aware structural analysis and validation.
| Server | Role |
|---|---|
| pdf-spec-mcp | PDF specification knowledge (ISO 32000, PDF/A, PDF/UA) |
| pdf-reader-mcp (this) | Read and inspect PDF internal structure — what is in a PDF |
| pdf-verify-mcp | Authenticity verification — whether it is genuine: cryptographic signature verification, tamper detection, PAdES level, PDF/A validation, encrypted-PDF decryption |
pdf-reader-mcp inspects signature structure (inspect_signatures); for cryptographic signature verification, trust/revocation evaluation, and PDF/A conformance validation, use pdf-verify-mcp.
18 tools organized into three tiers:
| Tool | Description |
|---|---|
get_page_count | Lightweight page count retrieval |
get_metadata | Full metadata extraction (title, author, PDF version...) |
read_text | Text extraction with Y-coordinate reading order (opt-in split_columns: 2 | 3 for untagged multi-column PDFs, compact_whitespace for Japanese forms). Resolves /ActualText replacements (§14.9.4, both the structure-element and the Span marked-content path). Reports text extractability per page (§9.10.1) so an empty result is never mistaken for an empty page. For logical order in tagged PDFs, prefer extract_structured_text |
search_text | Full-text search with surrounding context. Searches the same text read_text returns, /ActualText included, so a hit means what a reader sees (a note names any page whose marked content could not be aligned) |
read_images | Embedded image XObjects as PNG or JPEG files, returned as MCP image content blocks so a vision model can read them. max_width / max_height downscale by area average; the response has a byte budget and names anything it leaves out |
read_url | Fetch a remote PDF and extract its text — nothing more. The bytes are not saved; to use the other 17 tools on a URL's PDF, download it first and pass the local path (see "read_url and the read-only boundary") |
render_page | Rasterise pages to PNG/JPEG via PDFium-WASM (optional dependency @hyzyla/pdfium). The next step when text extractability says no_text_layer / not_extractable — draws the whole page, vector art and forms included |
summarize | Quick overview report (metadata + text + image count + per-document text extractability) |
| Tool | Description |
|---|---|
inspect_structure | Object tree and catalog dictionary analysis |
inspect_catalog | Document-level inventory from the catalog (ISO 32000-2 §7.7.2): bookmarks (/Outlines), layers (/OCProperties), attachments (/EmbeddedFiles, with `/ |