Skip to main content

MCP server for converting documents to Markdown format

Project description

doc2markdown MCP Server

An MCP (Model Context Protocol) server that converts various document formats to Markdown. Supports DOC/DOCX, PDF, PPTX, and more using the MarkItDown library.

Features

  • convert_to_markdown: Converts document files to Markdown format
    • Supports: .doc, .docx, .pdf, .pptx, .xlsx, .html, .txt, .rtf
    • Returns clean Markdown text

Installation

Option 1: Install from PyPI (recommended)

pip install doc2markdown-mcp

Option 2: Install from GitHub

pip install git+https://github.com/yourusername/doc2markdown.git

Option 3: Install from source

git clone https://github.com/yourusername/doc2markdown.git
cd doc2markdown
pip install .

Configuration

After installation, configure your MCP client to use the server.

Claude Desktop

Add to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "doc2markdown": {
      "command": "doc2markdown"
    }
  }
}

Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "doc2markdown": {
      "command": "doc2markdown"
    }
  }
}

Note: If you installed in a virtual environment, use the full path:

{
  "mcpServers": {
    "doc2markdown": {
      "command": "/path/to/your/venv/bin/doc2markdown"
    }
  }
}

Usage

Once configured, you can use the tool in your MCP-compatible client:

"Convert the document at /path/to/document.docx to markdown"

Available Tools

convert_to_markdown

Converts a document file to Markdown format.

Parameters:

  • file_path (string, required): The absolute or relative path to the document file to convert.

Supported Formats

Format Extension Support Level
Microsoft Word .doc, .docx ✅ Full
PDF .pdf ✅ Full
PowerPoint .pptx ✅ Full
Excel .xlsx ✅ Full
HTML .html, .htm ✅ Full
Plain Text .txt ✅ Full
Markdown .md ✅ Full
Rich Text .rtf ✅ Full

Development

Project Structure

doc2markdown/
├── src/
│   └── doc2markdown/
│       ├── __init__.py
│       └── server.py      # Main MCP server implementation
├── tests/
│   └── test_server.py     # Test script
├── pyproject.toml         # Package configuration
├── requirements.txt       # Development dependencies
└── README.md

Development Setup

git clone https://github.com/yourusername/doc2markdown.git
cd doc2markdown
python -m venv .venv
source .venv/bin/activate
pip install -e .

Running Tests

python tests/test_server.py

License

MIT License

Project details


Download files

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

Source Distribution

doc2markdown_mcp-0.1.0.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

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

doc2markdown_mcp-0.1.0-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file doc2markdown_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: doc2markdown_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.10

File hashes

Hashes for doc2markdown_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2cd210ee48bbf7c9f84986461a90386a7392537cfa56a26dc6a4955ee93d8cb1
MD5 e304f3bcb95d5412ddc38d2225206575
BLAKE2b-256 f77c0de3b64e6e81150f71666994ca06361d07111f4bac52fc6c7ddfdbbddb2e

See more details on using hashes here.

File details

Details for the file doc2markdown_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for doc2markdown_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1e9706e047f9c0d660ee47b4f1983f568c192b59f5ff1617577e48a3318f4ffe
MD5 0355be2db1ae8d47950c386f8596ee7c
BLAKE2b-256 091ba1b70fa52ab4a4c9da017fcbf6fabe10af363c8693c1b43c0215a8a6c8fb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page