PDF MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PDF MCP Serverextract text from ~/Documents/report.pdf"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Servers
A monorepo of Model Context Protocol servers. Each server under packages/ is an independently buildable, testable, and publishable MCP server that runs over stdio.
Packages
Package | Description |
Reads PDF files from local disk; returns text and positional structure to an LLM host over stdio. | |
Internal runner ( |
Related MCP server: file-analyzer-mcp
Quickstart
pnpm install
pnpm build
pnpm test
pnpm lintRequires Node >=22 and pnpm (managed via corepack — the packageManager field in the root package.json pins the exact version).
Usage
Servers are run through the runner binary, mcp-serve, which the root delegates to with pnpm serve <name>.
Run a server (builds first, then runs over stdio):
pnpm serve pdfDevelop a server (watches src/, rebuilds, and respawns on a clean rebuild; keeps the last-good server running on a compile error):
pnpm serve pdf --devSkip the build precondition when you know the build is current (run-only; ignored by --dev):
pnpm serve pdf --no-buildPoint an MCP host at a server by invoking the mcp-serve bin directly with the server name as the argument:
{
"mcpServers": {
"pdf": {
"command": "/absolute/path/to/node_modules/.bin/mcp-serve",
"args": ["pdf"]
}
}
}A typo'd name prints the list of known servers to stderr and exits non-zero.
Repository layout
.
├── packages/
│ ├── pdf/ # @jeius-mcp-servers/pdf
│ └── runner/ # @jeius-mcp-servers/runner (the mcp-serve runner)
├── docs/
│ ├── adr/ # repo-wide Architecture Decision Records
│ └── agents/ # repo-wide agent conventions (issue tracker, domain docs)
├── AGENTS.md # operational guide for AI coding agents (monorepo entry)
├── turbo.json # Turborepo task pipelines
├── tsconfig.base.json # shared TypeScript strict base
├── biome.json # shared lint/format config
└── pnpm-workspace.yaml # workspace definition (packages/*)Each package has its own AGENTS.md, CONTEXT.md, docs/ (PRD, architecture, tech-stack, plan, adr/), src/, and tests/.
Documentation
Agent guide:
AGENTS.mdDecisions:
docs/adr/— repo-wide ADRs; package-specific ADRs live inpackages/<name>/docs/adr/Domain glossaries: each
packages/<name>/CONTEXT.md
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Extract text and metadata from PDFs; convert Markdown or text to PDF
Extract text, pages and metadata from PDFs in bulk, with OCR for scanned files.
High-fidelity PDF to structured Markdown conversion and document field extraction.
PDF URLs to per-page text, tables as rows, Markdown, metadata and OCR for scanned pages.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceConverts PDF files to text for use with MCP-compatible applications like Cursor IDE.MIT
- FlicenseNot gradedqualityCmaintenanceLocal MCP server that extracts text and structure from PDF, DOCX, PPTX, SVG, and PNG files, along with directory and metadata listing, for read-only document analysis by LLM hosts.-
- AlicenseNot gradedqualityCmaintenanceIt enables AI agents and MCP clients to read, fill, create, export, and reconstruct fillable PDF forms, plus extract, search, and edit text and layout blocks, entirely against local files over stdio.Apache 2.0
- AlicenseAqualityCmaintenanceEnables clients to inspect local PDFs by searching text, rendering pages, and cropping selected regions at high resolution directly from the source document. It runs locally over stdio without requiring models, embeddings, GPUs, or API keys, and does not modify source PDFs or send network requests.6MIT