Token导航 LogoToken导航TokenDH.com
FILE CONVERTER MCP logo
开发工具stdio官方级别未说明来源级核验

FILE CONVERTER MCP

MCP Server

@smithery/cli

A Python-based MCP (Model Context Protocol) server powered by FastMCP that leverages Pandoc for flexible document conversion between various formats (Markdown, DOCX, PDF, HTML, etc.), designed for use with AI agents like Claude. Includes Docker configuration for easy deployment.

工具数

0

提示词数

0

GitHub Stars

7

资源数

0
文档转换多格式支持PythonClaude文件处理Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

MaitreyaM

提供方

MaitreyaM

最后核验

2026/5/18 02:17

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

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

详细介绍

Pandoc MCP服务器

![License: MIT](https://opensource.org/licenses/MIT) ](https://smithery.ai/server/@MaitreyaM/file-converter-mcp)

基于Python的MCP(模型上下文协议)服务器,通过Pandoc提供强大的文档转换功能。该服务器允许AI代理(如Claude通过LangChain/LangGraph)请求各种格式之间的文件转换,如Markdown、DOCX、HTML、PDF、EPUB等。

本项目使用:

  • FastMCP: 一个用于轻松创建MCP服务器的Python库。
  • 皮潘多克: Pandoc命令行工具周围的Python包装器。
  • Pandoc: 通用文档转换器。
  • (可选)Docker: 对于容器化部署,绑定所有依赖项(Python、Pandoc、LaTeX)。

特性

  • 显示单个MCP工具: convert_document.
  • 支持Pandoc处理的各种输入和输出格式。
  • 允许指定输入格式(如果自动检测失败)和输出格式。
  • 支持向Pandoc传递额外的命令行参数以进行高级控制(例如,目录、PDF边距、独立文件)。
  • 包括Docker配置(Dockerfile)用于创建一个自包含的服务器环境,包括Pandoc和用于PDF生成的必要LaTeX组件。
  • 专为与MCP客户端集成而设计,特别是LangChain/LangGraph代理。

暴露的MCP工具

convert_document

使用Pandoc将文档从一种格式转换为另一种格式。

论据:

  • input_file_path (str, 必需的):路径 *可由服务器访问* 到输入文档文件。如果在Docker中运行卷挂载,这应该是路径 *集装箱内* (例如。, /data/my_doc.docx).
  • output_file_path (str, 必需的):路径 *可由服务器访问* 转换后的输出文件应保存在何处。如果在Docker中运行,这应该是路径 *集装箱内* (例如。, /data/my_output.pdf).如果该目录不存在于服务器的可访问文件系统中,则将创建该目录。
  • to_format (str, 必需的):转换的目标格式(例如,“markdown”、“docx”、“pdf”、“html”、“rst”、“epub”)。看 Pandoc文档 查看完整列表(--list-output-formats).
  • from_format (str, *可选的*):输入文件的格式。如果 None,pandoc将尝试从文件扩展名中猜测。指定扩展名是否不明确或缺失(例如,“md”、“docx”、“html”)。默认为 None.
  • extra_args (列表\[str\], *可选的*):直接传递给pandoc的附加命令行参数列表(例如。, ['--toc'], ['-V', 'geometry:margin=1.5cm'], ['--standalone']).默认为 None.

退货:

  • (str):表示成功的消息(例如,“已成功将文档转换为'/data/my_output.pdf'”)或错误消息(例如:“错误:找不到输入文件…”,“转换过程中出错:Pandoc死亡…”)。

设置和运行

您可以在本地运行此服务器(需要手动安装依赖项),也可以使用提供的Docker配置(为便于使用和部署,建议使用)。

通过Smithery安装

通过以下方式自动安装克劳德桌面版Pandoc文档转换器 史密瑟里:

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

选项1:使用Docker运行(推荐)

此方法将Python、Pandoc、LaTeX和所需库捆绑到一个容器中。 你只需要在本地安装Docker Desktop。

  1. 安装Docker: 下载并安装 对于您的操作系统。启动Docker桌面。
  2. 克隆存储库: 获取项目文件:
   git clone https://github.com/your-username/pandoc-mcp-server.git # Replace with your repo URL
   cd pandoc-mcp-server
  1. 构建Docker镜像: 此命令使用以下命令构建映像 Dockerfile。它在映像中安装Pandoc、一个功能强大的TeX Live发行版(用于PDF支持)和Python依赖项。第一次执行此步骤可能需要几分钟。
   docker build -t pandoc-converter-server .
  1. 运行容器: 这将启动容器内的服务器。

- 在主机上选择一个目录 与输入/输出文件的容器共享(例如当前项目目录)。 - 运行容器,将主机目录映射到 /data 在集装箱内部和映射端口8000。 替换 /path/to/your/local/project 使用计算机上项目目录的实际绝对路径。

   # Example using the current directory (.) as the host path:
   docker run -it --rm -p 8000:8000 -v "$(pwd)":/data pandoc-converter-server

   # Or using an absolute path (replace):
   # docker run -it --rm -p 8000:8000 -v "/path/to/your/local/project":/data pandoc-converter-server

- -it:以交互方式运行(显示日志,允许Ctrl+C)。 - --rm:停止时移除容器。 - -p 8000:8000:将主机上的端口8000映射到容器中的端口8000。 - -v "$(pwd)":/data:将主机上的当前工作目录装载到 /data 在容器内。放置在本地项目目录中的文件将显示在 /data 在容器内,文件保存到 /data 由服务器执行的命令将显示在您的本地项目目录中。 - pandoc-converter-server:您创建的图像的名称。

  1. 服务器正在运行: 您应该看到指示服务器已启动并正在SSE上侦听的日志(http://0.0.0.0:8000).它已准备好接受来自MCP客户端(如LangChain代理)的连接。
  2. 从客户端连接: 配置您的MCP客户端(例如。, MultiServerMCPClient)要连接到 http://127.0.0.1:8000/sse 随着 transport: "sse".
  3. 使用工具: 与代理/客户端交互时,请使用文件的路径引用文件 *集装箱内*,前缀为 /data/例如: convert /data/my_input.docx to pdf at /data/my_output.pdf。由于卷映射,输出文件将出现在本地项目目录中。

选项2:本地运行(手动依赖安装)

这要求您将Python、Pandoc和LaTeX发行版直接安装到主机上。

  1. 安装Python: 确保您已安装Python>=3.10。
  2. 安装Pandoc: 为您的操作系统安装Pandoc命令行工具。请遵循以下说明 pandoc.org/installing.html.通过运行验证 pandoc --version 在一个新的终端。
  3. 安装LaTeX: 要生成PDF,请安装TeX发行版。

- macOS: brew install --cask mactex-no-gui (通过Homebrew推荐) - Debian/Ubuntu: sudo apt-get update && sudo apt-get install texlive-latex-base texlive-fonts-recommended texlive-latex-extra texlive-fonts-extra (或 texlive-full 一切,但大)。 - 窗户: 安装 MiKTeXTeX直播.确保 bin 目录包含 pdflatex.exe 已添加到系统的PATH中。 - 通过运行验证 pdflatex --version 在一个新的终端。

  1. 克隆存储库:
   git clone https://github.com/your-username/pandoc-mcp-server.git # Replace with your repo URL
   cd pandoc-mcp-server
  1. 创建虚拟环境(推荐):
   python -m venv venv
   source venv/bin/activate # Linux/macOS
   # venv\Scripts\activate # Windows

*(或使用Conda: conda create --name pandoc-env python=3.11 && conda activate pandoc-env)*

  1. 安装Python依赖项:
   pip install -r requirements.txt
  1. 运行服务器:
   python pandoc_mcp_server.py
  1. 服务器正在运行: 它会继续听 http://127.0.0.1:8000/sse.
  2. 从客户端连接: 配置您的MCP客户端以连接到 http://127.0.0.1:8000/sse.
  3. 使用工具: 使用本地计算机上的常规路径参考文件(例如。, convert my_input.docx to pdf at my_output.pdf,假设文件位于同一目录中,或使用绝对路径)。

代理交互示例(在Docker中运行服务器)

假设服务器容器正在运行卷装载:

You: convert /data/report.md to pdf

Agent: Thinking...
[Agent calls convert_document tool with input='/data/report.md', output='/data/report.pdf', to='pdf']
Agent: Successfully converted document to '/data/report.pdf'
[The bot may then attempt to upload report.pdf from the local project directory]

文件

  • pandoc_mcp_server.py:MCP服务器的主要Python脚本。
  • Dockerfile:构建Docker容器镜像的说明。
  • requirements.txt:Docker容器(或本地venv)内需要Python依赖项。
  • .gitignore:指定Git有意不跟踪的文件。
  • README.md:这个文件。

贡献

欢迎投稿!请随时提交拉取请求或打开问题。

目录标签

目录标签

文档转换多格式支持PythonClaude文件处理developer-tools本地部署Pandoc集成MCP协议

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@smithery/cli

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP