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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

markitdown_directory_mcp-0.1.0.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

markitdown_directory_mcp-0.1.0-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

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

Hashes for markitdown_directory_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 775f8b5f1a024546bba7bd8f463fdeb0f41747d08e35e3763d4189280580b6e4
MD5 b3cd580afb52d6c13d1d126bc9f9fb1d
BLAKE2b-256 977460d770d7e1449b584d5837b9c1f6c06ceb98b200fedc9e870d48db00252e

See more details on using hashes here.

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

Hashes for markitdown_directory_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 42b36207da1e07c7bbcdad0f06a5809dec64de589d75121b3e8fca53b4762871
MD5 44e541af3d95255399b58a7b1471452c
BLAKE2b-256 e2815b395672d9c8e29c20b24ecf3c7ac01b54be7145876ea527ac69ccd48d4f

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 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