关于 Markdownify MCP Server - UTF-8 Enhanced
这是一个将网页和多种本地文件转换为 Markdown 的 MCP 服务器,面向需要处理多语言文档的用户。它强化了 UTF-8 与 Windows 编码处理,并支持批量转换。
主要功能
- 01转换 PDF、DOCX、XLSX 和 PPTX
- 02转换图片、音频及网页内容
- 03处理 YouTube 字幕和搜索结果
- 04支持 UTF-8 与多语言文本
- 05批量处理多个文件
- 06提取元数据并保留格式
适用场景
- 01将本地文档转换为 Markdown
- 02整理网页或 YouTube 视频内容
- 03批量转换多语言文件
- 04在 Windows 环境处理非 ASCII 文本
MCP 相关
README 将项目描述为可配置到桌面应用中的 MCP 服务器,但没有说明其具体向 MCP 客户端公开的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Markdownify MCP 服务 - UTF-8 增强版
这是 原始 Markdownify MCP 项目 的增强版本,改进了 UTF-8 编码支持,并优化了多语言内容处理。
增强内容
- 全面支持 UTF-8 编码
- 优化了多语言内容处理
- 修复了 Windows 系统上的编码问题
- 改进了错误处理机制
与原始项目的主要区别
-
增强编码支持:
- 所有操作均全面支持 UTF-8
- 正确处理中文、日文、韩文及其他非 ASCII 字符
- 修复了 Windows 特有的编码问题(兼容 cmd.exe 和 PowerShell)
-
改进错误处理:
- 提供详细的中英文错误消息
- 更妥善地处理网络问题引发的异常
- 转换失败时提供平稳的回退机制
-
扩展功能:
- 新增对多个文件进行批量处理的支持
- 增强了 YouTube 视频文字稿处理
- 改进了从各种文件格式中提取元数据的能力
- 更好地保留文档格式
-
性能优化:
- 优化了大型文件转换时的内存使用
- 加快了多语言内容的处理速度
- 减少了依赖项冲突
-
改善开发体验:
- 提供全面的调试选项
- 提供详细的日志系统
- 支持针对不同环境进行配置
- 提供清晰的中英文文档
功能
支持将各种文件类型转换为 Markdown:
- PDF 文件
- 图像(含元数据)
- 音频(含转录文本)
- Word 文档(DOCX)
- Excel 电子表格(XLSX)
- PowerPoint 演示文稿(PPTX)
- 网页内容:
- YouTube 视频文字稿
- 搜索结果
- 一般网页
- 现有 Markdown 文件
快速开始
-
克隆此仓库:
git clone https://github.com/JDJR2024/markdownify-mcp-utf8.git cd markdownify-mcp-utf8 -
安装依赖项:
pnpm install注意:这也会安装
uv和相关的 Python 依赖项。 -
构建项目:
pnpm run build -
启动服务:
pnpm start
要求
- Node.js 16.0 或更高版本
- Python 3.8 或更高版本
- pnpm 包管理器
- Git
详细安装指南
1. 环境设置
-
安装 Node.js:
- 从 Node.js 官方网站 下载
- 验证安装:
node --version
-
安装 pnpm:
npm install -g pnpm pnpm --version -
安装 Python:
- 从 Python 官方网站 下载
- 安装时确保将 Python 添加到 PATH
- 验证安装:
python --version
-
(仅限 Windows)配置 UTF-8 支持:
# Set system-wide UTF-8 setx PYTHONIOENCODING UTF-8 # Set current session UTF-8 set PYTHONIOENCODING=UTF-8 # Enable UTF-8 in command prompt chcp 65001
2. 项目设置
-
克隆仓库:
git clone https://github.com/JDJR2024/markdownify-mcp-utf8.git cd markdownify-mcp-utf8 -
创建并激活 Python 虚拟环境:
# Windows python -m venv .venv .venv\Scripts\activate # Linux/macOS python3 -m venv .venv source .venv/bin/activate -
安装项目依赖项:
# Install Node.js dependencies pnpm install # Install Python dependencies (will be handled by setup.sh) ./setup.sh -
构建项目:
pnpm run build
3. 验证
-
启动服务:
pnpm start -
测试安装:
# Convert a web page python convert_utf8.py "https://example.com" # Convert a local file python convert_utf8.py "path/to/your/file.docx"
使用指南
基本用法
-
转换网页:
python convert_utf8.py "https://example.com"转换后的 Markdown 将保存为
converted_result.md -
转换本地文件:
# Convert DOCX python convert_utf8.py "document.docx" # Convert PDF python convert_utf8.py "document.pdf" # Convert PowerPoint python convert_utf8.py "presentation.pptx" # Convert Excel python convert_utf8.py "spreadsheet.xlsx" -
转换 YouTube 视频:
python convert_utf8.py "https://www.youtube.com/watch?v=VIDEO_ID"
高级用法
-
环境变量:
# Set custom UV path export UV_PATH="/custom/path/to/uv" # Set custom output directory export MARKDOWN_OUTPUT_DIR="/custom/output/path" -
批量处理: 创建一个批处理文件(例如
convert_batch.txt),其中包含 URL 或文件路径:https://example1.com https://example2.com file1.docx file2.pdf然后运行:
while read -r line; do python convert_utf8.py "$line"; done < convert_batch.txt
故障排除
-
常见问题:
- 如果遇到编码错误,请确保已正确设置 UTF-8
- 如果在 Windows 上遇到权限问题,请以管理员身份运行
- 如果遇到 Python 路径问题,请确保已激活虚拟环境
-
调试:
# Enable debug output export DEBUG=true python convert_utf8.py "your_file.docx"
用法
命令行
将网页转换为 Markdown:
python convert_utf8.py "https://example.com"
转换本地文件:
python convert_utf8.py "path/to/your/file.docx"
桌面应用集成
要将此服务与桌面应用集成,请在应用的服务配置中添加以下内容:
{
"mcpServers": {
"markdownify": {
"command": "node",
"args": [
"{ABSOLUTE_PATH}/dist/index.js"
],
"env": {
"UV_PATH": "/path/to/uv"
}
}
}
}
故障排除
-
编码问题
- 如果遇到字符编码问题,请确保将
PYTHONIOENCODING环境变量设置为utf-8 - Windows 用户可能需要运行
chcp 65001以启用 UTF-8 支持
- 如果遇到字符编码问题,请确保将
-
权限问题
- 确保你拥有足够的文件读写权限
- 在 Windows 上,你可能需要以管理员身份运行
致谢
本项目基于 Zach Caceres 的原始作品。感谢原作者的杰出贡献。
许可证
本项目继续采用 MIT License 授权。详情请参阅 LICENSE 文件。
贡献
欢迎贡献!提交 Pull Request 前,请:
- 确保代码符合项目的编码规范
- 添加必要的测试和文档
- 更新 README 中的相关部分
联系方式
如有问题或建议:
- 提交 Issue:https://github.com/JDJR2024/markdownify-mcp-utf8/issues
- 创建 Pull Request:https://github.com/JDJR2024/markdownify-mcp-utf8/pulls
- 电子邮件:[email protected]
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。