Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GROBID_URLNoURL of GROBID service for optional PDF paper metadata enrichment, e.g. http://127.0.0.1:8070
PDF_DOCLING_DEVICENoOverride Docling accelerator device, e.g. auto, cpu, or mps on Apple Silicon
GROBID_TIMEOUT_SECONDSNoTimeout for GROBID requests, default 20, recommended 120 for large papers
PDF_DOCLING_BATCH_SIZENoOverride Docling OCR/layout/table batch sizes, auto-derived by default
PDF_FORMULA_BATCH_SIZENoBatch size for formula processing, default auto (dynamically scaled)
PDF_DOCLING_NUM_THREADSNoOverride Docling CPU threads, auto-derived from CPU cores by default
MCP_EBOOK_INGEST_WORKERSNoNumber of parallel eager ingest workers for multiple new documents, default auto
PDF_PARSE_TIMEOUT_SECONDSNoTimeout for isolated Docling/Pix2Text PDF parse and visual extraction workers, default 1800
DOCLING_FORMULA_ENRICHMENTNoSet to true to enable Docling CodeFormulaV2 VLM enrichment (default false)
PDF_FORMULA_REQUIRE_ENGINENoSet to true to fail fast when Pix2Text is unavailable for formulas (default false)
MCP_EBOOK_CAPTURE_INCLUDE_QUERYNoSet to 1 to include raw query text in captures (default false)
MCP_EBOOK_CAPTURE_READING_SESSIONNoSet to 1 to capture read/search tool outputs for retrieval drift evaluation (default false)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
library_scanA

Scan a local root recursively for EPUB/PDF documents and register them in one root sidecar catalog at /.mcp-ebook-read. If root is omitted, the MCP process project root is used. Use this before doc_id-only tools after a fresh server restart. Returns scan_performance so agents can see candidate counts, hash workers, and scan timing.

library_exploreA

Explore the already-ingested root sidecar with local SQLite FTS and DocumentGraph ranking. Use this when the user asks which book/paper contains relevant content. If root is omitted, the MCP process project root is used. It does not auto-ingest heavy PDFs.

library_ingest_documentsA

Scan the selected root, then queue background ingest for every EPUB/PDF document that is not READY or has stale pipeline metadata. Use this for whole-library initialization or refresh instead of calling document_ingest many times in parallel. max_documents=0 means no cap. Returns queued, deduplicated, skipped-ready, and scan counts plus the first queued jobs.

library_ingest_statusB

Return a compact whole-library ingest dashboard: document counts, latest job counts by status/stage, running jobs with owner/heartbeat/lease, queued samples, recent failures, and recovered expired leases. Use this to monitor library_ingest_documents progress.

storage_list_sidecarsA

List the .mcp-ebook-read sidecar for a root. Use this to rediscover known documents after restart and inspect local persistence. If root is omitted, the MCP process project root is used.

storage_delete_documentA

Delete one document from local sidecar persistence. Use only when the user asks to remove persisted MCP state for a specific document.

storage_cleanup_sidecarsA

Clean the root sidecar catalog by pruning missing documents, orphan artifacts, and optionally compacting SQLite. If root is omitted, the MCP process project root is used.

document_ingestA

Queue high-fidelity background ingest for one EPUB/PDF document. Pass doc_id for an already scanned document, or path for a new local file. Pass root to choose the unified sidecar at /.mcp-ebook-read; omitted root uses the MCP process project root. profile='auto' infers EPUB/PDF and PDF book/paper mode from document metadata; pass profile='paper' when a PDF paper is outside a papers/ path, or profile='book' for PDF books. library_scan marks PDFs under papers/ as paper and all other documents as book. PDF ingest persists pypdfium2 fast preflight, PyMuPDF diagnostics, Docling structure, formulas, images, tables, and figures.

document_ingest_statusA

Read current status for a background ingest job. Use after any document_ingest call until status is succeeded or failed.

document_ingest_list_jobsB

List recent ingest jobs for one document. Use when the latest job_id was lost or the user asks for ingest history.

document_exploreA

Explore one ingested EPUB/PDF book or PDF paper by doc_id. Ask a natural-language reading question and receive SQLite FTS hits expanded with DocumentGraph nodes, nearby evidence, diagnostics, truncation notices, ambiguity candidates, and suggested precise next calls. The tool infers EPUB/PDF/book/paper mode from doc_id.

document_nodeB

Read one precise DocumentGraph node by graph node id or short stable id. Works across EPUB books, PDF books, and PDF papers for outline nodes, chunks, pages, formulas, images, tables, figures, citations, references, and artifacts.

search_in_outline_nodeA

Search within one outline node or chapter. Use this for focused reading questions after get_outline identifies the relevant section.

read_outline_nodeB

Read one outline node or chapter directly. Prefer this for chapter summaries and guided reading after get_outline.

epub_list_imagesA

List extracted images from an EPUB book, optionally scoped to an outline node. Use before epub_read_image in multimodal reading workflows.

epub_read_imageA

Return one EPUB image local path plus nearby text context. Use when a multimodal LLM needs to inspect a figure, diagram, or illustration.

pdf_list_imagesA

List extracted PDF images, optionally scoped to an outline node. Use for general PDF visual evidence; use pdf_list_figures or pdf_list_tables for Docling-detected figure/table objects.

pdf_read_imageA

Return one extracted PDF image local path plus nearby text context. Use when a multimodal LLM needs to inspect PDF visual evidence.

pdf_list_tablesA

List Docling-extracted PDF tables with diagnostics, optionally scoped to an outline node. Use for table-centric reading before pdf_read_table.

pdf_read_tableB

Read one extracted PDF table with structured rows, markdown/html, evidence image, nearby context, and diagnostics.

pdf_list_figuresA

List Docling-detected PDF figures with diagnostics, optionally scoped to an outline node. Use for figure-centric reading before pdf_read_figure.

pdf_read_figureB

Read one extracted PDF figure with local path, caption, nearby context, and diagnostics.

pdf_list_formulasA

List formulas from an ingested PDF, optionally scoped to an outline node. The tool infers book/paper mode from doc_id metadata; do not choose a separate book or paper formula tool.

pdf_read_formulaA

Read one formula from an ingested PDF with LaTeX, status, context, and evidence image. The tool infers book/paper mode from doc_id metadata.

get_outlineB

Return the document outline for EPUB/PDF. Use this first for outline-first navigation, chapter selection, and node-scoped reading.

render_pdf_pageA

Render one PDF page to a PNG evidence image. Use when page-level visual evidence is needed beyond extracted figures, tables, images, or formulas.

eval_export_reading_sessionsA

Export opt-in reading-session capture events from the selected root sidecar. If root is omitted, the MCP process project root is used. Use to inspect real MCP reading calls and retrieval evidence without exposing file paths.

eval_replay_reading_sessionsA

Replay captured search reading-session events under a root to detect retrieval drift. If root is omitted, the MCP process project root is used. Only events captured with query text enabled are replayable.

doctor_health_checkC

Run deterministic diagnostics for local SQLite sidecar indexes, optional GROBID enrichment, parser dependencies, sidecar catalogs, stale pipeline metadata, and artifact consistency.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/ArtiPyHeart/mcp-ebook-read'

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