← Explore all mcp servers

DOCUMENT CONVERSION / Microsoft

MarkItDown MCP

Converts supported documents and web resources into Markdown through a local MCP tool.

“An MCP server for the "markitdown" library.”

01 / THE REASONING

Why this made the selection.

  • Provides document ingestion across office files, PDFs and web resources without requiring a separate MCP server for each format.
  • Its small tool surface is inspectable: conversion returns Markdown rather than offering a general file-editing API.

02 / THE REVIEW RECORD

What we actually inspected.

Source review has boundaries.
A clear record is more useful than a “safe” badge.

Material inspected

  • packages/markitdown-mcp/README.md: installation, local transports and access warnings.
  • packages/markitdown-mcp/pyproject.toml: Python requirement, dependency bundle and console script.
  • packages/markitdown-mcp/src/markitdown_mcp/__main__.py: conversion tool, transport selection and plugin setting.
  • README.md and packages/markitdown/src/markitdown/_markitdown.py: conversion scope and resource-access boundary.
  • LICENSE: MIT terms.

Our findings

  • convert_to_markdown passes the supplied URI to MarkItDown.convert_uri and returns the Markdown result; file and network permissions remain those of the server process.
  • Plugins are disabled unless MARKITDOWN_ENABLE_PLUGINS is explicitly enabled.
  • The HTTP entrypoint defaults to loopback and warns that exposing it gives reachable clients the server user’s file and network access.

Not established by this review

  • No server was started and no documents, URLs, plugins or conversion accuracy were tested.

The review applies to the material and revision named here. A newer upstream release can change its behavior.

03 / PUT IT TO WORK

Connect a server deliberately.

Upstream setup instructions ↗

DOCUMENTED COMMAND

pip install markitdown-mcp

Copying does not execute this command. It may retrieve a newer version than the reviewed source.

  1. Install in an appropriate Python environment, then configure your MCP client to start markitdown-mcp for stdio.
  2. For the documented local HTTP alternative, run markitdown-mcp --http --host 127.0.0.1 --port 3001 and use a supported local transport.
  3. Restrict the process permissions, mounted files and allowed inputs to the documents you intend to convert.

Before you start

  • Python satisfying the package requirement and pip; the package installs its declared conversion dependencies.
  • Read access to selected local documents or network access to the intended URLs.

04 / FOLLOW THE EVIDENCE

The source trail.

Our notes are separate from the original resource.
Check upstream before adopting a new version.

  1. https://github.com/microsoft/markitdown/blob/d51937de3aca315febea3fa8b2eea50ef088e74a/packages/markitdown-mcp/README.md

    Supports: summary, whySelected, bestFor, install, compatibility, transports, limitations, access

  2. Python package manifest ↗Checked

    https://github.com/microsoft/markitdown/blob/d51937de3aca315febea3fa8b2eea50ef088e74a/packages/markitdown-mcp/pyproject.toml

    Supports: upstreamDescription, descriptionSourceUrl, language, install.prerequisites, review

  3. https://github.com/microsoft/markitdown/blob/d51937de3aca315febea3fa8b2eea50ef088e74a/packages/markitdown-mcp/src/markitdown_mcp/__main__.py

    Supports: review, transports, access, limitations

  4. https://github.com/microsoft/markitdown/blob/d51937de3aca315febea3fa8b2eea50ef088e74a/README.md

    Supports: summary, bestFor, whySelected, limitations, access

  5. https://github.com/microsoft/markitdown/blob/d51937de3aca315febea3fa8b2eea50ef088e74a/packages/markitdown/src/markitdown/_markitdown.py

    Supports: review, access

  6. Repository licence ↗Checked

    https://github.com/microsoft/markitdown/blob/d51937de3aca315febea3fa8b2eea50ef088e74a/LICENSE

    Supports: license, access.cost