Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ALL2MD_MCP_ENABLE_FROM_MDNoSet to true to enable save_document_from_markdown, which writes DOCX, PDF, HTML and other formats from Markdown. Off by default.
ALL2MD_MCP_INCLUDE_IMAGESNoSet to true to embed document images in read_document_as_markdown output. Off by default.
ALL2MD_MCP_ENABLE_DOC_EDITNoSet to true to enable edit_document, which edits DOCX, PPTX, HTML and Markdown files in place. Off by default.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
read_document_as_markdownA

Read a document and convert it to Markdown format (simplified API).

Supports PDF, Word (DOCX), PowerPoint (PPTX), HTML, email (EML), EPUB, Jupyter Notebooks (IPYNB), Excel (XLSX/CSV), ODF formats, and 200+ text formats.

The source parameter is auto-detected as:

  • File path (if file exists in read allowlist)

  • Data URI (data:image/...)

  • Base64-encoded content (auto-detected)

  • Plain text content (HTML, Markdown, etc.)

Optionally extract a specific section by providing the section parameter with a heading name (case-insensitive match).

Image inclusion and markdown flavor are configured at server startup and cannot be changed per-call.

Returns the Markdown as a text content block, followed by an image content block for each image found (when include_images=true), so vision models can see the images alongside the text. When include_images=false, only the text, with image alt text in place of the images.

search_documentsA

Search a corpus of documents and return ranked snippets.

Instead of returning whole files, this tool returns the most relevant passages (with hit spans wrapped in << >> markers), so an agent can locate information across many documents cheaply.

Modes:

  • keyword: BM25 relevance ranking (requires the optional rank-bm25 dependency). Best for "find the most relevant passages" queries.

  • grep: literal/regex line matching. Best for "find every occurrence of X". Stateless, no extra dependencies.

Supports all formats the read tool supports (PDF, DOCX, HTML, etc.); files are converted to text before searching.

Returns a dictionary with:

  • results: list of {snippet, score, document_path, section_heading, chunk_id}

  • mode: the search mode used

  • total: number of results returned

diff_documentsA

Compare two documents and return their differences.

Each input is auto-detected (file path, data URI, base64, or inline content), so documents in any supported format can be compared — even across formats (e.g. a DOCX against its PDF export).

Returns a dictionary with:

  • diff: the rendered diff (unified text or JSON string)

  • has_changes: whether any differences were found

get_document_outlineA

Return the heading structure (table of contents) of a document.

Use this to navigate a large document before extracting specific sections: the returned indices line up with edit_document's '#N' target notation.

Returns a dictionary with:

  • sections: list of {index, level, heading}

  • total: number of headings returned

list_workspace_filesA

List files the server is allowed to read.

Use this to discover what is available before reading or editing. Results are confined to the read allowlist (the workspace folder plus any additional read-only folders). Paths returned here can be passed directly to the other tools.

Returns a dictionary with:

  • files: list of {path, size_bytes} (absolute paths, sorted)

  • total: number of files returned

  • truncated: true if more files exist than were returned (capped)

  • read_dirs: the read folders that were searched

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: full/section conversion, corpus search, document diffing, heading outline extraction, and workspace listing. Overlap between read_document_as_markdown and get_document_outline is limited to section navigation, but their outputs and use cases are clearly differentiated.

Naming Consistency5/5

All tool names use snake_case and begin with a verb-like action, e.g. read_document_as_markdown, search_documents, diff_documents, get_document_outline, and list_workspace_files. The phrasing is predictable and easy to scan.

Tool Count5/5

Five tools is well-scoped for a document reading/search/diff/outline surface. Each tool covers a meaningful operation without excessive fragmentation.

Completeness3/5

The set covers reading, searching, diffing, outlining, and file discovery, but get_document_outline explicitly references an edit_document tool that is not present. This creates a notable dead end for editing/navigation workflows, and there is no write/save or edit operation on the surface.

Maintenance

ActivityActive
ResponsivenessLimited data