标记MCP服务器
Markdownify是一个模型上下文协议(MCP)服务器,它将各种文件类型和web内容转换为Markdown格式。它提供了一套工具,可以将PDF、图像、音频文件、网页等转换为易于阅读和共享的Markdown文本。
特性
- 将多种文件类型转换为Markdown:
- PDF - 图像 - 音频(带转录) - DOCX 文件 - XLSX文件 - PPT文件
- 将网页内容转换为Markdown:
- YouTube视频转录 - Bing搜索结果 - 一般网页
- 检索现有的Markdown文件
入门指南
- 克隆此存储库
- 安装依赖项:
bun install这 preinstall 步骤在以下位置创建Python虚拟环境 .venv 并安装 markitdown[all].
- 构建项目:
bun run build- 启动服务器:
bun start发展
- 使用
bun run dev在监视模式下启动TypeScript编译器 - 修改
src/server.ts自定义服务器行为 - 在中添加或修改工具
src/tools.ts
使用桌面应用程序
要将此服务器与桌面应用程序集成,请将以下内容添加到应用程序的服务器配置中:
{
"mcpServers": {
"markdownify": {
"command": "node",
"args": [
"{ABSOLUTE PATH TO FILE HERE}/dist/index.js"
]
}
}
}环境变量
所有路径默认为合理值;仅当默认设置不适合您的安装布局时才进行覆盖。
| 变量 | 默认值 | 用途 |
|---|---|---|
MARKITDOWN_PATH | ` | |
/.venv/bin/markitdown那么 markitdown 上 PATH` | 通往的绝对路径 markitdown 可执行。在系统范围内安装markitdown时设置此项(例如。 pipx install "markitdown[pdf]")而不是使用捆绑的venv。 | |
REPOMIX_PATH | ` | |
/node_modules/.bin/repomix那么 repomix 上 PATH` | 通往的绝对路径 repomix 可执行文件由使用 git-repo-to-markdown. | |
MD_ALLOWED_PATHS | unset(无限制) | 路径分隔符分隔列表(: 在POSIX上, ; 在Windows上)允许服务器读取的目录。设置后,所有文件输入工具(pdf-to-markdown, get-markdown-file等等)拒绝这些目录之外的路径。 |
MD_SHARE_DIR | unset | 已弃用的别名 MD_ALLOWED_PATHS (单个目录)。仍然因向后兼容性而受到表彰。 |
使用Docker
构建并运行:
docker build -t markdownify-mcp .
docker run --rm -i \
-v "$HOME/Documents:/data:ro" \
-e MD_ALLOWED_PATHS=/data \
markdownify-mcpDocker MCP目录说明(mcp/markdownify):
- 将您希望服务器读取的任何主机目录装载到容器中,然后传递 容器 工具路径(例如。
/data/foo.pdf,不/Users/you/Documents/foo.pdf). - 集
MD_ALLOWED_PATHS以冒号分隔的已装载目录列表,以便服务器强制执行与绑定装载匹配的读取边界。 - 已发布的Docker镜像已安装
markitdown[pdf]仅限于音频转录和图像OCR(audio-to-markdown,image-to-markdown)要求[all]额外的功能,在苗条的形象中会失败。使用本地安装(bun install)对于完整的功能集。
可用工具
youtube-to-markdown:将YouTube视频转换为Markdown
pdf-to-markdown:将PDF文件转换为Markdown
bing-search-to-markdown:将Bing搜索结果转换为Markdown
webpage-to-markdown:将网页转换为Markdown
image-to-markdown:使用元数据将图像转换为Markdown
audio-to-markdown:使用转录将音频文件转换为Markdown
docx-to-markdown:将DOCX文件转换为Markdown
xlsx-to-markdown:将XLSX文件转换为Markdown
pptx-to-markdown:将PPTX文件转换为Markdown
get-markdown-file:检索现有的Markdown文件。文件扩展名必须以\*.md、\*.markdown结尾。
可选:设置 MD_ALLOWED_PATHS 将每个文件输入工具限制在目录列表中,例如。 MD_ALLOWED_PATHS=/data/in:/data/out bun start.
贡献
欢迎投稿!请随时提交拉取请求。
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

