Markdownify MCP Server - UTF-8 Enhanced

Markdownify MCP Server - UTF-8 Enhanced

一个文档转换服务器,可以将各种文件格式(PDF、文档、图像、音频、网页内容)转换为 Markdown,并改进了对多语言和 UTF-8 的支持。

文件系统
开发者工具
本地
TypeScript
访问服务器

Tools

youtube-to-markdown

Convert a YouTube video to markdown, including transcript if available

audio-to-markdown

Convert an audio file to markdown, including transcription if possible

xlsx-to-markdown

Convert an XLSX file to markdown

bing-search-to-markdown

Convert a Bing search results page to markdown

docx-to-markdown

Convert a DOCX file to markdown

get-markdown-file

Get a markdown file by absolute file path

image-to-markdown

Convert an image to markdown, including metadata and description

pdf-to-markdown

Convert a PDF file to markdown

pptx-to-markdown

Convert a PPTX file to markdown

webpage-to-markdown

Convert a webpage to markdown

README

Markdownify MCP 服务器 - UTF-8 增强版

这是 原始 Markdownify MCP 项目 的增强版本,具有改进的 UTF-8 编码支持和优化的多语言内容处理。

中文文档

增强功能

  • 增加了全面的 UTF-8 编码支持
  • 优化了多语言内容的处理
  • 修复了 Windows 系统上的编码问题
  • 改进了错误处理机制

与原始项目的主要区别

  1. 增强的编码支持:

    • 在所有操作中完全支持 UTF-8
    • 正确处理中文、日语、韩语和其他非 ASCII 字符
    • 修复了 Windows 特定的编码问题(cmd.exe 和 PowerShell 兼容性)
  2. 改进的错误处理:

    • 提供英文和中文的详细错误消息
    • 针对网络问题提供更好的异常处理
    • 针对转换失败提供优雅的降级机制
  3. 扩展的功能:

    • 增加了批量处理多个文件的支持
    • 增强了 YouTube 视频字幕的处理
    • 改进了从各种文件格式中提取元数据的功能
    • 更好地保留文档格式
  4. 性能优化:

    • 优化了大型文件转换的内存使用
    • 更快地处理多语言内容
    • 减少了依赖冲突
  5. 更好的开发体验:

    • 提供了全面的调试选项
    • 详细的日志记录系统
    • 支持特定于环境的配置
    • 提供英文和中文的清晰文档

功能

支持将各种文件类型转换为 Markdown:

  • PDF 文件
  • 图像(带有元数据)
  • 音频(带有转录)
  • Word 文档 (DOCX)
  • Excel 电子表格 (XLSX)
  • PowerPoint 演示文稿 (PPTX)
  • Web 内容:
    • YouTube 视频字幕
    • 搜索结果
    • 一般网页
  • 现有的 Markdown 文件

快速开始

  1. 克隆此存储库:

    git clone https://github.com/JDJR2024/markdownify-mcp-utf8.git
    cd markdownify-mcp-utf8
    
  2. 安装依赖项:

    pnpm install
    

    注意:这也会安装 uv 和相关的 Python 依赖项。

  3. 构建项目:

    pnpm run build
    
  4. 启动服务器:

    pnpm start
    

要求

  • Node.js 16.0 或更高版本
  • Python 3.8 或更高版本
  • pnpm 包管理器
  • Git

详细安装指南

1. 环境设置

  1. 安装 Node.js:

  2. 安装 pnpm:

    npm install -g pnpm
    pnpm --version
    
  3. 安装 Python:

    • Python 官方网站 下载
    • 确保在安装过程中将 Python 添加到 PATH
    • 验证安装:python --version
  4. (仅限 Windows) 配置 UTF-8 支持:

    # 设置系统范围的 UTF-8
    setx PYTHONIOENCODING UTF-8
    # 设置当前会话的 UTF-8
    set PYTHONIOENCODING=UTF-8
    # 在命令提示符中启用 UTF-8
    chcp 65001
    

