mcp-pandoc-ts: A Document Conversion MCP Server (TypeScript/Host Service Version)

mcp-pandoc-ts: A Document Conversion MCP Server (TypeScript/Host Service Version)

site icon
2025.04.07 0
TypeScript文档转换格式转换内容生成
mcp-pandoc-ts 是一个基于 TypeScript 的文档转换 MCP 服务器,采用双组件架构,能够在容器环境中运行并通过 stdio 接收 MCP 请求。它利用主机上的 pandoc 工具进行文档格式转换,支持 Markdown、HTML、PDF、DOCX、TXT 等多种格式的转换。该服务适用于需要在容器化环境中进行文档格式转换的场景,如 LibreChat 等应用。
View on GitHub

Overview

基本能力

产品定位

mcp-pandoc-ts 是一个文档转换服务,旨在通过 MCP 协议提供灵活的文档格式转换能力,特别适用于容器化环境。

核心功能

  1. 文档格式转换:支持 Markdown、HTML、PDF、DOCX、TXT 等多种格式的转换。
  2. 双组件架构
  3. mcp-pandoc-ts:运行在容器中的 TypeScript MCP 服务器。
  4. pandoc-host-service:运行在主机上的 Python Flask 服务,负责执行实际的 pandoc 命令。
  5. 灵活配置:通过环境变量 PANDOC_HOST_URL 配置主机服务的 URL。

适用场景

  1. 容器化应用中的文档格式转换。
  2. 需要将文档从一种格式转换为另一种格式的自动化流程。
  3. 集成到支持 MCP 协议的应用中,如 LibreChat。

工具列表

  1. convert-contents
  2. 功能:将内容从一种格式转换为另一种格式。
  3. 支持格式markdown, html, pdf, docx, rst, latex, epub, txt
  4. 输入参数contents(必填)、input_format(可选)、output_format(可选)、output_file(可选)。

常见问题解答

  1. 如何配置主机服务 URL?
  2. 通过环境变量 PANDOC_HOST_URL 配置,或在 .env 文件中设置。
  3. 支持哪些输入格式?
  4. 目前仅支持 contents 输入,不支持 input_file
  5. 如何调试?
  6. 确保主机服务运行,并检查 PANDOC_HOST_URL 是否正确配置。

使用教程

使用依赖

主机环境(运行 pandoc-host-service): 1. Python 3.7+ 2. pip 3. Pandoc 4. TeX Live / MiKTeX(如需 PDF 输出)

容器环境(运行 mcp-pandoc-ts): 1. Node.js 16+ 2. npm 或 yarn 3. 主机服务的网络连接 4. 配置 PANDOC_HOST_URL

安装教程

步骤 1:设置并运行主机服务 (pandoc-host-service)

python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -r requirements.txt
chmod +x run_host_service.sh
./run_host_service.sh

步骤 2:设置并运行容器服务 (mcp-pandoc-ts)

npm install
npm run build
npm start

调试方式

  1. 确保主机服务正在运行。
  2. 检查 PANDOC_HOST_URL 是否正确配置。
  3. 运行容器服务并查看日志输出。
node dist/server.js

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。