mcp-pandoc

MIT License
104
  • Apple

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Integrates with GitHub for issue tracking and contributions, with references to the GitHub Issues page for bug reports and feature requests.

  • Enables conversion of content to and from LaTeX format, preserving formatting and structure when transforming documents.

  • Provides specific installation and configuration instructions for macOS users, including TeX Live installation via Homebrew.

mcp-pandoc:文档转换 MCP 服务器

正式纳入模型上下文协议服务器开源项目。🎉

概述

使用pandoc进行文档格式转换的模型上下文协议服务器。该服务器提供在不同文档格式之间转换内容的工具,同时保留格式和结构。

请注意,mcp-pandoc 目前处于早期开发阶段。PDF 支持正在开发中,随着我们不断改进服务器,其功能和可用工具可能会有所变更和扩展。

来源:该项目使用Pandoc Python 包进行文档转换,为该项目奠定了基础。

演示

🎥在 YouTube 上观看

更多内容即将推出...

工具

  1. convert-contents
    • 在支持的格式之间转换内容
    • 输入:
      • contents (字符串):要转换的源内容(如果未提供 input_file,则需要)
      • input_file (字符串):输入文件的完整路径(如果未提供内容则需要)
      • input_format (字符串):内容的源格式(默认为 markdown)
      • output_format (字符串):目标格式(默认为 markdown)
      • output_file (字符串):输出文件的完整路径(pdf、docx、rst、latex、epub 格式必需)
    • 支持的输入/输出格式:
      • 降价
      • html
      • PDF
      • docx
      • 第一
      • 乳胶
      • 电子书
      • TXT
    • 注意:对于高级格式(pdf、docx、rst、latex、epub),需要 output_file 路径

支持的格式

目前支持的格式:

基本格式(直接转换):

  • 纯文本(.txt)
  • Markdown(.md)
  • HTML(.html)

高级格式(需要完整的文件路径):

  • PDF(.pdf)- 需要安装 TeX Live
  • DOCX(.docx)
  • RST(.rst)
  • LaTeX(.tex)
  • EPUB(.epub)

注意:对于高级格式:

  1. 需要包含文件名和扩展名的完整文件路径
  2. PDF 转换需要安装 TeX Live (请参阅关键要求部分 -> 对于 macOS: brew install texlive
  3. 当未指定输出路径时:
    • 基本格式:在聊天中显示转换后的内容
    • 高级格式:可以保存在系统临时目录中(Unix 系统上为 /tmp/)

使用和配置

使用已发布的

{ "mcpServers": { "mcp-pandoc": { "command": "uvx", "args": ["mcp-pandoc"] } } }

⚠️ 重要提示

关键要求

  1. PDF 转换前提条件
    • 尝试 PDF 转换之前必须安装 TeX Live
    • 安装命令:
      # Ubuntu/Debian sudo apt-get install texlive-xetex # macOS brew install texlive # Windows # Install MiKTeX or TeX Live from: # https://miktex.org/ or https://tug.org/texlive/
  2. 文件路径要求
    • 保存或转换文件时,必须提供完整的文件路径,包括文件名和扩展名
    • 该工具不会自动生成文件名或扩展名

示例

✅正确用法:

# Converting content to PDF "Convert this text to PDF and save as /path/to/document.pdf" # Converting between file formats "Convert /path/to/input.md to PDF and save as /path/to/output.pdf"

❌ 错误用法:

# Missing filename and extension "Save this as PDF in /documents/" # Missing complete path "Convert this to PDF" # Missing extension "Save as /documents/story"

常见问题和解决方案

  1. PDF转换失败
    • 错误:“未找到 xelatex”
    • 解决方案:首先安装 TeX Live(参见上面的安装命令)
  2. 文件转换失败
    • 错误:“文件路径无效”
    • 解决方案:提供包括文件名和扩展名的完整路径
    • 例如: /path/to/document.pdf而不仅仅是/path/to/
  3. 格式转换失败
    • 错误:“不支持的格式”
    • 解决方案:仅使用支持的格式:
      • 基础:txt、html、markdown
      • 高级:pdf、docx、rst、latex、epub

快速入门

安装

选项 1:通过 claude_desktop_config.json 配置文件手动安装

  • 在 MacOS 上: open ~/Library/Application\ Support/Claude/claude_desktop_config.json
  • 在 Windows 上: %APPDATA%/Claude/claude_desktop_config.json

ℹ️ 替换为你本地克隆的项目路径

"mcpServers": { "mcp-pandoc": { "command": "uv", "args": [ "--directory", "<DIRECTORY>/mcp-pandoc", "run", "mcp-pandoc" ] } }
"mcpServers": { "mcp-pandoc": { "command": "uvx", "args": [ "mcp-pandoc" ] } }

选项 2:通过 Smithery 自动安装已发布的服务器配置

运行以下 bash 命令通过Smithery自动为 Claude Desktop 安装已发布的mcp-pandoc pypi

npx -y @smithery/cli install mcp-pandoc --client claude

注意:要使用本地配置的 mcp-pandoc,请按照上面的“开发/未发布的服务器配置”步骤进行操作。

发展

构建和发布

准备分发包:

  1. 同步依赖项并更新锁文件:
uv sync
  1. 构建软件包分发版:
uv build

这将在dist/目录中创建源和轮子分布。

  1. 发布到 PyPI:
uv publish

注意:您需要通过环境变量或命令标志设置 PyPI 凭据:

  • 令牌: --tokenUV_PUBLISH_TOKEN
  • 或用户名/密码: --username / UV_PUBLISH_USERNAME--password / UV_PUBLISH_PASSWORD

调试

由于 MCP 服务器通过 stdio 运行,调试起来可能比较困难。为了获得最佳调试体验,我们强烈建议使用MCP Inspector

您可以使用以下命令通过npm启动 MCP Inspector:

npx @modelcontextprotocol/inspector uv --directory /Users/vivekvells/Desktop/code/ai/mcp-pandoc run mcp-pandoc

启动后,检查器将显示一个 URL,您可以在浏览器中访问该 URL 以开始调试。


贡献

欢迎为 mcp-pandoc 的改进做出贡献!您可以按照以下方式参与:

  1. 报告问题:发现错误或有功能请求?请在我们的GitHub 问题页面上提交问题。
  2. 提交拉取请求:通过创建拉取请求来改进代码库或添加功能。

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

MCP 服务器使用 Pandoc 进行无缝文档格式转换,支持 Markdown、HTML、PDF、DOCX (.docx)、csv 等。

  1. Overview
    1. Demo
      1. Tools
        1. Supported Formats
      2. Usage & configuration
        1. ⚠️ Important Notes
      3. Quickstart
        1. Install
      4. Development
        1. Building and Publishing
        2. Debugging
      5. Contributing
        ID: xyzzgaj9bk