# PDF to Markdown

This MCP server connects an AI agent to the pdf2md API and prepares requests to turn PDFs into Markdown. Sign in with a dudko.dev account to use it.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI
- Author: dudko-dev
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/dudko-dev/pdf-to-md-mcp-setup
- Updated: 2026-09-25
- HTML: https://affpapa.org/en/nevibecode/mcp/pdf-to-markdown

## What it does

The server provides two tools. `api_access` explains the API, its options and limits; `api_request` checks conversion settings and returns an HTTP request with a URL, headers and a `curl` command. The server does not handle the PDF itself: the request runs wherever the file is stored.

Connection uses OAuth 2.1, and the client prompts you to sign in to your dudko.dev account. API credentials last 15 minutes, and requests count toward the account plan. Scanned PDFs without a text layer cannot be converted because pdf2md does not perform OCR. Use `detect` to check the document first.

## Requirements
- Remote server: `https://pdf2md.dudko.dev/mcp`

## Install

### Claude Code (native platform)

**Platform CLI: remote server**
```bash
claude mcp add --transport http pdf-to-md https://pdf2md.dudko.dev/mcp
```

### Codex

**Platform CLI: remote server**
```bash
codex mcp add pdf-to-markdown --url https://pdf2md.dudko.dev/mcp
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "pdf-to-markdown": {
            "url": "https://pdf2md.dudko.dev/mcp"
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "pdf-to-markdown": {
            "type": "http",
            "url": "https://pdf2md.dudko.dev/mcp"
        }
    }
}
```

### Gemini CLI

**Platform CLI: remote server**
```bash
gemini mcp add -t http pdf-to-markdown https://pdf2md.dudko.dev/mcp
```

## When to use it
- prepare an HTTP request to convert a PDF to Markdown
- check pdf2md API options and limits
- find out whether a scanned PDF has a text layer

## Example prompts
- Prepare a request to convert `report.pdf` to Markdown.
- Show me the API options for extracting text from a PDF.
- Check whether `scan.pdf` has a text layer before conversion.

## Similar
- [Reactive Resume](https://affpapa.org/en/nevibecode/mcp/reactive-resume.md) — MCP server · ★ 44908
- [Sui Knowledge Base (kapa.ai)](https://affpapa.org/en/nevibecode/mcp/sui-knowledge-base-kapaai.md) — MCP server · ★ 7785
- [Claude Code Ultimate Guide](https://affpapa.org/en/nevibecode/mcp/claude-code-ultimate-guide.md) — MCP server · ★ 6258
- [Zotero MCP](https://affpapa.org/en/nevibecode/mcp/zotero-mcp.md) — MCP server · ★ 5585
- [RevoGrid DataGrid MCP Pro](https://affpapa.org/en/nevibecode/mcp/revogrid-datagrid-mcp-pro.md) — MCP server · ★ 3451
- [Claude Code Explorer MCP](https://affpapa.org/en/nevibecode/mcp/codeaashu-claude-code-explorer-mcp.md) — MCP server · ★ 3412

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