2. 项目设置

  1. 克隆存储库:

    git clone https://github.com/JDJR2024/markdownify-mcp-utf8.git
    cd markdownify-mcp-utf8
    
  2. 创建并激活 Python 虚拟环境:

    # Windows
    python -m venv .venv
    .venv\Scripts\activate
    
    # Linux/macOS
    python3 -m venv .venv
    source .venv/bin/activate
    
  3. 安装项目依赖项:

    # 安装 Node.js 依赖项
    pnpm install
    
    # 安装 Python 依赖项(将由 setup.sh 处理)
    ./setup.sh
    
  4. 构建项目:

    pnpm run build
    

3. 验证

  1. 启动服务器:

    pnpm start
    
  2. 测试安装:

    # 转换网页
    python convert_utf8.py "https://example.com"
    
    # 转换本地文件
    python convert_utf8.py "path/to/your/file.docx"
    

使用指南

基本用法

  1. 转换网页:

    python convert_utf8.py "https://example.com"
    

    转换后的 markdown 将保存为 converted_result.md

  2. 转换本地文件:

    # 转换 DOCX
    python convert_utf8.py "document.docx"
    
    # 转换 PDF
    python convert_utf8.py "document.pdf"
    
    # 转换 PowerPoint
    python convert_utf8.py "presentation.pptx"
    
    # 转换 Excel
    python convert_utf8.py "spreadsheet.xlsx"
    
  3. 转换 YouTube 视频:

    python convert_utf8.py "https://www.youtube.com/watch?v=VIDEO_ID"
    

高级用法

  1. 环境变量:

    # 设置自定义 UV 路径
    export UV_PATH="/custom/path/to/uv"
    
    # 设置自定义输出目录
    export MARKDOWN_OUTPUT_DIR="/custom/output/path"
    
  2. 批量处理: 创建一个包含 URL 或文件路径的批处理文件(例如,convert_batch.txt):

    https://example1.com
    https://example2.com
    file1.docx
    file2.pdf
    

    然后运行:

    while read -r line; do python convert_utf8.py "$line"; done < convert_batch.txt
    

故障排除

  1. 常见问题:

    • 如果看到编码错误,请确保已正确设置 UTF-8
    • 对于 Windows 上的权限问题,以管理员身份运行
    • 对于 Python 路径问题,请确保已激活虚拟环境
  2. 调试:

    # 启用调试输出
    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"
      }
    }
  }
}

故障排除

  1. 编码问题

    • 如果遇到字符编码问题,请确保 PYTHONIOENCODING 环境变量设置为 utf-8
    • Windows 用户可能需要运行 chcp 65001 才能启用 UTF-8 支持
  2. 权限问题

    • 确保您具有足够的文件读/写权限
    • 在 Windows 上,您可能需要以管理员身份运行

致谢

该项目基于 Zach Caceres 的原始工作。 感谢原作者的杰出贡献。

许可证

本项目继续在 MIT 许可证下获得许可。 有关详细信息,请参见 LICENSE 文件。

贡献

欢迎贡献! 在提交 Pull Request 之前,请:

  1. 确保您的代码遵循项目的编码标准
  2. 添加必要的测试和文档
  3. 更新 README 中的相关部分

联系方式

如有问题或建议:

  1. 提交问题:https://github.com/JDJR2024/markdownify-mcp-utf8/issues
  2. 创建 Pull Request:https://github.com/JDJR2024/markdownify-mcp-utf8/pulls
  3. 电子邮件:jdidndosmmxmx@gmail.com

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Excel MCP Server

Excel MCP Server

一个模型上下文协议服务器,使 AI 助手能够读取和写入 Microsoft Excel 文件,支持诸如 xlsx、xlsm、xltx 和 xltm 等格式。

精选
本地
Go
Playwright MCP Server

Playwright MCP Server

提供一个利用模型上下文协议的服务器,以实现类人浏览器的自动化,该服务器使用 Playwright,允许控制浏览器行为,例如导航、元素交互和滚动。

精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
Apple MCP Server

Apple MCP Server

通过 MCP 协议与 Apple 应用(如“信息”、“备忘录”和“通讯录”)进行交互,从而使用自然语言发送消息、搜索和打开应用内容。

精选
本地
TypeScript