Pandoc MCP Server

Pandoc MCP Server

site icon
2025.04.06 1
Python文档转换文件处理内容生成
Pandoc MCP Server 是一个基于 Python 的 MCP(Model Context Protocol)服务器,提供强大的文档转换功能。它支持多种格式之间的转换,如 Markdown、DOCX、HTML、PDF、EPUB 等。该服务器旨在与 MCP 客户端(如 LangChain/LangGraph 代理)集成,为 AI 代理提供文档转换服务。
View on GitHub

Overview

基本能力

产品定位

Pandoc MCP Server 是一个文档转换服务,旨在为 AI 代理和开发者提供高效、灵活的文档格式转换能力。

核心功能

  • 提供 convert_document 工具,支持多种文档格式的转换。
  • 支持广泛的输入和输出格式,包括 Markdown、DOCX、HTML、PDF、EPUB 等。
  • 允许指定输入格式(如果自动检测失败)和输出格式。
  • 支持传递额外的命令行参数给 Pandoc,以实现高级控制(如目录、PDF 边距、独立文件等)。
  • 提供 Docker 配置,便于容器化部署,包含 Pandoc 和必要的 LaTeX 组件。

适用场景

  • AI 代理需要将文档从一种格式转换为另一种格式的场景。
  • 开发者需要集成文档转换功能的应用程序。
  • 需要批量处理文档格式转换的任务。

工具列表

  • convert_document: 将文档从一种格式转换为另一种格式。
  • 参数:
    • input_file_path(必需): 输入文档的路径。
    • output_file_path(必需): 输出文档的路径。
    • to_format(必需): 目标格式。
    • from_format(可选): 输入格式。
    • extra_args(可选): 额外的 Pandoc 命令行参数。
  • 返回:转换成功或错误消息。

常见问题解答

  • 如何解决输入文件路径问题?确保路径在服务器可访问的范围内,如果是 Docker 运行,路径应为容器内的路径(如 /data/my_doc.docx)。
  • 如何指定输出格式?通过 to_format 参数指定目标格式(如 'pdf', 'html')。
  • 如何传递额外的 Pandoc 参数?通过 extra_args 参数传递(如 ['--toc'])。

使用教程

使用依赖

  • Docker(推荐)或手动安装 Python、Pandoc 和 LaTeX。

安装教程

通过 Smithery 安装

npx -y @smithery/cli install @MaitreyaM/file-converter-mcp --client claude

通过 Docker 运行(推荐)

  1. 安装 Docker Desktop。
  2. 克隆仓库:
git clone https://github.com/your-username/pandoc-mcp-server.git
cd pandoc-mcp-server
  1. 构建 Docker 镜像:
docker build -t pandoc-converter-server .
  1. 运行容器:
docker run -it --rm -p 8000:8000 -v "$(pwd)":/data pandoc-converter-server

本地运行

  1. 安装 Python >= 3.10、Pandoc 和 LaTeX。
  2. 克隆仓库:
git clone https://github.com/your-username/pandoc-mcp-server.git
cd pandoc-mcp-server
  1. 创建虚拟环境:
python -m venv venv
source venv/bin/activate  # Linux/macOS
# venv\Scripts\activate  # Windows
  1. 安装依赖:
pip install -r requirements.txt
  1. 运行服务器:
python pandoc_mcp_server.py

调试方式

  • 确保服务器运行后,监听 http://127.0.0.1:8000/sse
  • 配置 MCP 客户端连接到 http://127.0.0.1:8000/sse
  • 使用 convert_document 工具进行文档转换测试。

许可证

该项目遵循 MIT 开源许可条款。