
PDF MCP: поиск, таблицы и сканы PDF в Claude Code, Codex и Cursor
Даёт агенту читать большие PDF по страницам: искать по документу или целой папке, вытаскивать таблицы и данные графиков, распознавать сканы и показывать страницу картинкой.
Поиск по ключевым словам и смыслу, работа с папкой PDF, таблицы, графики, OCR и пометка скрытого текста; кэш в SQLite переживает перезапуск.
Как подключить
Что сделать до подключения
Python 3.11–3.14 и команда pdf-mcp: uv tool install pdf-mcp или pipx install pdf-mcp
Для сканов — Tesseract: brew install tesseract, sudo apt install tesseract-ocr или winget install -e --id UB-Mannheim.TesseractOCR
Для Claude Desktop можно без Python: скачать pdf-mcp.mcpb и перетащить в Settings → Extensions
Конфиг для вашего клиента
Команда в терминале, в папке проекта. Флаг --scope user подключит сервер для всех проектов. Подробно о Claude Code
claude mcp add --transport stdio pdf \
-- pdf-mcpПроверка: claude mcp list показывает статус рядом с каждым сервером: ✔ Connected, ! Needs authentication или ✘ Failed to connect. Внутри сессии то же видно по команде /mcp.
Файл ~/.codex/config.toml или .codex/config.toml в доверенном проекте. Можно и командой codex mcp add. Подробно о Codex
[mcp_servers.pdf]
command = "pdf-mcp"
args = []Проверка: В интерфейсе codex введите /mcp: появится список активных серверов. Из терминала то же покажет codex mcp list.
Файл ~/.cursor/mcp.json для всех проектов или .cursor/mcp.json в папке проекта. Подробно о Cursor
{
"mcpServers": {
"pdf": {
"command": "pdf-mcp",
"args": []
}
}
}Проверка: Откройте Customize в боковой панели: там список серверов с переключателями. Ошибки подключения смотрите в панели Output (Cmd+Shift+U), пункт MCP Logs в выпадающем списке.
Файл .mcp.json в корне проекта или ~/.copilot/mcp-config.json для всех проектов. Подробно о VS Code
{
"mcpServers": {
"pdf": {
"type": "stdio",
"command": "pdf-mcp",
"args": []
}
}
}Проверка: Попросите Copilot выполнить безобидную задачу через сервер и раскройте вызов инструмента в чате. Одна запись в конфиге подключение не подтверждает.
Файл ~/.qwen/settings.json или .qwen/settings.json в проекте. Подробно о Qwen Code
{
"mcpServers": {
"pdf": {
"command": "pdf-mcp",
"args": []
}
}
}Проверка: Запустите qwen и введите /mcp: откроется окно управления серверами. Из терминала статус покажет qwen mcp list.
Файл ~/.gemini/settings.json или .gemini/settings.json в проекте. Подробно о Gemini CLI
{
"mcpServers": {
"pdf": {
"command": "pdf-mcp",
"args": []
}
}
}Проверка: gemini mcp list показывает каждый сервер, его настройки и статус Connected или Disconnected. В сессии /mcp выводит CONNECTED, CONNECTING или DISCONNECTED и список инструментов.
Файл opencode.json в папке проекта или ~/.config/opencode/opencode.json. Подробно о OpenCode
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"servers": {
"pdf": {
"type": "local",
"command": ["pdf-mcp"]
}
}
}
}Проверка: opencode mcp list показывает состояние каждого сервера, подключённый выглядит как ✓ context7 connected. Внутри OpenCode то же видно в /mcps.
Настройки → Разработчик → Изменить конфиг: файл claude_desktop_config.json. После правки перезапустите приложение. Подробно о Claude Desktop
{
"mcpServers": {
"pdf": {
"command": "pdf-mcp",
"args": []
}
}
}Проверка: Нажмите «Add files, connectors, and more /» в левом нижнем углу поля ввода, наведите на Connectors и откройте Manage connectors. Выберите сервер, чтобы увидеть его инструменты.
Вкладка Program → Install → Edit mcp.json. Подробно о LM Studio
{
"mcpServers": {
"pdf": {
"command": "pdf-mcp",
"args": []
}
}
}Проверка: Попросите модель в чате выполнить задачу через инструмент сервера. Через API сервер из mcp.json вызывают по id в integrations, например mcp/playwright.
Инструменты сервера
pdf_infoчитает число страниц, метаданные и оглавлениеpdf_searchищет по словам и смыслуpdf_read_pagesчитает нужные страницыpdf_read_allчитает документ целикомpdf_get_tocотдаёт полное оглавлениеpdf_render_pagesрисует страницы в PNGpdf_extract_chartснимает точки с графиковpdf_corpus_warmиндексирует папку с PDFpdf_corpus_overviewделает карточки документов папкиpdf_corpus_searchищет по всей папкеpdf_cache_statsпоказывает размер кэшаpdf_cache_clearчистит кэшserver_infoпоказывает включённые функции5 простых инструментов на PyMuPDF для даташитов и мануалов: текст страниц в JSON, Markdown или HTML, поиск по тексту и рендер страницы в PNG.
Как подключить
Что сделать до подключения
uv с командой uvx: сервер ставится из GitHub при первом запуске
Конфиг для вашего клиента
Команда в терминале, в папке проекта. Флаг --scope user подключит сервер для всех проектов. Подробно о Claude Code
claude mcp add --transport stdio pdf-mcp \
-- uvx --from git+https://github.com/I-CAN-hack/pdf-mcp.git pdf-mcpПроверка: claude mcp list показывает статус рядом с каждым сервером: ✔ Connected, ! Needs authentication или ✘ Failed to connect. Внутри сессии то же видно по команде /mcp.
Файл ~/.codex/config.toml или .codex/config.toml в доверенном проекте. Можно и командой codex mcp add. Подробно о Codex
[mcp_servers.pdf-mcp]
command = "uvx"
args = ["--from", "git+https://github.com/I-CAN-hack/pdf-mcp.git", "pdf-mcp"]Проверка: В интерфейсе codex введите /mcp: появится список активных серверов. Из терминала то же покажет codex mcp list.
Файл ~/.cursor/mcp.json для всех проектов или .cursor/mcp.json в папке проекта. Подробно о Cursor
{
"mcpServers": {
"pdf-mcp": {
"command": "uvx",
"args": ["--from", "git+https://github.com/I-CAN-hack/pdf-mcp.git", "pdf-mcp"]
}
}
}Проверка: Откройте Customize в боковой панели: там список серверов с переключателями. Ошибки подключения смотрите в панели Output (Cmd+Shift+U), пункт MCP Logs в выпадающем списке.
Файл .mcp.json в корне проекта или ~/.copilot/mcp-config.json для всех проектов. Подробно о VS Code
{
"mcpServers": {
"pdf-mcp": {
"type": "stdio",
"command": "uvx",
"args": ["--from", "git+https://github.com/I-CAN-hack/pdf-mcp.git", "pdf-mcp"]
}
}
}Проверка: Попросите Copilot выполнить безобидную задачу через сервер и раскройте вызов инструмента в чате. Одна запись в конфиге подключение не подтверждает.
Файл ~/.qwen/settings.json или .qwen/settings.json в проекте. Подробно о Qwen Code
{
"mcpServers": {
"pdf-mcp": {
"command": "uvx",
"args": ["--from", "git+https://github.com/I-CAN-hack/pdf-mcp.git", "pdf-mcp"]
}
}
}Проверка: Запустите qwen и введите /mcp: откроется окно управления серверами. Из терминала статус покажет qwen mcp list.
Файл ~/.gemini/settings.json или .gemini/settings.json в проекте. Подробно о Gemini CLI
{
"mcpServers": {
"pdf-mcp": {
"command": "uvx",
"args": ["--from", "git+https://github.com/I-CAN-hack/pdf-mcp.git", "pdf-mcp"]
}
}
}Проверка: gemini mcp list показывает каждый сервер, его настройки и статус Connected или Disconnected. В сессии /mcp выводит CONNECTED, CONNECTING или DISCONNECTED и список инструментов.
Файл opencode.json в папке проекта или ~/.config/opencode/opencode.json. Подробно о OpenCode
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"servers": {
"pdf-mcp": {
"type": "local",
"command": [
"uvx",
"--from",
"git+https://github.com/I-CAN-hack/pdf-mcp.git",
"pdf-mcp"
]
}
}
}
}Проверка: opencode mcp list показывает состояние каждого сервера, подключённый выглядит как ✓ context7 connected. Внутри OpenCode то же видно в /mcps.
Настройки → Разработчик → Изменить конфиг: файл claude_desktop_config.json. После правки перезапустите приложение. Подробно о Claude Desktop
{
"mcpServers": {
"pdf-mcp": {
"command": "uvx",
"args": ["--from", "git+https://github.com/I-CAN-hack/pdf-mcp.git", "pdf-mcp"]
}
}
}Проверка: Нажмите «Add files, connectors, and more /» в левом нижнем углу поля ввода, наведите на Connectors и откройте Manage connectors. Выберите сервер, чтобы увидеть его инструменты.
Вкладка Program → Install → Edit mcp.json. Подробно о LM Studio
{
"mcpServers": {
"pdf-mcp": {
"command": "uvx",
"args": ["--from", "git+https://github.com/I-CAN-hack/pdf-mcp.git", "pdf-mcp"]
}
}
}Проверка: Попросите модель в чате выполнить задачу через инструмент сервера. Через API сервер из mcp.json вызывают по id в integrations, например mcp/playwright.
Инструменты сервера
get_pdf_infoчитает метаданные PDFget_table_of_contentsчитает оглавление с номерами страницget_page_textизвлекает текст диапазона страницget_page_imageрисует страницу в PNGsearch_textищет текст по всему файлуПравит файлы: склеивает PDF в заданном порядке и вырезает страницы; сделан под Windows и помечен автором как незаконченный.
Как подключить
Что сделать до подключения
Склонировать репозиторий, в папке выполнить uv venv, активировать окружение и uv pip install -e .
Конфиг для вашего клиента
Команда в терминале, в папке проекта. Флаг --scope user подключит сервер для всех проектов. Подробно о Claude Code
claude mcp add --env 'PDF_TOOLS_ALLOWED_DIRS=<папка с PDF>' --transport stdio mcp-pdf-tools \
-- uv --directory '<путь к папке mcp-pdf-tools>' run pdf-toolsПроверка: claude mcp list показывает статус рядом с каждым сервером: ✔ Connected, ! Needs authentication или ✘ Failed to connect. Внутри сессии то же видно по команде /mcp.
Файл ~/.codex/config.toml или .codex/config.toml в доверенном проекте. Можно и командой codex mcp add. Подробно о Codex
[mcp_servers.mcp-pdf-tools]
command = "uv"
args = ["--directory", "<путь к папке mcp-pdf-tools>", "run", "pdf-tools"]
[mcp_servers.mcp-pdf-tools.env]
PDF_TOOLS_ALLOWED_DIRS = "<папка с PDF>"Проверка: В интерфейсе codex введите /mcp: появится список активных серверов. Из терминала то же покажет codex mcp list.
Файл ~/.cursor/mcp.json для всех проектов или .cursor/mcp.json в папке проекта. Подробно о Cursor
{
"mcpServers": {
"mcp-pdf-tools": {
"command": "uv",
"args": ["--directory", "<путь к папке mcp-pdf-tools>", "run", "pdf-tools"],
"env": {
"PDF_TOOLS_ALLOWED_DIRS": "<папка с PDF>"
}
}
}
}Проверка: Откройте Customize в боковой панели: там список серверов с переключателями. Ошибки подключения смотрите в панели Output (Cmd+Shift+U), пункт MCP Logs в выпадающем списке.
Файл .mcp.json в корне проекта или ~/.copilot/mcp-config.json для всех проектов. Подробно о VS Code
{
"mcpServers": {
"mcp-pdf-tools": {
"type": "stdio",
"command": "uv",
"args": ["--directory", "<путь к папке mcp-pdf-tools>", "run", "pdf-tools"],
"env": {
"PDF_TOOLS_ALLOWED_DIRS": "<папка с PDF>"
}
}
}
}Проверка: Попросите Copilot выполнить безобидную задачу через сервер и раскройте вызов инструмента в чате. Одна запись в конфиге подключение не подтверждает.
Файл ~/.qwen/settings.json или .qwen/settings.json в проекте. Подробно о Qwen Code
{
"mcpServers": {
"mcp-pdf-tools": {
"command": "uv",
"args": ["--directory", "<путь к папке mcp-pdf-tools>", "run", "pdf-tools"],
"env": {
"PDF_TOOLS_ALLOWED_DIRS": "<папка с PDF>"
}
}
}
}Проверка: Запустите qwen и введите /mcp: откроется окно управления серверами. Из терминала статус покажет qwen mcp list.
Файл ~/.gemini/settings.json или .gemini/settings.json в проекте. Подробно о Gemini CLI
{
"mcpServers": {
"mcp-pdf-tools": {
"command": "uv",
"args": ["--directory", "<путь к папке mcp-pdf-tools>", "run", "pdf-tools"],
"env": {
"PDF_TOOLS_ALLOWED_DIRS": "<папка с PDF>"
}
}
}
}Проверка: gemini mcp list показывает каждый сервер, его настройки и статус Connected или Disconnected. В сессии /mcp выводит CONNECTED, CONNECTING или DISCONNECTED и список инструментов.
Файл opencode.json в папке проекта или ~/.config/opencode/opencode.json. Подробно о OpenCode
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"servers": {
"mcp-pdf-tools": {
"type": "local",
"command": [
"uv",
"--directory",
"<путь к папке mcp-pdf-tools>",
"run",
"pdf-tools"
],
"environment": {
"PDF_TOOLS_ALLOWED_DIRS": "<папка с PDF>"
}
}
}
}
}Проверка: opencode mcp list показывает состояние каждого сервера, подключённый выглядит как ✓ context7 connected. Внутри OpenCode то же видно в /mcps.
Настройки → Разработчик → Изменить конфиг: файл claude_desktop_config.json. После правки перезапустите приложение. Подробно о Claude Desktop
{
"mcpServers": {
"mcp-pdf-tools": {
"command": "uv",
"args": ["--directory", "<путь к папке mcp-pdf-tools>", "run", "pdf-tools"],
"env": {
"PDF_TOOLS_ALLOWED_DIRS": "<папка с PDF>"
}
}
}
}Проверка: Нажмите «Add files, connectors, and more /» в левом нижнем углу поля ввода, наведите на Connectors и откройте Manage connectors. Выберите сервер, чтобы увидеть его инструменты.
Вкладка Program → Install → Edit mcp.json. Подробно о LM Studio
{
"mcpServers": {
"mcp-pdf-tools": {
"command": "uv",
"args": ["--directory", "<путь к папке mcp-pdf-tools>", "run", "pdf-tools"],
"env": {
"PDF_TOOLS_ALLOWED_DIRS": "<папка с PDF>"
}
}
}
}Проверка: Попросите модель в чате выполнить задачу через инструмент сервера. Через API сервер из mcp.json вызывают по id в integrations, например mcp/playwright.
Инструменты сервера
merge-pdfsсклеивает несколько PDFmerge-pdfs-orderedсклеивает PDF в заданном порядкеextract-pagesвырезает страницы в новый файлsearch-pdfsищет PDF-файлыfind-related-pdfsнаходит связанные PDF по шаблонуЧто попросить агента
Для каких задач
Ограничения
pdf-mcp из коробки настроен на английский: смысловой поиск по русским текстам требует многоязычной модели, OCR русского — языкового пакета Tesseract и ocr_lang
Первый запуск расширения pdf-mcp для Claude Desktop скачивает около 250 МБ и идёт несколько минут
Вариант I-CAN-hack только читает файлы: склеивать и резать PDF умеет лишь MCP PDF Tools
MCP PDF Tools: 76 звёзд, автор помечает его как незаконченный, установка только из исходников, инструкция под Windows
Если не работает
pip install pdf-mcp отказывается ставить пакет в систему
На Python 3.15 ставится очень старая версия pdf-mcp
MCP PDF Tools не открывает файл из другой папки
Какую реализацию выбрать
| Реализация | Кто делает | Звёзды | Запуск | Ключ | Инструменты | Обновлён |
|---|---|---|---|---|---|---|
| pdf-mcp | jztan | 171 | локально | не нужен | 13 | 10 ноября 2026 |
| pdf-mcp (I-CAN-hack) | I-CAN-hack | 82 | локально | не нужен | 5 | 19 октября 2026 |
| MCP PDF Tools | hanweg | 76 | локально | не нужен | 5 | 22 октября 2026 |