Skip to content
Agentmart
Submit a tool

all2md

Read, convert, search, diff and outline PDF, Word, PowerPoint, HTML and 40+ formats as Markdown.

Connector by thomas-villani · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 33
Write a review

Install

Works with Claude Code, Codex, VS Code, Claude Desktop, Cursor, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install connector/thomas-villani-all2md

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Read, convert, search, diff and outline PDF, Word, PowerPoint, HTML and 40+ formats as Markdown.

Use cases: document-processing, knowledge-base

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
5 read · 2 write · 0 delete
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Tools by what they do 7

Read from the source code; the running server may list different tools.

Read 5 · Look things up without changing anything.

  • diff_documents
  • get_document_outline
  • list_workspace_files
  • read_document_as_markdown
  • search_documents

Write 2 · Create, change, send or run things.

  • edit_document
  • save_document_from_markdown

Network hosts it talks to 27

  • academic.oup.com · found in code
  • all2md.dev · found in code
  • api.github.com · found in code
  • arxiv.org · found in code
  • astral.sh · found in code
  • cdn.jsdelivr.net · found in code
  • cs.cmu.edu · found in code
  • digitalcorpora.s3.amazonaws.com · found in code
  • docs.astral.sh · found in code
  • export.arxiv.org · found in code
  • fletcherpenney.net · found in code
  • frontiersin.org · found in code
  • github.com · found in install command, code
  • github.github.com · found in code
  • gribuser.ru · found in code
  • huggingface.co · found in code
  • kramdown.gettalong.org · found in code
  • ncbi.nlm.nih.gov · found in code
  • niso.org · found in code
  • pandoc.org · found in code
  • purl.oclc.org · found in code
  • pygments.org · found in code
  • raw.githubusercontent.com · found in code
  • s3.amazonaws.com · found in code
  • schemas.microsoft.com · found in code
  • schemas.openxmlformats.org · found in code
  • spec.commonmark.org · found in code

Files it touches

  • /dev/tty
  • /home/user/docs
  • /home/user/documents
  • /home/user/output
  • /proc/version
  • %LOCALAPPDATA%
  • Your home directory (~)
  • ~/.cache/all2md/conversions
  • Any path the agent passes to its tools

Tools (7)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • diff_documents

    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

  • edit_document

    Apply a batch of structural edits to a document, in place. Source format is auto-detected (Markdown, DOCX, HTML, RST, EPUB, ...), so this is not Markdown-only. The whole batch is atomic: if any edit fails, none are applied and nothing is written. When the batch contains a mutating action, the modified document is written back to disk in its original format (the file must be within the write allowlist). Heading matching is case-insensitive. Actions: - list-sections: list all sections with metadata (read-only) - extract: get a section by heading or index (read-only) - add:before / add:after: a…

  • get_document_outline

    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_files

    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

  • read_document_as_markdown

    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 s…

  • save_document_from_markdown

    Save Markdown content to another format (simplified API). Supports rendering to HTML, PDF, DOCX, PPTX, RST, EPUB, and Markdown. This tool always writes to disk (no content return). The filename parameter is required and must pass write allowlist validation. Markdown flavor for parsing is configured at server startup. This tool requires --enable-from-md flag (disabled by default for security). Returns a dictionary with: - output_path: File path where content was written - warnings: List of warning messages from the rendering process

  • search_documents

    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 be…

Signals

Stars
33
Forks
6
Open issues
0
Weekly downloads
184
Last commit
Oct 23, 2026 (6 days ago)
Last release
Oct 25, 2026 (4 days ago)
Last package publish
Oct 15, 2026 (14 days ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.thomas-villani/all2md
Version
1.18.0
Auth
No auth
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 26, 2026
Cite this page

all2md MCP server. Agent Mart. https://agentmart.dev/connectors/thomas-villani-all2md (last updated 2026-10-26)