markdownify mcp

Local 2025-08-31 23:18:48 0

Converts various file types and web content to Markdown format. It provides a set of tools to transform PDFs, images, audio files, web pages, and more into easily readable and shareable Markdown text.


Markdownify is a Model Context Protocol (MCP) server that converts various file types and web content to Markdown format. It provides a set of tools to transform PDFs, images, audio files, web pages, and more into easily readable and shareable Markdown text.

Markdownify Server MCP server

Features

  • Convert multiple file types to Markdown:
  • PDF
  • Images
  • Audio (with transcription)
  • DOCX
  • XLSX
  • PPTX
  • Convert web content to Markdown:
  • YouTube video transcripts
  • Bing search results
  • General web pages
  • Retrieve existing Markdown files

Getting Started

  1. Clone this repository
  2. Install dependencies:
    pnpm install

Note: this will also install uv and related Python depdencies.

  1. Build the project:
    pnpm run build
  2. Start the server:
    pnpm start

Development

  • Use pnpm run dev to start the TypeScript compiler in watch mode
  • Modify src/server.ts to customize server behavior
  • Add or modify tools in src/tools.ts

Usage with Desktop App

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

{
  "mcpServers": {
    "markdownify": {
      "command": "node",
      "args": [
        "{ABSOLUTE PATH TO FILE HERE}/dist/index.js"
      ],
      "env": {
        // By default, the server will use the default install location of `uv`
        "UV_PATH": "/path/to/uv"
      }
    }
  }
}

Available Tools

  • youtube-to-markdown: Convert YouTube videos to Markdown
  • pdf-to-markdown: Convert PDF files to Markdown
  • bing-search-to-markdown: Convert Bing search results to Markdown
  • webpage-to-markdown: Convert web pages to Markdown
  • image-to-markdown: Convert images to Markdown with metadata
  • audio-to-markdown: Convert audio files to Markdown with transcription
  • docx-to-markdown: Convert DOCX files to Markdown
  • xlsx-to-markdown: Convert XLSX files to Markdown
  • pptx-to-markdown: Convert PPTX files to Markdown
  • get-markdown-file: Retrieve an existing Markdown file

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

[
  {
    "description": "Convert an audio file to markdown, including transcription if possible",
    "inputSchema": {
      "properties": {
        "filepath": {
          "description": "Absolute path of the audio file to convert",
          "type": "string"
        }
      },
      "required": [
        "filepath"
      ],
      "type": "object"
    },
    "name": "audio-to-markdown"
  },
  {
    "description": "Convert a Bing search results page to markdown",
    "inputSchema": {
      "properties": {
        "url": {
          "description": "URL of the Bing search results page",
          "type": "string"
        }
      },
      "required": [
        "url"
      ],
      "type": "object"
    },
    "name": "bing-search-to-markdown"
  },
  {
    "description": "Convert a DOCX file to markdown",
    "inputSchema": {
      "properties": {
        "filepath": {
          "description": "Absolute path of the DOCX file to convert",
          "type": "string"
        }
      },
      "required": [
        "filepath"
      ],
      "type": "object"
    },
    "name": "docx-to-markdown"
  },
  {
    "description": "Get a markdown file by absolute file path",
    "inputSchema": {
      "properties": {
        "filepath": {
          "description": "Absolute path to file of markdown'd text",
          "type": "string"
        }
      },
      "required": [
        "filepath"
      ],
      "type": "object"
    },
    "name": "get-markdown-file"
  },
  {
    "description": "Convert an image to markdown, including metadata and description",
    "inputSchema": {
      "properties": {
        "filepath": {
          "description": "Absolute path of the image file to convert",
          "type": "string"
        }
      },
      "required": [
        "filepath"
      ],
      "type": "object"
    },
    "name": "image-to-markdown"
  },
  {
    "description": "Convert a PDF file to markdown",
    "inputSchema": {
      "properties": {
        "filepath": {
          "description": "Absolute path of the PDF file to convert",
          "type": "string"
        }
      },
      "required": [
        "filepath"
      ],
      "type": "object"
    },
    "name": "pdf-to-markdown"
  },
  {
    "description": "Convert a PPTX file to markdown",
    "inputSchema": {
      "properties": {
        "filepath": {
          "description": "Absolute path of the PPTX file to convert",
          "type": "string"
        }
      },
      "required": [
        "filepath"
      ],
      "type": "object"
    },
    "name": "pptx-to-markdown"
  },
  {
    "description": "Convert a webpage to markdown",
    "inputSchema": {
      "properties": {
        "url": {
          "description": "URL of the webpage to convert",
          "type": "string"
        }
      },
      "required": [
        "url"
      ],
      "type": "object"
    },
    "name": "webpage-to-markdown"
  },
  {
    "description": "Convert an XLSX file to markdown",
    "inputSchema": {
      "properties": {
        "filepath": {
          "description": "Absolute path of the XLSX file to convert",
          "type": "string"
        }
      },
      "required": [
        "filepath"
      ],
      "type": "object"
    },
    "name": "xlsx-to-markdown"
  },
  {
    "description": "Convert a YouTube video to markdown, including transcript if available",
    "inputSchema": {
      "properties": {
        "url": {
          "description": "URL of the YouTube video",
          "type": "string"
        }
      },
      "required": [
        "url"
      ],
      "type": "object"
    },
    "name": "youtube-to-markdown"
  }
]