# microsoft/markitdown [Health: Active]

**Category:** 📂 File Systems  
**Repository:** https://github.com/microsoft/markitdown/tree/main/packages/markitdown-mcp  
**GitHub Stars:** 182147  
**Views:** 4  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/microsoft-markitdown

## Description
MCP tool access to MarkItDown -- a library that converts many file formats (local or remote) to Markdown for LLM consumption.

## Tools
Capabilities this server exposes over MCP:

- **convert_to_markdown** — Convert a resource described by an http:, https:, file: or data: URI to markdown

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

```json
"mcpServers": {
  "markitdown": {
    "command": "uvx",
    "args": ["markitdown-ocr"]
  }
}
```

## Documentation

## What microsoft/markitdown MCP server does

The microsoft/markitdown MCP server makes MarkItDown's conversion library available through MCP. It is intended to turn source resources into Markdown that downstream language-model and text-analysis workflows can consume. The conversion aims to retain useful structure such as headings, lists, tables, links, and document content, rather than producing only unstructured text.

Supported inputs include PDFs, Word and PowerPoint documents, Excel workbooks, images, audio, HTML, CSV, JSON, XML, ZIP archives, EPUBs, and YouTube URLs. The underlying library also supports additional formats and optional conversion features.

## How it works

The server exposes a single MCP tool, `convert_to_markdown`. Pass a resource identified by an `http:`, `https:`, `file:`, or `data:` URI. The server gives that resource to MarkItDown and returns the resulting Markdown representation.

Local files use the access rights of the process running the server. Remote resources are fetched with the same process-level access model. This makes the server suitable for agents that need to ingest documents without implementing separate parsers for each format, but callers should validate or restrict URI inputs when handling untrusted data.

## Tools and capabilities

`convert_to_markdown` is the documented MCP operation. It can provide Markdown conversion for:

- PDF, Word, PowerPoint, and Excel files
- Images, including EXIF metadata and OCR-related support
- Audio, including metadata and speech transcription where the relevant optional dependencies are installed
- HTML and text-oriented formats such as CSV, JSON, and XML
- ZIP archives by iterating through their contents
- YouTube URLs and EPUB files

MarkItDown can also use optional dependencies for specific formats. Its broader package supports plugins, Azure Document Intelligence, Azure Content Understanding, audio transcription, and YouTube transcription, but availability depends on the corresponding installation and configuration.

## Limitations and notes

The output is optimized for machine consumption and text analysis, not necessarily for pixel-accurate or presentation-quality document reproduction. Complex layouts, embedded content, OCR, transcription, and cloud-backed conversion may require additional optional dependencies or services.

The microsoft/markitdown MCP server inherits the I/O behavior of the underlying process. A URI can reach anything that process can access, so an untrusted caller may be able to request local or network resources unless inputs are sanitized and access is constrained. Use the narrowest conversion path available when integrating MarkItDown directly, such as stream- or local-file-specific functions; the MCP interface documented here accepts resource URIs.

The README requires Python 3.10 or newer for MarkItDown and recommends an isolated environment. It documents installing the core package with `pip install 'markitdown[all]'`, or selecting format-specific extras such as `pdf`, `docx`, or `pptx`. The provided material does not specify a separate command for launching the MCP server or identify particular MCP desktop clients.

_Full upstream README: https://allmcps.com/mcp/microsoft-markitdown/readme_

