
클로드에 PDF를 그대로 올리면 왜 토큰이 낭비될까
Claude로 PDF 자료를 분석할 때 가장 많이 하는 방식이 있습니다.
그냥 PDF 파일을 대화창에 끌어다 놓는 방식입니다.
간단해 보이지만, 문서가 복잡할수록 이 방식은 비효율적일 수 있습니다. PDF 안에는 본문 텍스트만 들어 있는 것이 아닙니다. 페이지 구조, 표, 이미지, 머리말, 꼬리말, 깨진 줄바꿈, 숨은 메타데이터까지 함께 섞여 있을 수 있습니다.
AI 입장에서는 사용자가 보고 싶은 핵심 문장만 읽는 것이 아니라, 문서 안에 들어 있는 여러 요소를 함께 처리해야 합니다.
그래서 긴 PDF를 올렸는데 정작 답변이 흐릿하거나, 핵심을 제대로 못 잡거나, 생각보다 빠르게 사용량이 줄어드는 느낌을 받을 수 있습니다.
이 문제를 줄이는 방법이 있습니다.
PDF를 Claude에 바로 넣기 전에, 먼저 Markdown 형식으로 바꾸는 것입니다.
MarkItDown이란 무엇인가
MarkItDown은 Microsoft에서 공개한 오픈소스 Python 도구입니다. PDF, Word, PowerPoint, Excel, 이미지, 오디오, HTML, CSV, JSON, XML, ZIP, EPUB 등 여러 파일 형식을 Markdown으로 변환할 수 있습니다. GitHub 기준으로 16만 개 이상의 스타를 받은 프로젝트입니다. (GitHub)
Markdown은 일반 텍스트에 제목, 목록, 표, 링크 같은 구조만 간단히 표시하는 형식입니다.
예를 들면 이런 식입니다.
# 문서 제목
## 핵심 내용
- 첫 번째 내용
- 두 번째 내용
- 세 번째 내용
사람이 보기에도 깔끔하고, AI가 읽기에도 불필요한 장식이 적습니다.
MarkItDown 공식 문서에서도 Markdown은 일반 텍스트에 가깝고, 문서 구조를 유지하면서도 토큰 효율성이 좋다고 설명하고 있습니다. (GitHub)

Claude에 PDF 대신 Markdown을 넣으면 좋은 이유
PDF를 그대로 넣으면 AI는 문서의 레이아웃과 부가 정보를 함께 처리할 수 있습니다.
반면 Markdown으로 변환하면 핵심 텍스트와 구조만 남기기 쉽습니다.
예를 들어 이런 차이가 생깁니다.
| 방식 | 특징 |
|---|---|
| PDF 그대로 업로드 | 서식, 이미지, 표 구조, 불필요한 줄바꿈까지 함께 처리될 수 있음 |
| Markdown 변환 후 입력 | 제목, 문단, 목록, 표 중심으로 정리되어 AI가 읽기 쉬움 |
물론 모든 PDF에서 토큰이 일정하게 줄어드는 것은 아닙니다.
텍스트 위주의 PDF라면 차이가 작을 수 있고, 이미지나 표, 반복 머리말이 많은 PDF라면 차이가 커질 수 있습니다. 따라서 “무조건 몇 % 절약된다”고 단정하기보다는, 문서 구조에 따라 토큰 사용량을 크게 줄일 수 있다고 보는 것이 맞습니다.
MarkItDown 설치 전 준비할 것
MarkItDown은 Python 기반 도구입니다.
공식 문서 기준으로 Python 3.10 이상이 필요합니다. 또한 의존성 충돌을 줄이기 위해 가상환경 사용을 권장합니다. (GitHub)
먼저 터미널에서 Python 버전을 확인합니다.
python --version
또는 macOS 환경에서는 아래 명령어가 필요할 수 있습니다.
python3 --version
Python 3.10 이상이 나오면 다음 단계로 진행하면 됩니다.

