
Document Converter
io.github.Zahid-Abbas-Ali-Baig由 GitHub 账号 Zahid-Abbas-Ali-Baig 发布v1.0.0更新于 Oct 25, 2026
Convert documents to Markdown using MarkItDown
概览
本地 stdio MCP 服务器,将 PDF、Office 文件、表格、邮件、音频和 YouTube 链接转换为 Markdown,便于助手阅读和总结。
- 可以做什么
- 将本地文件或受支持的链接转换为 Markdown 并保存到源文件旁,YouTube 链接则保存为 youtube-{id}.md(convert_to_markdown)。仅在聊天回复中预览转换后的 Markdown,不写入磁盘(preview_markdown)。支持 PDF、docx、pptx、xlsx/xls、Outlook .msg、HTML、CSV、文本/JSON、笔记本、epub、zip 压缩包、mp3/wav/m4a 音频以及 YouTube 观看链接。
- 适用场景
- 当助手需要读取无法直接打开的二进制或办公文档时适用,例如总结 PDF 报告、审阅 docx 或 pptx 草稿、把 Excel 导出转成表格、从 .msg 邮件中提取待办事项、转写音频,或把 YouTube 字幕整理成可编辑的 Markdown。
- 运行要求
- 以 stdio 在本地运行,仅支持桌面客户端。需要 uv/uvx(或带 markitdown 扩展的 Python 虚拟环境),使用 uvx 安装时还需要 PATH 中有 Git。转换 YouTube 需要网络连接。未声明账号、API 密钥或环境变量。
安装
在 SourceWeft 中
- 打开 控制台中的 Document Converter,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
📄 Document Converter MCP
Convert documents to Markdown inside Cursor, VS Code, and any MCP client.
Local processing · No cloud upload · Powered by MarkItDown
[MIT License] [Python 3.10+] [MCP Registry]
Give your AI assistant the ability to read PDFs, Office files, spreadsheets, emails, audio, and more as clean Markdown — so it can summarize, search, and reason over content instead of struggling with binary attachments.
Table of contents
- Overview 📋
- Use cases 💡
- Features ✨
- Supported formats 📎
- Quick install 🚀
- Tools 🛠️
- Usage examples 💬
- Local development 🧪
- Configuration reference ⚙️
- MCP Registry 📦
- Troubleshooting 🔧
- License 📜
Overview 📋
Document Converter MCP is a lightweight stdio server that wraps Microsoft's MarkItDown library for the Model Context Protocol.
Once connected, your agent converts files locally and returns structured text — nothing is sent to a conversion API.
Use cases 💡
Features ✨
- 🏠 Local-first — files stay on your machine; no third-party conversion service
- 📎 Broad format coverage — PDF, Office, CSV/JSON/text, Outlook
.msg, audio, YouTube, and more (via MarkItDown) - 🔀 Two workflows — save Markdown next to the source, or preview in chat only
- 📋 Copy-paste setup — step-by-step install for Cursor, VS Code, and Claude Desktop
- 📦 Registry published — listed on the official MCP Registry
- ⚖️ MIT licensed — free for personal and commercial use
Supported formats 📎
Formats below are verified against MarkItDown 0.1.6 with our installed extras:
markitdown[pdf,docx,pptx,xlsx,xls,outlook,audio-transcription,youtube-transcription]
We avoid markitdown[all] because it pulls Azure pre-release packages that uv cannot resolve with uvx.
Fully supported (with this project's dependencies)
Limited support
Not supported
Conversion quality depends on the source file. See the MarkItDown documentation for upstream details.
Quick install 🚀
Follow the steps for your editor. Every config below uses the same command — only the JSON file and wrapper key differ.
Before you start (all editors)
-
Install uv (includes
uvx).Windows (PowerShell):
macOS / Linux:
-
Verify
uvxworks (open a new terminal after installing): -
Optional — test the server (it will sit idle with no output; that is normal for stdio MCP):
Press
Ctrl+Cto stop.
Install in Cursor 🖱️
- Open Cursor → Settings → MCP (or edit your config file directly).
- Config file location:
- Windows:
%USERPROFILE%\.cursor\mcp.json - macOS:
~/.cursor/mcp.json - Linux:
~/.cursor/mcp.json - Project-only:
.cursor/mcp.jsonin your project folder
- Windows:
- Add or merge this block inside
mcpServers(copy the whole JSON):
- Save the file and restart Cursor (or click Reload next to MCP in settings).
- Check: Settings → MCP →
document-convertershould show enabled (green). Tools:convert_to_markdown,preview_markdown.
Cursor one-click install (optional — if manual JSON fails, use this)
- Open this link in your browser: Add to Cursor
- Or paste into the browser address bar:
- Click Install in Cursor, then restart if tools do not appear.
Install in VS Code 💻
Requires VS Code 1.102+ with built-in MCP support.
Do not paste
vscode://mcp/install?...anywhere. That link is broken in VS Code and creates servers likemy-mcp-server-*withspawn vscode://... ENOENT. Use the JSON below.
Method A — Copy-paste user config (recommended)
- Ctrl+Shift+P → MCP: Open User Configuration
- Delete any broken servers where
"command"starts withvscode://(e.g.my-mcp-server-15e7e771). - Replace the file contents with (or merge
serversinto your existing file):
- Save, then Ctrl+Shift+P → MCP: List Servers → start document-converter.
If you get uvx not found (ENOENT): run where uvx (Windows) or which uvx (macOS/Linux) and set "command" to the full path:
Method B — Open this repo in VS Code
git clone https://github.com/Zahid-Abbas-Ali-Baig/document-converter.git- File → Open Folder → select
document-converter - VS Code loads
.vscode/mcp.jsonautomatically - Ctrl+Shift+P → MCP: List Servers → start document-converter
Method C — Add Server wizard
Ctrl+Shift+P → MCP: Add Server → choose stdio, then enter:
Install in Claude Desktop 🤖
-
Open Claude Desktop config:
- Windows (Microsoft Store):
%LOCALAPPDATA%\Packages\Claude_<id>\LocalCache\Roaming\Claude\claude_desktop_config.json - Windows (classic):
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
On Windows Store Claude,
%APPDATA%\Claude\may not exist — use thePackages\Claude_*\...path above. - Windows (Microsoft Store):
-
Windows (Microsoft Store) — one-time setup so
uvx --from git+...can find Git (Claude passes a minimal PATH to MCP servers):Or download and run that script from the repo. It creates
%USERPROFILE%\.local\bin\git.cmdpointing at Git for Windows. -
Add inside
mcpServers(keep existingpreferencesat the root):
If you get uvx not found (ENOENT): set "command" to the full path from where uvx, e.g. C:\\Users\\YOUR_USER\\.local\\bin\\uvx.exe.
- Restart Claude Desktop completely (quit from tray, reopen).
Verify it works ✅
Ask your AI assistant:
Or:
You should see convert_to_markdown and preview_markdown being called.
Tools 🛠️
Input: absolute or relative path to a file on your machine (or a supported URL for YouTube).
Output: Markdown text suitable for summarization, diffing, or committing to Git.
Usage examples 💬
Natural-language prompts you can paste into Cursor, VS Code, or Claude Desktop after the MCP server is connected.
Convert a PDF and summarize
Prompt:
What happens: The agent calls convert_to_markdown, creates annual-report.md next to the PDF, and summarizes the result.
Preview a Word doc before saving
Prompt:
What happens: The agent calls preview_markdown, reads the content in chat, and answers your question — no file is written.
Excel to analysis
Prompt:
What happens: Spreadsheet tables become Markdown the model can parse and rank.
PowerPoint for release notes
Prompt:
Outlook email extraction
Prompt:
Batch-style workflow (multiple files)
Prompt:
Audio transcription
Prompt:
Requires the audio-transcription extra (included in this project's dependencies).
YouTube URL
Prompt (preview in chat):
Prompt (save to file):
What happens: MarkItDown fetches the watch page, extracts title/description/metadata, and appends captions via youtube-transcript-api when available. convert_to_markdown saves youtube-EXAMPLE.md in the server working directory.
Use https://www.youtube.com/watch?v=... format. Requires the youtube-transcription extra and an internet connection.
Example Markdown output (PDF)
Illustrative snippet after conversion:
Quality depends on the source document layout and MarkItDown version.
Local development 🧪
Clone if you prefer a local virtual environment over uvx.
Windows (PowerShell):
macOS / Linux:
Run the server directly (stdio — used by MCP clients):
Configuration reference ⚙️
All clients run the same underlying command (full JSON examples are in Quick install 🚀 — not repeated here):
Config file locations
Copy-paste configs: Quick install 🚀.
Local clone (no uvx)
Clone and install — see Local development 🧪. Then point your MCP client at the venv Python:
Windows:
macOS / Linux:
MCP Registry 📦
Listed on the official MCP Registry as io.github.Zahid-Abbas-Ali-Baig/document-converter (v1.0.0).
- 🔍 Registry entry (v1.0.0)
- 📂 GitHub repository
- 📥 GitHub Release v1.0.0 (
.mcpbbundle)
Troubleshooting 🔧
Dependency resolution / markitdown[all] errors
If you see errors about azure-ai-contentunderstanding or pre-releases, remove markitdown[all] from your config. Use:
VS Code: spawn vscode://mcp/install?... ENOENT
VS Code's install link wrote the URL as the command instead of uvx. Fix:
- MCP: Open User Configuration (or
.vscode/mcp.jsonin this repo) - Delete entries like
my-mcp-server-*where"command"starts withvscode:// - Use
.vscode/mcp.jsonfrom this repo, or the JSON in Install in VS Code 💻 - MCP: List Servers → restart document-converter
Do not use the README vscode://mcp/install?... link — it is unreliable in VS Code.
Claude Desktop: Git executable not found
uvx --from git+... needs Git on PATH. Microsoft Store Claude on Windows often spawns MCP servers with a minimal PATH that omits C:\Program Files\Git\cmd, even when Git works in a normal terminal.
Fix: run the one-time shim script from Install in Claude Desktop 🤖 (step 2). It places git.cmd next to uvx.exe in %USERPROFILE%\.local\bin.
Also ensure: Git for Windows and uv are installed. Pre-warm in PowerShell: uvx --from git+https://github.com/Zahid-Abbas-Ali-Baig/document-converter --with markitdown[pdf,docx,pptx,xlsx,xls,outlook,audio-transcription,youtube-transcription] document-converter-mcp (idle = normal for stdio).
Fallback: Local clone (no uvx) if you cannot use uvx.
Failed to acquire MessagePort
This comes from Cursor or VS Code, not this server:
Reliable fallback: follow Local development 🧪 and use the local clone MCP config.
Install button does nothing (Cursor on Windows)
Use the copy-paste JSON in Install in Cursor 🖱️ instead of the install badge.
Tools not visible
Reload MCP or restart the editor. Confirm the server is enabled (not red/disabled).
License 📜
MIT License — see LICENSE.
Copyright (c) 2026 Zahid Abbas Ali Baig
来源:README.md,提交 1395c3e
工具
0版本历史
1- v1.0.0最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分