Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
作者提供的说明(英文原文)
Read, convert, search, diff and outline PDF, Word, PowerPoint, HTML and 40+ formats as Markdown.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
链接指向作者自己的文件;我们不托管也不重新打包它。打开文件后,Claude Desktop 会进行安装。
在终端中运行这条命令
claude mcp add all2md -- uvx all2md mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"all2md": {
"command": "uvx",
"args": [
"all2md",
"mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"all2md": {
"type": "stdio",
"command": "uvx",
"args": [
"all2md",
"mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 thomas-villani 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(1.19.0)于昨天进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv), MCPB。
同一分类中有:Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Agent-Native Google Calendar - manage events, sync, and public booking
Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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/
只显示了开头部分;其余内容请在仓库中阅读