# vivekvells/mcp-pandoc [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/vivekVells/mcp-pandoc  
**GitHub Stars:** 580  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/vivekvells-mcp-pandoc

## Description
MCP server for seamless document format conversion using Pandoc, supporting Markdown, HTML, PDF, DOCX (.docx), csv and more.

## Tools
Capabilities this server exposes over MCP:

- **contents**
- **input_file**
- **input_format**
- **output_format**
- **output_file**
- **reference_doc**
- **defaults_file**
- **filters**

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

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

## Documentation

## What vivekvells/mcp-pandoc MCP server does

vivekvells/mcp-pandoc MCP server connects an MCP client to Pandoc for document format conversion. The conversion tool can work from raw text supplied in `contents` or from a complete input-file path. Callers specify the source and destination formats, with Markdown used as the default input and output format when those values are not provided.

The server supports reading and writing Markdown, HTML, DOCX, ODT, RST, LaTeX, EPUB, IPYNB, and TXT. PDF and PPTX are write-only in the documented interface: the server can produce them but does not accept them as input. Basic-format results can be returned inline, while advanced output formats require an output path according to the tool documentation.

## How it works

The MCP tool named `convert-contents` receives conversion parameters and passes the work to Pandoc through the project’s Python package foundation. Its inputs include `contents`, `input_file`, `input_format`, `output_format`, `output_file`, `reference_doc`, `defaults_file`, and `filters`.

Use `reference_doc` when generating DOCX, ODT, or PPTX and applying styles from a template. The reference document must use the same format as the requested output. A YAML defaults file can hold reusable Pandoc options such as metadata, a table of contents, or section numbering. Filter paths can also be supplied as an array for custom processing.

## Setup and configuration

The published package can be launched with `uvx mcp-pandoc` in an MCP client configuration. The server itself does not document credential or API-key configuration. Pandoc must be installed separately because it is the conversion engine. PDF output additionally requires a TeX Live installation.

A typical MCP configuration uses the `uvx` command with `mcp-pandoc` as its argument. Input and output paths should be complete paths with filenames and extensions when working with advanced formats. If an advanced conversion has no output path, the documentation notes that a temporary system path may be used.

## Tools and capabilities

The documented conversion inputs provide these capabilities:

- Convert inline content or a file between supported formats.
- Select source and target formats explicitly.
- Write DOCX, ODT, PDF, PPTX, RST, LaTeX, and EPUB results to files.
- Apply a matching reference document for DOCX, ODT, and PPTX styling.
- Reuse conversion settings from a Pandoc YAML defaults file.
- Run specified Pandoc filters during conversion.

## Limitations and notes

PDF cannot be read by Pandoc and is available only as an output format here. PPTX input is also not offered by this project, while PPTX output is supported. PDF generation depends on TeX Live, and the README identifies PDF support as still under development. The project is described as early development, so available behavior and tools may change.

vivekvells/mcp-pandoc MCP server does not define a minimum Pandoc version in the supplied material. Its format support therefore also depends on the installed Pandoc environment and the requirements of the requested output format.

_Full upstream README: https://allmcps.com/mcp/vivekvells-mcp-pandoc/readme_

