
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 分
请在仓库或注册中心条目中声明许可证。
