mdify-mcp
Allows using a local Ollama vision model (e.g., Qwen2.5-VL) to convert PDF documents to Markdown. Provides tools for checking Ollama status, pulling models, and converting PDFs.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mdify-mcpConvert ~/docs/report.pdf to Markdown"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mdify-mcp is a Model Context Protocol server that wraps mdify — enabling any MCP-compatible client (Claude Desktop, Cursor, VS Code Copilot, etc.) to convert PDF documents to Markdown using a local Ollama vision model.
No cloud APIs. No data leaves your machine. Just point an LLM at a PDF and get structured Markdown back.
Features
7 tools for complete PDF→Markdown workflow
Fully local — powered by Ollama + Qwen2.5-VL running on your machine
Zero config — works out of the box with sensible defaults
Batch processing — convert entire directories of PDFs
Ollama management — check status and pull models directly from chat
Standard MCP — works with any MCP-compatible client
Related MCP server: flint-slating
Available Tools
Tool | Description |
| Convert a single PDF file to Markdown |
| Convert all PDFs in a directory |
| Read the contents of a converted Markdown file |
| Check if Ollama is installed and the model is available |
| Download an Ollama model |
| List all PDF files in a directory |
| List all Markdown files in a directory |
Installation
pip install mdify-mcpRequirements
Python 3.10+
Ollama installed and running locally
A pulled Qwen2.5-VL model (the server can pull it for you via the
pull_ollama_modeltool)
Configuration
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"mdify": {
"command": "mdify-mcp",
"env": {
"MDIFY_MODEL": "qwen2.5vl:3b",
"MDIFY_OLLAMA_URL": "http://localhost:11434/v1/chat/completions"
}
}
}
}Cursor
Add to .cursor/mcp.json in your project:
{
"mcpServers": {
"mdify": {
"command": "mdify-mcp"
}
}
}VS Code
Add to your VS Code settings (.vscode/mcp.json):
{
"servers": {
"mdify": {
"command": "mdify-mcp",
"env": {
"MDIFY_MODEL": "qwen2.5vl:3b"
}
}
}
}Environment Variables
Variable | Default | Description |
|
| Ollama model tag |
|
| PDF render resolution |
|
| Ollama API endpoint |
Usage Examples
Once configured, you can ask your LLM things like:
"Convert the PDF at /home/user/docs/report.pdf to Markdown"
"Convert all PDFs in /home/user/papers/ and save the Markdown files to /home/user/markdown/"
"Check if Ollama is set up correctly for PDF conversion"
"Pull the qwen2.5vl:7b model for better accuracy"
"List all PDFs in my documents folder"
"Read the Markdown file that was just converted"
How it works
┌──────────────┐ MCP (stdio) ┌──────────────┐ HTTP ┌──────────┐
│ LLM Client │ ◄─────────────────► │ mdify-mcp │ ────────────► │ Ollama │
│ (Claude, │ tool calls │ (FastMCP) │ image+prompt │ (local) │
│ Cursor…) │ │ │ │ │
└──────────────┘ └──────┬───────┘ └──────────┘
│
┌──────┴───────┐
│ mdify │
│ (converter) │
└──────────────┘LLM client sends a tool call via MCP (stdio transport)
mdify-mcp validates parameters and calls the
mdifyconvertermdify renders PDF pages → images → sends to Ollama for VLM inference
Structured Markdown is written to disk and the result is returned to the LLM
Development
git clone https://github.com/jupinsker/mdify-mcp.git
cd mdify-mcp
pip install -e ".[dev]"
pytestTesting with MCP Inspector
npx @modelcontextprotocol/inspector mdify-mcpLicense
Apache License 2.0 — see LICENSE for details.
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP server: convert PDFs to clean, LLM-ready Markdown with tables, formulas and OCR.
Document-to-Markdown MCP server — convert PDF, Office and HTML into LLM-ready Markdown.
MCP server for AI dialogue using various LLM models via AceDataCloud
Related MCP Servers
- AlicenseAqualityFmaintenanceAn MCP server that exports PDF documents to markdown format optimized for LLM processing.11BSD 3-Clause
- AlicenseNot gradedqualityBmaintenanceMCP server that reads PDFs and exposes them as structured Markdown, metadata, outlines, images, and tables to LLM consumers via tools like pdf_read_markdown and pdf_info.Apache 2.0
- FlicenseNot gradedqualityDmaintenanceA local MCP server that extracts text-layer content from PDF files, enabling AI agents to inspect, extract text, outlines, and page content.-
- AlicenseNot gradedqualityBmaintenanceAn MCP server that exposes Marker for high-quality PDF OCR and conversion, providing a tool to convert PDFs to markdown, JSON, or HTML with optional LLM-enhanced mode.GPL 3.0