Markdownify MCP server

Converts diverse file types and web content to Markdown format using specialized tools for PDFs, images, audio, web pages, and more.
Back to servers
Setup instructions
Provider
Zach Caceres
Release date
Jan 08, 2025
Language
TypeScript
Stats
1.8K stars

Markdownify is a Model Context Protocol (MCP) server that provides tools to transform various file types and web content into Markdown format. It can convert PDFs, images, audio files, web pages, and other document formats into easily readable Markdown text, making it an excellent solution for content transformation and standardization.

Installation

To set up the Markdownify MCP server on your system, follow these steps:

  1. Clone the repository:

    git clone https://github.com/zcaceres/markdownify-mcp.git
    cd markdownify-mcp
    
  2. Install dependencies:

    pnpm install
    

    Note: This will also install uv and related Python dependencies.

  3. Build the project:

    pnpm run build
    
  4. Start the server:

    pnpm start
    

Integration with Desktop Applications

To integrate the Markdownify MCP server with a desktop app, add the following to your app's server configuration:

{
  "mcpServers": {
    "markdownify": {
      "command": "node",
      "args": [
        "/absolute/path/to/markdownify-mcp/dist/index.js"
      ],
      "env": {
        "UV_PATH": "/path/to/uv"
      }
    }
  }
}

Supported Conversion Tools

Markdownify offers a variety of tools to convert different file types to Markdown:

Document Conversion

  • PDF to Markdown: Convert PDF files to Markdown format
  • DOCX to Markdown: Convert Microsoft Word documents to Markdown
  • XLSX to Markdown: Convert Microsoft Excel spreadsheets to Markdown
  • PPTX to Markdown: Convert Microsoft PowerPoint presentations to Markdown

Media Conversion

  • Image to Markdown: Convert images to Markdown with metadata
  • Audio to Markdown: Convert audio files to Markdown with transcription

Web Content Conversion

  • YouTube to Markdown: Convert YouTube video transcripts to Markdown
  • Bing Search to Markdown: Convert Bing search results to Markdown
  • Webpage to Markdown: Convert general web pages to Markdown format

File Access

  • Get Markdown File: Retrieve an existing Markdown file. The file extension must end with .md or .markdown.

Custom Configuration

You can restrict the directory from which Markdown files can be retrieved by setting the MD_SHARE_DIR environment variable:

MD_SHARE_DIR=/path/to/markdown/files pnpm run start

This ensures that only files within the specified directory can be accessed through the server.

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "markdownify" '{"command":"node","args":["{ABSOLUTE PATH TO FILE HERE}/dist/index.js"],"env":{"UV_PATH":"/path/to/uv"}}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "markdownify": {
            "command": "node",
            "args": [
                "{ABSOLUTE PATH TO FILE HERE}/dist/index.js"
            ],
            "env": {
                "UV_PATH": "/path/to/uv"
            }
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

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

2. Add this to your configuration file:

{
    "mcpServers": {
        "markdownify": {
            "command": "node",
            "args": [
                "{ABSOLUTE PATH TO FILE HERE}/dist/index.js"
            ],
            "env": {
                "UV_PATH": "/path/to/uv"
            }
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later