MarkItDown 기본 설치 명령어
파일을 직접 Markdown으로 변환해서 쓰려면 아래 명령어를 사용하면 됩니다.
pip install 'markitdown[all]'
공식 문서에서는 모든 선택 의존성을 포함해 설치하는 방식으로 markitdown[all]을 안내하고 있습니다. PDF, DOCX, PPTX만 필요하다면 필요한 형식만 골라 설치할 수도 있습니다. (GitHub)
설치 후 PDF를 Markdown으로 변환하려면 아래처럼 실행합니다.
markitdown path-to-file.pdf -o document.md
예를 들어 sample.pdf를 sample.md로 바꾸고 싶다면 이렇게 입력합니다.
markitdown sample.pdf -o sample.md
이렇게 만들어진 .md 파일을 Claude에 넣으면 PDF 원본보다 훨씬 정리된 형태로 자료를 전달할 수 있습니다.
MarkItDown MCP 서버 설치 명령어
Claude Desktop에서 MCP 방식으로 연결하려면 markitdown-mcp 패키지를 사용할 수 있습니다.
설치 명령어는 아래와 같습니다.
pip install markitdown-mcp
PyPI 공식 페이지에서도 markitdown-mcp 설치 명령어와 실행 명령어를 위와 같이 안내하고 있습니다. 이 패키지는 MarkItDown을 호출하는 MCP 서버이며, convert_to_markdown(uri) 도구를 제공합니다. (PyPI)
설치 후 MCP 서버가 실행되는지 확인하려면 아래 명령어를 입력합니다.
markitdown-mcp
오류 없이 실행된다면 Claude Desktop 설정에 연결할 준비가 된 것입니다.
Claude Desktop 설정 파일 위치
Claude Desktop에서 MCP 서버를 연결하려면 claude_desktop_config.json 파일을 수정해야 합니다.
공식 MCP 문서 기준 설정 파일 위치는 다음과 같습니다. (모델 컨텍스트 프로토콜)
| 운영체제 | 설정 파일 경로 |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
Claude Desktop 앱에서 직접 열 수도 있습니다.
Claude Desktop을 실행한 뒤,
Settings → Developer → Edit Config로 들어가면 설정 파일을 열 수 있습니다. (모델 컨텍스트 프로토콜)
Claude Desktop에 MarkItDown MCP 연결하기
설정 파일에 아래 내용을 추가합니다.
{
"mcpServers": {
"markitdown": {
"command": "markitdown-mcp",
"args": []
}
}
}
저장한 뒤 Claude Desktop을 완전히 종료하고 다시 실행합니다.
여기서 중요한 점이 있습니다.
MCP는 Claude가 외부 도구를 사용할 수 있게 연결하는 방식입니다. 따라서 단순히 PDF를 드래그 앤 드롭할 때마다 무조건 자동 변환된다고 보기보다는, Claude에게 MarkItDown 도구를 사용해 파일을 Markdown으로 변환하라고 요청하는 방식에 가깝습니다.
예를 들어 이렇게 요청할 수 있습니다.
이 파일을 MarkItDown으로 Markdown 변환한 뒤, 핵심 내용을 요약해줘.
또는 로컬 파일 경로를 사용할 경우에는 Claude가 접근할 수 있는 위치와 권한 설정이 필요할 수 있습니다.
Docker 방식으로 연결하는 방법
MarkItDown MCP 공식 문서와 PyPI 페이지에서는 Claude Desktop에서 사용할 때 Docker 이미지를 권장하는 방식도 안내하고 있습니다. (GitHub)
Docker를 사용하는 경우 설정 예시는 아래와 같습니다.
{
"mcpServers": {
"markitdown": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"markitdown-mcp:latest"
]
}
}
}
로컬 폴더를 읽게 하려면 볼륨 마운트가 필요합니다.
{
"mcpServers": {
"markitdown": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-v",
"/home/user/data:/workdir",
"markitdown-mcp:latest"
]
}
}
}
초보자라면 먼저 pip install markitdown-mcp 방식으로 테스트하고, 보안과 격리가 필요한 환경에서는 Docker 방식을 검토하는 것이 좋습니다.
MarkItDown 사용 시 주의할 점
MarkItDown은 편리하지만 모든 문서를 완벽하게 바꿔주는 도구는 아닙니다.
특히 아래 문서는 변환 결과를 한 번 확인하는 것이 좋습니다.
- 스캔 이미지로만 된 PDF
- 표가 복잡한 보고서
- 2단 편집된 논문 PDF
- 차트와 이미지 설명이 중요한 자료
- 계약서처럼 문구 하나가 중요한 문서
MarkItDown은 사람이 읽기 좋은 최종 문서를 만드는 도구라기보다, AI가 분석하기 좋은 텍스트 구조로 바꾸는 도구에 가깝습니다. 공식 문서에서도 고품질 문서 변환기라기보다는 LLM과 텍스트 분석 파이프라인에 쓰기 위한 Markdown 변환 도구라고 설명합니다. (GitHub)
따라서 중요한 문서는 변환 후 아래 3가지를 확인하는 것이 좋습니다.
- 제목과 소제목이 제대로 잡혔는지
- 표 내용이 깨지지 않았는지
- 빠진 페이지나 문단이 없는지
이 과정을 거치면 Claude 답변 품질도 훨씬 안정적으로 만들 수 있습니다.

