Skip to main content
Glama

Сервер MCP для чтения PDF-файлов (@sylphlab/pdf-reader-mcp)

Конвейер CI/CD кодеков npm-версия Докер тянет Лицензия: Массачусетский технологический институт

Предоставьте своим ИИ-агентам (например, Cline) возможность безопасно считывать и извлекать информацию (текст, метаданные, количество страниц) из PDF-файлов в контексте вашего проекта с помощью единого гибкого инструмента.

Установка

Использование npm (рекомендуется)

Установите как зависимость в вашей среде хоста MCP или проекте:

pnpm add @sylphlab/pdf-reader-mcp # Or npm install / yarn add

Настройте свой хост MCP (например, mcp_settings.json ) для использования npx :

{ "mcpServers": { "pdf-reader-mcp": { "command": "npx", "args": ["@sylphlab/pdf-reader-mcp"], "name": "PDF Reader (npx)" } } }

(Убедитесь, что хост установил правильный

Использование Докера

Вытяните изображение:

docker pull sylphlab/pdf-reader-mcp:latest

Настройте свой хост MCP для запуска контейнера, смонтировав каталог проекта в /app :

{ "mcpServers": { "pdf-reader-mcp": { "command": "docker", "args": [ "run", "-i", "--rm", "-v", "/path/to/your/project:/app", // Or use "$PWD:/app", "%CD%:/app", etc. "sylphlab/pdf-reader-mcp:latest" ], "name": "PDF Reader (Docker)" } } }

Локальная сборка (для разработки)

  1. Клон: git clone https://github.com/sylphlab/pdf-reader-mcp.git

  2. Установить: cd pdf-reader-mcp && pnpm install

  3. Сборка: pnpm run build

  4. Настройте хост 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-файла):

{ "tool_name": "read_pdf", "arguments": { "sources": [ { "path": "./documents/my_report.pdf", "pages": [2] } ], "include_metadata": true, "include_page_count": false, // Default is true, explicitly false here "include_full_text": false // Ignored because 'pages' is specified } }

Ожидаемый фрагмент ответа:

{ "results": [ { "source": "./documents/my_report.pdf", "success": true, "data": { "page_texts": [ { "page": 2, "text": "Text content from page 2..." } ], "info": { ... }, "metadata": { ... } // num_pages not included as requested } } ] }

Почему стоит выбрать этот проект?

  • 🛡️ Безопасность: ограничивает доступ к файлам строго корневым каталогом проекта.

  • 🌐 Гибкость: обрабатывает как локальные относительные пути, так и публичные 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 .

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SylphxAI/pdf-reader-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server