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

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 协议提供灵活的文档格式转换能力,特别适用于容器化环境。
核心功能
- 文档格式转换:支持 Markdown、HTML、PDF、DOCX、TXT 等多种格式的转换。
- 双组件架构:
mcp-pandoc-ts
:运行在容器中的 TypeScript MCP 服务器。pandoc-host-service
:运行在主机上的 Python Flask 服务,负责执行实际的 pandoc 命令。- 灵活配置:通过环境变量
PANDOC_HOST_URL
配置主机服务的 URL。
适用场景
- 容器化应用中的文档格式转换。
- 需要将文档从一种格式转换为另一种格式的自动化流程。
- 集成到支持 MCP 协议的应用中,如 LibreChat。
工具列表
convert-contents
:- 功能:将内容从一种格式转换为另一种格式。
- 支持格式:
markdown
,html
,pdf
,docx
,rst
,latex
,epub
,txt
。 - 输入参数:
contents
(必填)、input_format
(可选)、output_format
(可选)、output_file
(可选)。
常见问题解答
- 如何配置主机服务 URL?
- 通过环境变量
PANDOC_HOST_URL
配置,或在.env
文件中设置。 - 支持哪些输入格式?
- 目前仅支持
contents
输入,不支持input_file
。 - 如何调试?
- 确保主机服务运行,并检查
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
调试方式
- 确保主机服务正在运行。
- 检查
PANDOC_HOST_URL
是否正确配置。 - 运行容器服务并查看日志输出。
node dist/server.js