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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file markitdown_directory_mcp-0.1.0.tar.gz.
File metadata
- Download URL: markitdown_directory_mcp-0.1.0.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
775f8b5f1a024546bba7bd8f463fdeb0f41747d08e35e3763d4189280580b6e4
|
|
| MD5 |
b3cd580afb52d6c13d1d126bc9f9fb1d
|
|
| BLAKE2b-256 |
977460d770d7e1449b584d5837b9c1f6c06ceb98b200fedc9e870d48db00252e
|
File details
Details for the file markitdown_directory_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: markitdown_directory_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
42b36207da1e07c7bbcdad0f06a5809dec64de589d75121b3e8fca53b4762871
|
|
| MD5 |
44e541af3d95255399b58a7b1471452c
|
|
| BLAKE2b-256 |
e2815b395672d9c8e29c20b24ecf3c7ac01b54be7145876ea527ac69ccd48d4f
|