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 "Install 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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/JuliusPinsker/mdify-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server