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
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.
About
Use cases: document-processing, knowledge-base
Reviews
Write a reviewNo 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_documentsget_document_outlinelist_workspace_filesread_document_as_markdownsearch_documents
Write 2 · Create, change, send or run things.
edit_documentsave_document_from_markdown
Network hosts it talks to 27
academic.oup.com· found in codeall2md.dev· found in codeapi.github.com· found in codearxiv.org· found in codeastral.sh· found in codecdn.jsdelivr.net· found in codecs.cmu.edu· found in codedigitalcorpora.s3.amazonaws.com· found in codedocs.astral.sh· found in codeexport.arxiv.org· found in codefletcherpenney.net· found in codefrontiersin.org· found in codegithub.com· found in install command, codegithub.github.com· found in codegribuser.ru· found in codehuggingface.co· found in codekramdown.gettalong.org· found in codencbi.nlm.nih.gov· found in codeniso.org· found in codepandoc.org· found in codepurl.oclc.org· found in codepygments.org· found in coderaw.githubusercontent.com· found in codes3.amazonaws.com· found in codeschemas.microsoft.com· found in codeschemas.openxmlformats.org· found in codespec.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_documentsCompare 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_documentApply 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_outlineReturn 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_filesList 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_markdownRead 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_markdownSave 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_documentsSearch 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
- Packages
- pypi all2mdmcpb https://github.com/thomas-villani/all2md/releases/download/v1.18.0/all2md.mcpb
- License
- MIT
- Repository
- github.com/thomas-villani/all2md
- 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)