Skip to main content

markitdown-directory-mcp

An MCP server that converts local files to Markdown, built on the markitdown library. Designed for AI chat clients such as Cherry Studio: ask the model to convert a file by name, and the Markdown content is returned right into the conversation for the model to interpret.

Tools

  • convert_file_to_markdown(file, max_chars) — convert ONE file (docx, pptx, xlsx, pdf, html, csv, txt, ...) to Markdown, write a sibling "<name>.md" file next to the source, and return the Markdown content directly. Prefer this when the user names a specific file.
  • convert_directory_to_markdown(directory, recursive, max_files) — batch convert EVERY supported file in a directory tree, writing sibling "<name>.md" files, and return a JSON summary (converted / skipped / failed).
  • read_markdown_file(path, start_char, max_chars) — read a generated .md file back, with paging for large files.

Image files (png, jpg, ...) are never converted — no image data ends up in the Markdown output — and files that are already Markdown are passed through.

Default directory

Set the environment variable MARKITDOWN_DEFAULT_DIR to a folder and the tools resolve bare file names against it (including a recursive exact-name fallback search), so users can just say report.docx instead of a full path.

Running

stdio (what most chat clients expect):

markitdown-directory-mcp

Over the network (SSE or streamable HTTP):

markitdown-directory-mcp --transport sse --host 0.0.0.0 --port 3001
# endpoints: http://<host>:3001/sse   (SSE)
#            http://<host>:3001/mcp   (streamable-http transport)

For LAN access, optionally pass e.g. --allowed-host '192.168.1.26:*' to keep DNS rebinding protection enabled for that host; without it the protection is disabled (with a warning) so remote Host headers are accepted. The server has no authentication — only expose it on networks you trust.

Client configuration

With uv installed, no manual installation is needed — point the client at PyPI via uvx:

{
  "mcpServers": {
    "markitdown-directory": {
      "command": "uvx",
      "args": ["markitdown-directory-mcp"],
      "env": {
        "MARKITDOWN_DEFAULT_DIR": "C:\\Users\\you\\Documents"
      }
    }
  }
}

Or install into an environment yourself and run the console script:

pip install markitdown-directory-mcp
markitdown-directory-mcp

Metadata

Release files for markitdown-directory-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for markitdown-directory-mcp 0.1.0
File Size Uploaded
markitdown_directory_mcp-0.1.0.tar.gz 8.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for markitdown-directory-mcp 0.1.0
File Interpreter ABI Platform
markitdown_directory_mcp-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 17.6 kB

Release files / markitdown_directory_mcp-0.1.0.tar.gz

Download URL markitdown_directory_mcp-0.1.0.tar.gz
Size 8.8 kB
Tags Source
SHA-256 checksum
How to use checksums
775f8b5f1a024546bba7bd8f463fdeb0f41747d08e35e3763d4189280580b6e4
BLAKE2b-256 checksum
How to use checksums
977460d770d7e1449b584d5837b9c1f6c06ceb98b200fedc9e870d48db00252e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / markitdown_directory_mcp-0.1.0-py3-none-any.whl

Download URL markitdown_directory_mcp-0.1.0-py3-none-any.whl
Size 8.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
42b36207da1e07c7bbcdad0f06a5809dec64de589d75121b3e8fca53b4762871
BLAKE2b-256 checksum
How to use checksums
e2815b395672d9c8e29c20b24ecf3c7ac01b54be7145876ea527ac69ccd48d4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page