Сервер MCP для чтения PDF-файлов (@sylphlab/pdf-reader-mcp)
Предоставьте своим ИИ-агентам (например, Cline) возможность безопасно считывать и извлекать информацию (текст, метаданные, количество страниц) из PDF-файлов в контексте вашего проекта с помощью единого гибкого инструмента.
Установка
Использование npm (рекомендуется)
Установите как зависимость в вашей среде хоста MCP или проекте:
Настройте свой хост MCP (например, mcp_settings.json
) для использования npx
:
(Убедитесь, что хост установил правильный cwd
для целевого проекта)
Использование Докера
Вытяните изображение:
Настройте свой хост MCP для запуска контейнера, смонтировав каталог проекта в /app
:
Локальная сборка (для разработки)
- Клон:
git clone https://github.com/sylphlab/pdf-reader-mcp.git
- Установить:
cd pdf-reader-mcp && pnpm install
- Сборка:
pnpm run build
- Настройте хост MCP:(Убедитесь, что хост установил правильный
cwd
для целевого проекта)
Быстрый старт
Предположим, что сервер запущен и настроен на вашем хосте 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 .
You must be authenticated.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Позволяет агентам ИИ безопасно считывать и извлекать информацию (текст, метаданные, количество страниц) из PDF-файлов в контексте проекта с помощью гибкого инструмента MCP.
Related MCP Servers
- AsecurityAlicenseAqualityAiDD MCP Server provides a secure interface for AI agents to perform file system operations and code analysis, enhancing AI-assisted development workflows across multiple programming languages.Last updated -2960PythonApache 2.0
- -securityFlicense-qualityA server providing PDF form manipulation tools via MCP's API, allowing users to find PDFs across directories, extract form field information, and visualize form fields in documents.Last updated -Python
- AsecurityFlicenseAqualityAn MCP server that provides a tool to extract text content from local PDF files, supporting both standard PDF reading and OCR capabilities with optional page selection.Last updated -15Python
- -securityAlicense-qualityAn MCP server that provides multiple file conversion tools for AI agents, supporting various document and image format conversions including DOCX to PDF, PDF to DOCX, image conversions, Excel to CSV, HTML to PDF, and Markdown to PDF.Last updated -3PythonMIT License