PDF to Markdown for Claude Code

Claude Code is an MCP-native CLI, which means t0md plugs in as a real tool — not a copy-paste detour. Add the server once and you can ask Claude Code to convert any PDF on disk into Markdown without leaving the terminal.

Why convert PDFs to Markdown for this?

Claude Code's strength is staying in flow: edits, tests, git, all in one conversation. Stepping out to convert a PDF in a browser breaks that flow. With the t0md MCP server installed, the conversion is just another tool call — Claude Code reads the file path, sends it to t0md, gets Markdown back, and either prints it or saves it next to the source. The whole loop happens inline, so a research paper or a vendor spec becomes context for the very next message.

How to use t0md

One-time setup is a single CLI command. After that, point Claude Code at any PDF and it'll handle the conversion. t0md exposes a `convert_to_markdown` tool that accepts a file path; Claude Code picks the tool on its own when the request fits. For self-hosted setups, override the endpoint with the `T0MD_URL` env var.

claude mcp add --transport http t0md https://t0md.com/mcp

# then, inside Claude Code:
# > convert ~/Downloads/research-paper.pdf to markdown

Related guides

Frequently asked questions

Do I need to install anything besides Claude Code?

No. The MCP server runs on t0md.com — there's no local install. One `claude mcp add` command registers it and you're done. For stdio-only setups, see the t0md-mcp repo for a local bridge binary.

Can Claude Code convert PDFs in bulk?

Yes. Ask it to convert a directory of PDFs and it'll iterate file by file. Each call goes through t0md independently, so there's no batching penalty.

Does the PDF leave my machine?

Yes — the MCP server runs at t0md.com, so the file is uploaded for conversion. It's held in memory and discarded immediately after; no copy is stored. Set `T0MD_URL` to a self-hosted t0md instance if you need the upload to stay on your network.