
Markdown Notes Mcp
io.github.Narashiman-K由 GitHub 帳號 Narashiman-K 發布v0.1.4更新於 Oct 24, 2026
Convert PDF, Word, Excel, PowerPoint, EPUB and images to Markdown locally, with no upload.
概覽
在本機把文件與圖片轉換成方便模型閱讀的 Markdown,可選用雲端 OCR 與音訊轉錄。
- 可以做什麼
- 在使用者電腦上執行,將 PDF、Word、Excel、PowerPoint、OpenDocument、EPUB、CSV、TSV、純文字與圖片轉換成整理過的 Markdown,會把表格轉成真正的 Markdown 表格並正確標註程式碼區塊。工具包含 convert_to_markdown(自動在原始檔旁儲存 .md)、convert_folder_to_markdown(批次轉換到指定資料夾)、save_summary(儲存助理撰寫的摘要)與 list_supported_formats。長文件只回傳簡短預覽以節省 token。
- 適用情境
- 適合助理需要讀取它本身無法處理的格式(例如 EPUB、PowerPoint、OpenDocument 或掃描圖片),而你不想上傳檔案時。也適合把整個資料夾的文件批次轉換成 Markdown。
- 執行需求
- 需要本機 Node.js 執行環境;可從 npm 安裝 suprasuta-markdown-mcp,或使用 Claude Desktop 的 .mcpb 套件。選用密鑰 ASSEMBLYAI_API_KEY 用於音訊轉錄,GEMINI_API_KEY 用於雲端圖片辨識。MARKDOWN_MCP_ROOTS 可選,用來限制可讀取的資料夾;不設定則允許任何路徑。設定只在啟動時讀取,變更後需重新啟動宿主。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Markdown Notes Mcp,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Suprasūtā Markdown Notes — MCP server
Let Claude, VS Code and Antigravity read any document on your machine — without uploading it.
Created by Narashiman Krishnamurthy
Licence: free for personal, non-commercial use. See LICENSE.md.
What it does
AI assistants can read plain text, and some can read PDFs. None of them read EPUB, OpenDocument, PowerPoint or a scanned image, and all of them do it by uploading your file to a server.
This converts documents on your own machine and hands back Markdown that has been tidied for a model to read — tables promoted to real Markdown tables, deep indentation flattened, code properly fenced.
Tools
About tokens
Converting costs you nothing — it all happens locally. But returning a long document into the conversation does cost tokens, at the same rate as pasting it in by hand.
So a long conversion is saved to disk and only a short preview comes back. A
50-page PDF costs roughly 400 tokens instead of 30,000. Short documents are
returned in full, since they are cheap either way. Ask for
return_content: "full" to override.
Installing
Claude Desktop — the easy way
Download the .mcpb file from
Releases and
double-click it. Claude Desktop installs it and asks which folders it may read,
and optionally for API keys. No Node, no terminal, no JSON.
Claude Desktop — from source
Then restart Claude Desktop completely. The script patches the existing config rather than replacing it, and writes a timestamped backup first.
--roots is optional but recommended: it limits which folders the server will
read. Without it, any path the assistant asks for is allowed.
To remove it again: node scripts/install-claude-desktop.mjs --remove
From npm — any MCP host
Then point your host at the suprasuta-markdown-mcp command, or run it without
installing:
VS Code and Antigravity
Both read a standard MCP configuration — the block above works as-is.
Antigravity looks in ~/.gemini/config/mcp_config.json, or
.agents/mcp_config.json inside a workspace.
To run a checkout rather than the published package, replace command and
args with node and the absolute path to dist/server.js.
Optional cloud features
Both are dormant until a key is present. Everything else works without either.
Keys are read from the environment, never written to disk and never logged.
Settings are read once, at start-up. An MCP server is a long-running process, so a key or folder saved while it is running does not reach it until the host restarts. If a key you have just entered reports as not configured, restart the host before looking for anything more complicated.
Development
Why the build is esbuild rather than tsc
src/lib/convert/ is kept byte-identical to the copies in the Windows, web
and Android apps, so that drift can be detected rather than discovered. Those
files use extensionless imports and one Vite-specific ?url import, neither of
which Node's own resolver accepts. esbuild resolves both, so the shared files
never need Node-shaped edits.
The runtime hook
Three things genuinely differ between a browser and Node, and
src/lib/convert/runtime.ts asks the host rather than sniffing for process:
Everything else is shared. src/runtime/node.ts supplies the Node answers and
shims exactly one browser global, DOMParser.
A caution learned the hard way: that file used to define
documenttoo, and it broke OCR. tesseract.js sniffed for a DOM, found one, took the browser branch and died onwindow is not defined. Half a browser is worse than none — shim the minimum.
Keeping the copies honest
This package is the canonical copy: it is the only one with the runtime hook
that lets identical files run in both environments, so fixes start here and
flow outward. sync:check reports and exits zero — drift is information, not a
build failure.
Privacy Policy
This software collects nothing. No account, no analytics, no telemetry, and no server of its own — document conversion happens entirely on your machine.
Two optional features send data to a third party, and only when you supply your own API key: cloud image recognition sends the image to Google, and audio transcription sends the audio to AssemblyAI. With no keys configured, the software makes no network connections at all. API keys are read from the environment, never written to disk and never logged.
Full policy, covering collection, storage, retention, third-party sharing and contact details: PRIVACY.md.
Related
來源:README.md,提交 bca560f
工具
0版本歷史
1- v0.1.4最新Sep 16, 2026
評分
已滿足適用檢查項的 40%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
請在儲存庫或註冊中心條目中宣告授權條款。