Skip to main content
Glama
hannasdev

mcp-document-reader

by hannasdev

mcp-document-reader

MCP server for AI-assisted PDF reading with pagination, search, and page navigation.

Designed to let AI assistants read large documents without filling the context window from page 1 every time. The model can chunk through a book, jump to any section by keyword, and pick up exactly where it left off.

Tools

Tool

Description

list_documents

List all documents in the configured directory

get_document_info

Get page count and file size without extracting text

read_document

Read a page range (default: 50-page chunks)

search_document

Keyword search — returns page numbers and context snippets

Every read_document response includes a [Pages X–Y of Z total] header and a continuation hint so the model knows exactly where to call next.

Related MCP server: mcp-pdf-tools

Quick start (Claude Desktop / npx)

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "documents": {
      "command": "npx",
      "args": ["-y", "@hanna84/mcp-document-reader", "--stdio", "--dir", "/path/to/your/docs"]
    }
  }
}

No install needed — npx pulls the package on first run.

Self-hosted (Docker / SSE)

# docker-compose.yml
services:
  mcp-document-reader:
    image: node:22-alpine
    working_dir: /app
    command: node index.js
    environment:
      DOC_DIR: /docs
      HTTP_PORT: "3000"
    volumes:
      - ./docs:/docs:ro
    ports:
      - "3000:3000"

Register the SSE endpoint in your MCP gateway:

{ "url": "http://mcp-document-reader:3000/sse" }

A GET /healthz endpoint is available for Docker healthchecks.

CLI reference

node index.js [options]

  --dir <path>    Directory to serve documents from  (default: $DOC_DIR or cwd)
  --port <n>      HTTP port for SSE mode             (default: $HTTP_PORT or 3000)
  --stdio         Use stdio transport instead of SSE

Environment variables

Variable

Default

Description

DOC_DIR

.

Document directory

HTTP_PORT

3000

SSE server port

MCP_TRANSPORT

Set to stdio to use stdio transport

Supported formats

  • PDF (.pdf)

Requirements

Node.js >= 18

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hannasdev/mcp-document-reader'

If you have feedback or need assistance with the MCP directory API, please join our Discord server