Сервер MCP для чтения PDF-файлов (@sylphlab/pdf-reader-mcp)
Предоставьте своим ИИ-агентам (например, Cline) возможность безопасно считывать и извлекать информацию (текст, метаданные, количество страниц) из PDF-файлов в контексте вашего проекта с помощью единого гибкого инструмента.
Установка
Использование npm (рекомендуется)
Установите как зависимость в вашей среде хоста MCP или проекте:
Настройте свой хост MCP (например, mcp_settings.json ) для использования npx :
(Убедитесь, что хост установил правильный
Использование Докера
Вытяните изображение:
Настройте свой хост MCP для запуска контейнера, смонтировав каталог проекта в /app :
Локальная сборка (для разработки)
Клон:
git clone https://github.com/sylphlab/pdf-reader-mcp.gitУстановить:
cd pdf-reader-mcp && pnpm installСборка:
pnpm run buildНастройте хост MCP:
{ "mcpServers": { "pdf-reader-mcp": { "command": "node", "args": ["/path/to/cloned/repo/pdf-reader-mcp/build/index.js"], "name": "PDF Reader (Local Build)" } } }(Убедитесь, что хост установил правильный
Related MCP server: File Converter MCP Server
Быстрый старт
Предположим, что сервер запущен и настроен на вашем хосте MCP:
Запрос MCP (получить метаданные и текст страницы 2 из локального PDF-файла):
Ожидаемый фрагмент ответа:
Почему стоит выбрать этот проект?
🛡️ Безопасность: ограничивает доступ к файлам строго корневым каталогом проекта.
🌐 Гибкость: обрабатывает как локальные относительные пути, так и публичные URL-адреса.
🧩 Объединение: один инструмент
read_pdfудовлетворяет нескольким потребностям извлечения (полный текст, определенные страницы, метаданные, количество страниц).⚙️ Структурированный вывод: возвращает данные в предсказуемом формате JSON, который легко анализируется агентами.
🚀 Простая интеграция: разработан для бесперебойного использования в средах MCP через
npxили Docker.✅ Надежность: использует
pdfjs-distдля надежного анализа и Zod для проверки входных данных.
Преимущества производительности
Первоначальные тесты с использованием Vitest на примере PDF-файла демонстрируют эффективную обработку различных операций:
Сценарий | Операций в секунду (Гц) | Относительная скорость |
Обработать несуществующий файл | ~12,933 | Самый быстрый |
Получить полный текст | ~5,575 | |
Получить определенную страницу (страница 1) | ~5,329 | |
Получить определенные страницы (страницы 1 и 2) | ~5,242 | |
Получить метаданные и количество страниц | ~4,912 | Самый медленный |
(Более высокая частота указывает на лучшую производительность. Результаты могут различаться в зависимости от сложности PDF-файла и среды.)
Более подробную информацию и планы на будущее см. в документации по производительности .
Функции
Прочитайте полный текст содержимого PDF-файлов.
Прочитайте текстовое содержимое определенных страниц или диапазонов страниц.
Чтение метаданных PDF-файла (автор, название, дата создания и т. д.).
Получите общее количество страниц в PDF-файле.
Обработка нескольких источников PDF-файлов (локальных путей или URL-адресов) в одном запросе.
Безопасно работает в пределах определенного корня проекта.
Предоставляет структурированный вывод JSON через MCP.
Доступно через npm и Docker Hub.
Философия дизайна
Сервер отдает приоритет безопасности посредством ограничения контекста, эффективности посредством структурированной передачи данных и простоте для легкой интеграции в рабочие процессы агентов ИИ. Он нацелен на минимальные зависимости, полагаясь на надежную библиотеку pdfjs-dist .
Ознакомьтесь с полной документацией по философии дизайна .
Сравнение с другими решениями
По сравнению с прямым доступом к файлам (часто невозможным) или общими инструментами файловой системы этот сервер предлагает возможности анализа, специфичные для PDF. В отличие от внешних инструментов CLI (например, pdftotext ), он предоставляет безопасный, интегрированный интерфейс MCP со структурированным выводом, повышая надежность и простоту использования для агентов ИИ.
См. полную документацию по сравнению .
Планы на будущее (дорожная карта)
Документация:
Доработать все разделы документации (Руководство, API, Дизайн, Сравнение).
Решить проблему TypeDoc и создать документацию API.
Добавьте больше примеров и расширенных моделей использования.
Реализовать поддержку PWA и мобильную оптимизацию для сайта документации.
Добавьте кнопки «Поделиться» и показатели роста на сайт документации.
Сравнительный анализ:
Проведите комплексное тестирование различных PDF-файлов (размер, сложность).
Измерение использования памяти.
Сравните производительность URL и локальных файлов.
Основная функциональность:
Изучите потенциальные возможности оптимизации для очень больших PDF-файлов.
Изучите варианты извлечения изображений или аннотаций (в долгосрочной перспективе).
Тестирование:
Увеличьте охват тестированием до 100%, где это возможно.
Добавляйте тесты времени выполнения, как только это станет возможным.
Документация
Подробную информацию об использовании, справку по API и руководства можно найти на веб-сайте полной документации (ссылка будет обновлена после развертывания).
Сообщество и поддержка
Нашли ошибку или хотите запросить функцию? Пожалуйста, откройте вопрос на GitHub Issues .
Хотите внести свой вклад? Мы приветствуем вклады! Пожалуйста, посетите CONTRIBUTING.md .
Звезда и наблюдение: Если вы считаете этот проект полезным, пожалуйста, рассмотрите возможность поставить звездочку ⭐ и следить за 👀 репозиторием на GitHub , чтобы продемонстрировать свою поддержку и оставаться в курсе событий!
Лицензия
Данный проект лицензирован по лицензии MIT .