Satu halaman PDF masuk dua kali: sebagai gambar, dan sebagai teks. 1.500 sampai 3.000 token per halaman menurut dokumentasi resminya. Ini cara benerin pakai MarkItDown dari Microsoft, plus satu hal soal MCP yang perlu aku luruskan.
Ini guide buat kamu yang udah comment "PDF" di video.
Tiap kamu upload PDF ke Claude, kamu lagi ngebakar kuota kamu sendiri lebih cepet dari yang kamu kira. Dan alesannya bukan karena PDF-nya gede, tapi karena cara PDF diproses.
Di bawah ini: kenapa mahal (pakai angka dari dokumentasi resminya), tool gratis dari Microsoft buat benerin, satu hal yang sering salah dikira soal MCP, dan kapan kamu justru harus tetep pakai PDF aslinya.

Kenapa PDF mahal
Pas sebuah PDF dikirim, sistemnya ngelakuin dua hal buat tiap halaman. Pertama, halamannya dikonversi jadi gambar. Kedua, teksnya diekstrak dan dikasih bareng gambar halaman itu.
Itu desain yang masuk akal, dan emang ada gunanya: itu yang bikin kamu bisa nanya soal grafik, diagram, dan isi visual lain di dokumen. Tapi konsekuensinya satu halaman dihitung dua kali.
Angka resminya: biaya token teks itu kira-kira 1.500 sampai 3.000 token per halaman, tergantung padet atau ngganya isinya. Biaya token gambarnya dihitung terpisah, pakai perhitungan yang sama kayak gambar biasa.
Jadi dokumen 20 halaman itu udah 30.000 sampai 60.000 token cuma dari sisi teksnya, sebelum token gambarnya masuk. Dan itu kekirim ulang tiap kamu mulai chat baru dengan file yang sama.

Satu catatan biar adil: angka-angka itu dari dokumentasi PDF support buat API-nya Anthropic. Aplikasi Claude yang kamu pakai sehari-hari ga nampilin hitungan tokennya ke kamu, jadi yang bisa aku bilang dengan yakin itu mekanismenya, bukan angka persis buat tiap upload kamu di app.
Yang ga berubah di dua-duanya: makin banyak lapisan yang harus diproses ulang, makin mahal. Dan Markdown ga punya lapisan gambar sama sekali.
MarkItDown, dari Microsoft
MarkItDown itu utilitas Python kecil dari Microsoft yang ngubah macem-macem file jadi Markdown. Alesannya ditulis terang-terangan di repo-nya: model-model besar udah fasih banget sama Markdown, jadi formatnya natural buat mereka dan hemat token.
Yang didukung: PDF, Word, PowerPoint, Excel, gambar, audio, HTML, CSV, JSON, XML, ZIP, EPUB, sampai URL YouTube.
Satu hal yang perlu kamu tau sejak awal, dan ini ditulis sendiri sama mereka: hasilnya dibikin buat dibaca tool analisis teks, bukan buat jadi konversi dokumen yang mirip aslinya. Dia mentingin struktur, bukan tampilan. Buat dipakai sama Claude itu justru yang kamu mau.

Install dan pakai
Butuh Python. Install semuanya sekaligus:
pip install 'markitdown[all]'
Kalau mau yang ringan, install cuma yang kepake. Grup yang ada antara lain pdf, docx, pptx, xlsx, xls, outlook, audio-transcription, sama youtube-transcription:
pip install 'markitdown[pdf, docx, pptx]'
Habis itu satu baris per file:
markitdown dokumen.pdf > dokumen.md # atau dengan flag output markitdown dokumen.pdf -o dokumen.md # atau lewat pipe cat dokumen.pdf | markitdown
Kalau kamu lebih nyaman manggil dari Python, misalnya buat convert banyak file sekaligus lewat loop:
from markitdown import MarkItDown
md = MarkItDown(enable_plugins=False)
result = md.convert("laporan.xlsx")
print(result.markdown)Buat PDF hasil scan yang teksnya ga bisa diekstrak, kamu butuh OCR. Ada plugin resminya, markitdown-ocr, yang nambahin OCR lewat LLM vision. Ada juga opsi Azure Document Intelligence kalau kamu udah punya endpoint-nya.
Soal MCP: ini yang perlu aku luruskan
Di video aku bilang connect MCP server-nya sekali terus semua upload ke-convert otomatis. Itu ga tepat, dan ini versi benernya.
Server MCP-nya, namanya markitdown-mcp, ngasih satu tool: convert_to_markdown(uri). Tool itu dipanggil buat satu file atau satu URL, pas diminta. Nerima skema http, https, file, sama data.
Artinya nyambungin server-nya sekali ga bikin semua upload kamu otomatis berubah. Ga ada yang nyegat upload kamu. Yang kamu dapet itu kemampuan buat bilang "convert file ini dulu", dan Claude manggil tool-nya.
Bedanya tetep kerasa, karena kamu ga perlu bolak-balik ke terminal. Tapi "otomatis" itu kata yang salah, dan aku lebih milih ngakuin daripada ngebiarin.

Install server-nya:
pip install markitdown-mcp
Konfigurasi yang didokumentasikan buat Claude Desktop pakai Docker, ditaruh di claude_desktop_config.json:
{
"mcpServers": {
"markitdown": {
"command": "docker",
"args": ["run", "--rm", "-i", "markitdown-mcp:latest"]
}
}
}Kalau kamu install lewat pip tadi dan ga mau ribet sama Docker, perintahnya jalan sebagai STDIO server, jadi kamu bisa arahin command-nya langsung ke markitdown-mcp. Dua catatan keamanan dari mereka: server-nya ga punya autentikasi dan jalan dengan hak akses user kamu, dan kalau kamu pakai mode HTTP, jangan di-bind ke interface selain localhost kecuali kamu paham risikonya.
Kapan jangan di-convert
Markdown bukan jawaban buat semua PDF, dan ini bagian yang sering dilewatin orang pas ngerekomendasiin tool kayak gini.
Convert duluan kalau isinya teks: paper, kontrak, modul, notulen, deck yang kamu butuh isinya. Apalagi kalau file itu bakal kamu tanyain berkali-kali di chat yang beda-beda, atau mau kamu simpen di Project biar bisa dicari.
Pakai PDF aslinya kalau kamu lagi nanya soal grafik, diagram, atau tata letaknya, kalau posisi visual ikut nentuin arti, atau kalau itu hasil scan yang butuh OCR duluan. Dan kalau filenya cuma sehalaman dan sekali pakai, convert malah nambah langkah.
Kalau ragu: convert dulu, terus cek satu bagian yang kamu udah tau isinya. Sepuluh detik, dan kamu langsung tau hasilnya kepake atau ngga.

Urutan yang aku saranin
Satu, install markitdown. Dua, convert satu file yang teksnya jelas, terus buka hasilnya bareng aslinya dan bandingin satu bagian. Tiga, kalau hasilnya kepake, baru convert yang lain atau pasang MCP-nya.
Jangan kebalik. Pasang MCP duluan tanpa pernah liat hasil konversinya itu cara paling cepet buat ngerasa setupnya gagal padahal yang bermasalah file pertamanya.
Repo resmi Microsoft. Ada file contoh buat kamu tes dulu sebelum pakai dokumen sendiri.
Buka repo MarkItDownWritten by Holly in Beijing. Notes get longer as I learn more. If you spot something off, find me in the footer.