home / mcp / mcp-pandoc server

mcp-pandoc Server

MCP server for document format conversion using pandoc.

Installation
Add the following to your MCP client configuration file.

Configuration

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

mcp-pandoc is a Model Context Protocol server that enables document format conversion using pandoc. It lets you transform content between formats like Markdown, HTML, DOCX, PDF, and more, while aiming to preserve structure and styling throughout the process.

How to use

You use this MCP server with an MCP client to convert documents between formats. Start by ensuring the server is running, then send content or provide a source file along with the desired output format. You can perform straightforward one-shot conversions (for example, Markdown to PDF) or chain multiple conversions as part of a larger document workflow. The server exposes conversion capabilities via standard MCP client interactions, and it supports both basic and advanced formats depending on your needs.

How to install

Prerequisites you need before you start are Pandoc for document conversion and the UV runtime for MCP clients.

Install Pandoc on your system to enable format conversions.

Install the UV runtime to run MCP servers and manage their lifecycle.

Configure and run the MCP server using the published stdio configuration options shown below. Choose one configuration and start it with your MCP client.

Startup configurations

The following startup configurations enable the mcp-pandoc server as an MCP endpoint. Use one that matches your environment.

Additional notes

This server is designed to be run locally or via an MCP management layer. For development, you can point the UV runner at your local copy of the server. For production, use a published MCP URL if available.

Example configurations

Two published stdio configurations are shown here. Each starts an mcp-pandoc instance under the UV runtime. Pick the one that fits your setup.

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

Development startup (unpublished)

For local development, run the server using a directory-based setup. This starts mcp-pandoc from a local directory using uv.

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

Notes on formats and usage

Pandoc handles a wide range of input and output formats. For complex formats like PDF, DOCX, RST, LaTeX, and EPUB, ensure you provide a complete output file path and have any required system tools (such as TeX Live for PDF) installed.

If you need to verify that the environment can perform conversions, test a simple Markdown to HTML conversion first and then expand to other formats.

Troubleshooting

If conversion fails, confirm that Pandoc is installed and available in your PATH, and that your UV runtime command includes the correct project name and arguments. For PDF conversions, confirm TeX Live is installed if you plan to generate PDFs.

Available tools

convert-contents

Transforms content between supported formats using pandoc, handling the input and output formats and file paths as configured.

mcp-inspector

Debugging tool to inspect MCP servers and interactions, launched via npm to provide an interface for diagnosing server behavior.

mcp-pandoc Server - vivekvells/mcp-pandoc