Markdownify MCP Server: PPTX, PDF, HTML to Markdown
Convert PPTX, PDF, HTML, YouTube transcripts and more to Markdown with the MCP server for fast, reliable multi-format conversion.
npx -y @zcaceres/mcp-markdownify-serverOverview
Markdownify MCP Server is a lightweight Model Context Protocol (MCP) server that converts a variety of input media into clean, structured Markdown. It is designed for developers and teams that need to transform slide decks (PPTX), PDFs, HTML pages, YouTube transcripts and similar content into Markdown for documentation, search indexing, or AI context windows. The server focuses on reliable, repeatable extraction: preserving headings, slide/section boundaries, speaker notes, and embedded images as separate assets.
Running as a standalone HTTP service, the server accepts uploads or remote URLs and returns Markdown plus optional extracted resources (images, attachments, metadata). This makes it easy to integrate the conversion step into pipelines that prepare training/response context for language models, generate static documentation, or migrate content into CMSs and knowledge bases.
Features
- Convert PPTX, PDF, and HTML to Markdown with preserved structure (titles, lists, paragraphs).
- Extract slide-level data: titles, speaker notes, and slide-level images for PPTX.
- Pull YouTube transcripts (when available) and render them as time-stamped Markdown.
- Accept both file uploads and remote URLs.
- Return Markdown with accompanying assets (images, attachments) and metadata JSON.
- Lightweight HTTP API suitable for local deployment, CI/CD pipelines, or containerized environments.
- Configurable logging, concurrency limits, and temporary storage cleanup.
Installation / Configuration
The project can be run with Docker (recommended) or installed from source. Replace Using Docker (quick start) Install from source (if the repo provides a Python/Node package) Configuration (env vars or CLI) The server exposes an HTTP API that accepts either a file upload or a JSON body specifying a remote URL. Below are example requests—adapt the endpoint path to your deployed server. Upload a local file (curl) Send a remote URL to convert Python client example Responses typically include: Example workflow: nightly job downloads newly uploaded slide decks from a bucket, posts each file to the MCP server, receives Markdown + asset links, and commits the results to a documentation repo for CI publishing. For full implementation details, endpoint documentation, and advanced configuration, see the repository README and source code on GitHub.# Pull and run (example)
# Or build locally and run
# Python (example)
PORT=8080 # HTTP port to listen on
LOG_LEVEL=info # debug | info | warn | error
TMP_DIR=/tmp/mcp # temp file working directory
CONCURRENCY=4 # parallel conversion workers
KEEP_ASSETS=false # retain extracted images/assets after response
API — Quick Examples
=
=
Available Resources
Use Cases
Supported Input Formats (summary)
Input type Output behavior PPTX Slide headers, bullet lists, speaker notes, images as separate assets PDF Text extraction, page separation, inline images or assets HTML Converts DOM structure to headings, lists, links; extracts inline images YouTube Pulls available transcript, outputs time-stamped Markdown Generic URL Fetches and converts based on content type (HTML/PDF) Troubleshooting & Tips