Home/Developer Tools/markdownify-mcp
markdownify-mcp logo

markdownify-mcp

zcaceres/markdownify-mcp

A Model Context Protocol server for converting content into Markdown

GraphCanon updated 1mo · GitHub synced 1mo

2.9k stars242 forksLast push 1mo TypeScript MIT

Decision brief

markdownify-mcp is a TypeScript tool serving the Model Context Protocol for generating Markdown from various inputs.

Good fit when

  • Use markdownify-mcp if you specifically require the Model Context Protocol (MCP) approach to convert content into Markdown and are developing within a TypeScript environment.
  • If your project includes OCR data that needs conversion into structured Markdown, consider markdownify-mcp for its specialized handling of this task.

Avoid when

  • Avoid markdownify-mcp if you need an all-language support as the tool is specifically designed for TypeScript projects and may necessitate additional configuration in other language ecosystems.
  • Do not use markdownify-mcp when looking for a general text-to-Markdown converter that lacks the MCP framework integration, as this could lead to unnecessary complexity.
Pricing:
freemium - markdownify-mcp is free-to-use software distributed under the MIT License, making no charges beyond those associated with hosting its dependencies if applicable.

Observed Jul 16, 2026 · Source: enrich:decision_facts

Verify the decision

Adoption

Package downloads where a registry match exists. GitHub stars (2,889) are secondary evidence.

npm downloads (30d)
1,720·npm downloads API·1mo

Maintenance and security

Full trust report
Maintenance
Active (17d since push)
As of 1mo
Provenance
Not a fork · Personal account
As of 1mo
Security (OSV)
No lockfile
As of 1mo

Public GitHub metadata and optional OSV scans. Signals, not a guarantee. Trust methodology.

Install

npm install markdownify-mcp
npm

Similar tools

Same-category neighbours. No typed graph edges are catalogued for this tool yet.

Evidence and technical details

Sourced facts, taxonomy, compatibility claims, README excerpt, and machine-readable endpoints.

Overview

Converts various inputs to Markdown using the Model Context Protocol.

Capability facts

Deploy
Self-host

Source: dockerfile:Dockerfile · Jul 26, 2026

Docker
Dockerfile present

Source: dockerfile:Dockerfile · Jul 26, 2026

CLI
CLI entrypoint

Source: package.json:bin|scripts · Jul 26, 2026

MCP server
Ships MCP server

Source: package.json:@modelcontextprotocol/* · Jul 26, 2026

Languages
typescript, javascript, python

Source: github.language+package.json+pyproject.toml · Jul 26, 2026

Categories

Compatibility

Sourced claims from the README excerpt - not unsourced marketing copy.

Python runtimePython

Source: README excerpt (regex_v1, Jul 26, 2026)

The `preinstall` step creates a Python virtual environment at `.venv` and installs `markitdown[all]`.
Source link

Tags

README

Getting Started

  1. Clone this repository

  2. Install dependencies:

    bun install
    

    The preinstall step creates a Python virtual environment at .venv and installs markitdown[all].

  3. Build the project:

    bun run build
    
  4. Start the server:

    bun start
    

Usage with Docker

Build and run:

docker build -t markdownify-mcp .
docker run --rm -i \
  -v "$HOME/Documents:/data:ro" \
  -e MD_ALLOWED_PATHS=/data \
  markdownify-mcp

Notes for the Docker MCP catalog (mcp/markdownify):

  • Mount any host directories you want the server to read into the container, then pass the container paths to the tools (e.g. /data/foo.pdf, not /Users/you/Documents/foo.pdf).
  • Set MD_ALLOWED_PATHS to the colon-separated list of mounted directories so the server enforces a read boundary that matches the bind mount.
  • The published Docker image installs markitdown[pdf] only — audio transcription and image OCR (audio-to-markdown, image-to-markdown) require the [all] extras and will fail in the slim image. Use the local install (bun install) for the full feature set.

License

This project is licensed under the MIT License - see the LICENSE file for details.

For agents

This page has a .md twin and JSON over the API.

Was this helpful?

Anonymous feedback helps us improve pages and translations.