Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
Description from the maker (original English)
Read, convert, search, diff and outline PDF, Word, PowerPoint, HTML and 40+ formats as Markdown.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Download the maker’s .mcpb file
The link goes to the maker’s own file; we do not host or repackage it. Open the file and Claude Desktop installs it.
Run this in your terminal
claude mcp add all2md -- uvx all2md mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"all2md": {
"command": "uvx",
"args": [
"all2md",
"mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"all2md": {
"type": "stdio",
"command": "uvx",
"args": [
"all2md",
"mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account thomas-villani, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.19.0) reached the registry yesterday.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv), MCPB on your computer.
In the same category: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Agent-Native Google Calendar - manage events, sync, and public booking
Lets AI create and edit Excel files itself, including formulas, charts and PivotTables, without Excel installed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Read, convert, search, and chunk PDFs, Office files, e-books, emails, and 40+ other formats, as Markdown and back again. From Python, from your terminal, or from your AI assistant.
A Word document, read in the terminal with all2md read .
With uv there is nothing to install first:
uvx --from "all2md[all]" rcat report.pdf # read any document in the terminal
uvx --from "all2md[all]" all2md report.docx # print it as Markdown
Keep it around as a tool, with all2md, rcat and the all2md-mcp server on your PATH:
uv tool install "all2md[all]"
Or use it as a library:
uv add "all2md[pdf,docx]" # or: pip install "all2md[pdf,docx]"
from all2md import to_markdown
markdown = to_markdown("report.pdf")
| I want to… | Start with | Read |
|---|---|---|
| Read documents without leaving the terminal | rcat report.docx, all2md read docs/ | Read in the terminal |
| Convert files, one or a thousand, in either direction | all2md ./inbox -r --output-dir ./md | Convert |
| Parse documents in my Python code | to_markdown("report.pdf") | Python API |
| Find text inside PDFs, Word files and slide decks | all2md grep "deadline" contracts/ -r | Search |
| Feed documents to a RAG pipeline | all2md chunk handbook.pdf | RAG and chunking |
| Let Claude or another assistant work with my files | the one-click Claude Desktop extension | AI assistants (MCP) |
| Know how far to trust the output | all2md report scan.pdf | Measured fidelity |
rcat is cat for documents. It renders PDFs, Word and PowerPoint files (the 97-2003 .doc and .ppt too), spreadsheets, e-books, emails, notebooks, man pages and every other format all2md reads, with headings, tables, syntax-highlighted code, links with their targets, footnotes, math and admonitions. No browser, no office suite, and it works over SSH. If you reach for glow to read Markdown or doxx to read Word files, rcat is the same idea for every format.
rcat report.docx # read a Word document
rcat deck.pptx --outline # just the slide titles rcat handbook.pdf --extract "Installation" # one section, by heading rcat contract.pdf --pager # page through it curl -sL https://example.com/spec.pdf | rcat -
For anything longer, all2md read (or rcat -i) opens the interactive viewer shown above: an outline beside the text, jumps between headings, the links on screen, and, given a folder, a tree of the documents in it.
all2md read handbook.pdf
all2md read docs/ # choose from the documents in a folder
When you would rather have a browser, all2md view report.docx opens a styled HTML preview, all2md view ./docs -r browses a whole folder with on-demand conversion, and all2md edit notes.md opens a browser editor that saves back to the file.
Styling needs the cli_extras extra and the viewer needs tui; all2md[all] includes both. More in the viewer documentation.
Any supported format to Markdown, and Markdown back to DOCX, PDF, PPTX, HTML, EPUB and more:
all2md report.pdf > report.md # to Markdown on stdout
all2md answer.md --out answer.docx # Markdown (an LLM's output, say) to Word all2md ./inbox -r --output-dir ./markdown -p 4 # a whole tree, four at a time all2md ./inbox -r --output-dir ./markdown --watch # keep converting as files arrive all2md scan.pdf --pdf-ocr-enabled # scanned pages, through OCR
Every option of every converter is a CLI flag (all2md --help) or a key in a config file (all2md config generate). Every file command reads stdin and writes stdout with -, so all2md slots into pipelines. Word documents come out as Word shows them: tracked changes resolved by policy, comments with their anchors, footnotes, field results, merged cells, and the list numbers Word actually prints.
See the CLI reference and the cheat sheet.
to_markdown() handles the common case; convert() goes between any two formats; to_ast() gives you the parsed document to work with.
from all2md import to_markdown, convert, to_ast, from_ast
markdown = to_markdown("report.pdf", pages="1-3", flavor="gfm") convert("notes.md", "notes.docx", target_format="docx")
doc = to_ast("report.docx") # a typed document tree html = from_ast(doc, target_format="html")
The core has no dependencies; each format's extra pulls in only what that format needs. Options are typed dataclasses (PdfOptions, DocxOptions, …) or plain keyword arguments, and AST transforms (remove-images, heading-offset, your own) slot in between parsing and rendering. New formats and transforms plug in through entry points.
If you are an LLM with a coding environment, all2md llm-help prints usage guidance written for you, and all2md install-skills installs it as a skill for Claude Code, Cursor and others.
See the Python API guide, the AST guide, and examples/python.
grep doesn't look inside a PDF or a .docx. all2md grep does, across any mix of formats, with the usual flags:
all2md grep -i "termination" contracts/ -r # every format in the tree
all2md grep -C 2 "deadline" contracts/ -r --rich # with context, highlighted all2md search "renewal terms" ./contracts --keyword # ranked BM25 search all2md search "who approved the budget" ./minutes --hybrid all2md diff draft-v1.docx draft-v2.pdf # a colored diff, across formats
Vector and hybrid search need the search extra. Add --cache (or ALL2MD_CACHE=1) to reuse parsed documents across repeated runs.
all2md chunk converts and splits in one step. Each chunk carries its section heading and source page span, so answers can cite where they came from.
all2md chunk handbook.pdf --strategy semantic --max-tokens 512 --overlap 64 > chunks.jsonl
import all2md
for c in all2md.chunk("handbook.pdf", strategy="semantic", max_tokens=512, overlap=64): print(c.chunk_id, c.section_heading, c.page, c.token_count)
There are 11 strategies (semantic, heading, section, token, sentence, paragraph, code, …). Tables and code blocks are kept whole, and the output is JSONL ready for any vector store. Real token counts use tiktoken from the chunk extra. See the chunk command.
all2md ships a Model Context Protocol server, so an assistant like Claude can read your PDFs and Office files, write Word documents, edit them in place, search a folder, and compare two versions. You don't need to write any code.
In Claude Desktop (no Python or terminal needed):
all2md.mcpb from the latest release.Other MCP clients, and the developer configuration
The server is in the MCP Registry as io.github.thomas-villani/all2md. To run it yourself, use uvx (nothing to install):
{
"mcpServers": { "all2md": { "command": "uvx", "args": ["--from", "all2md[all]", "all2md-mcp", "--temp", "--enable-from-md"] } } }
or install it with uv tool install "all2md[mcp]" and use "command": "all2md-mcp". The [mcp] extra covers PDF, Word, PowerPoint, Excel, HTML, EPUB, ODF and reStructuredText; use [all] for everything.
Tools: read_document_as_markdown, save_document_from_markdown, edit_document, plus the read-only search_documents, diff_documents and get_document_outline.
See the MCP documentation for the options and the security model.
all2md's conversion quality is measured against independent ground truth, not asserted. Each benchmark lane is published with a control that shows what the measurement looks like when it *should* fail:
Against other converters, on a sealed holdout of 103 PubMed Central articles scored with the same instruments (reading of 2026-08-29):
| all2md | pymupdf4llm 1.28.2 | Docling 2.120.3 | |
|---|---|---|---|
| Recall of attainable text | 97.3% | 97.1% | 96.2% |
| Invented text (lower is better) | 0.55% | 6.26% | 2.05% |
| Table text preserved | 73.1% | 60.7% | 79.3% |
Docling's learned table model still leads on tables. The [comparison lane](https://github.com/thomas-villani/all2md/tree/main/
Only the beginning is shown; read the rest in the repo