이런 사람에게 특히 유용합니다
MarkItDown은 단순히 개발자만 쓰는 도구가 아닙니다.
Claude로 문서 분석을 자주 하는 사람이라면 충분히 쓸 만합니다.
예를 들면 이런 경우입니다.
- PDF 보고서를 자주 요약하는 사람
- 전자책 초안을 Claude에 넣고 분석하는 사람
- 강의 자료 PPT를 AI로 재가공하는 사람
- Word 문서를 블로그 글로 바꾸는 사람
- Excel 자료를 설명문으로 정리하는 사람
- 논문이나 리서치 자료를 자주 읽는 사람
특히 콘텐츠 제작자라면 효과가 더 큽니다.
PDF 자료를 바로 던지는 것보다 Markdown으로 정리한 뒤 Claude에게 주면, 요약·재구성·SEO 글쓰기·카드뉴스 원고 제작까지 이어가기 쉬워집니다.
Claude에 PDF를 그대로 올리는 방식은 편합니다.
하지만 문서가 길고 복잡할수록 불필요한 토큰이 늘고, 답변이 흐려질 수 있습니다.
이럴 때 MarkItDown을 사용하면 PDF, Word, PPT, Excel 같은 파일을 Markdown으로 바꿔 Claude가 읽기 좋은 형태로 전달할 수 있습니다.
가장 간단한 사용 순서는 이렇습니다.
pip install 'markitdown[all]'
markitdown sample.pdf -o sample.md
Claude Desktop MCP까지 연결하고 싶다면 아래 패키지를 설치합니다.
pip install markitdown-mcp
그리고 Claude Desktop 설정 파일에 MCP 서버를 추가합니다.
{
"mcpServers": {
"markitdown": {
"command": "markitdown-mcp",
"args": []
}
}
}
AI에게 좋은 답변을 얻는 방법은 질문을 잘 쓰는 것만이 아닙니다.
AI가 읽기 좋은 자료를 넣는 것도 중요합니다.
PDF를 그대로 던지는 습관을 줄이고, 먼저 Markdown으로 정리해 보세요. Claude가 훨씬 더 명확하게 문서를 읽기 시작합니다.
FAQ
Q1. MarkItDown은 무료인가요?
네. Microsoft가 공개한 오픈소스 도구이며, GitHub와 PyPI에서 확인할 수 있습니다. 다만 일부 고급 기능이나 외부 API를 함께 쓰는 경우 별도 비용이 발생할 수 있습니다.
Q2. PDF를 Markdown으로 바꾸면 무조건 토큰이 줄어드나요?
무조건은 아닙니다. 텍스트만 깔끔하게 들어 있는 PDF는 차이가 작을 수 있습니다. 반대로 표, 이미지, 반복 문구, 깨진 서식이 많은 PDF는 차이가 커질 수 있습니다.
Q3. Claude Desktop에 연결하면 PDF가 자동으로 변환되나요?
MCP 서버를 연결하면 Claude가 MarkItDown 도구를 사용할 수 있습니다. 다만 모든 드래그 앤 드롭 파일이 자동으로 변환된다고 단정하기보다는, Claude에게 “MarkItDown으로 변환해서 읽어줘”라고 요청하는 방식으로 이해하는 것이 안전합니다.
Q4. Windows에서도 사용할 수 있나요?
네. Python 3.10 이상과 Claude Desktop이 설치되어 있으면 사용할 수 있습니다. Windows 설정 파일 경로는 %APPDATA%\Claude\claude_desktop_config.json입니다.
Q5. Word, PPT, Excel도 변환되나요?
네. MarkItDown은 PDF뿐 아니라 Word, PowerPoint, Excel 등 여러 문서 형식을 Markdown으로 변환할 수 있습니다. (GitHub)


