pdf-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@pdf-mcpgenerate a market report for the new residential complex"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
pdf-mcp
MCP-сервер для генерации PDF-отчётов по объектам недвижимости. Работает с LibreChat, Claude Desktop и любым MCP-совместимым клиентом.
Сделан как часть дипломного проекта по автоматизации аналитической отчётности в строительном бизнесе.
Что умеет
Отчёт по локации: транспорт, инфраструктура, конкуренты, оценки по блокам
Отчёт по рынку: таблицы цен, конкуренты, динамика
Итоговый отчёт по проекту: параметры объекта, локация, рынок, входные данные для финансовой модели
Поддержка кириллицы через TTF-шрифты Arial
Преобразование Markdown в PDF без внешних SDK
Related MCP server: PDF Reader MCP Server
Структура
pdf-mcp/
├── mcp_server.py MCP-сервер, обрабатывает запросы от агента
├── pdf_generator.py собирает PDF из Markdown
├── requirements.txt зависимости
├── fonts/ шрифты Arial для кириллицы
└── README.mdУстановка
Клонируй репозиторий:
git clone https://github.com/talipovvs/pdf_mcp.git
cd pdf_mcpУстанови зависимости:
pip install -r requirements.txtШрифты Arial уже лежат в папке
fonts/. Если хочешь заменить — клади туда своиArial.ttf,ArialBold.ttf,ArialItalic.ttfиArialBoldItalic.ttf.
Подключение к LibreChat
В файле librechat.yaml добавь:
mcpServers:
pdf-reports:
command: python3
args:
- "/путь/до/pdf_mcp/mcp_server.py"
env:
REPORTS_DIR: "/путь/до/папки/с/отчётами"
REPORTS_URL: "http://localhost:8090"
timeout: 60000Переменные окружения
Переменная | Что делает | По умолчанию |
REPORTS_DIR | Куда сохранять готовые PDF | /agent-data/reports |
REPORTS_URL | Базовый URL для скачивания PDF |
Инструменты
Сервер регистрирует четыре tools, которые видит агент:
generate_location_report
PDF по анализу локации. В Markdown должно быть:
таблица оценок по блокам (транспорт, инфраструктура, конкуренты, район)
топ-3 преимуществ и рисков
итоговый балл и вывод
generate_market_report
PDF по исследованию рынка. В Markdown должно быть:
таблицы цен (мин / медиана / макс / источник)
основные конкуренты
динамика цен и вывод
generate_summary_report
Итоговый PDF по проекту. В Markdown должно быть:
параметры объекта
сжатые блоки по локации и рынку
макропараметры и входные данные для финансовой модели
get_current_date
Возвращает текущую дату с сервера в формате YYYY-MM-DD. Нужен, чтобы агент не придумывал даты сам — модель не знает текущее время.
Общие параметры (для трёх PDF-инструментов)
Параметр | Тип | Что значит |
object_name | string | Название объекта, например «Дом Сидорова» |
object_address | string | Адрес или локация |
content | string | Содержимое отчёта в формате Markdown |
company_name | string | Название компании для шапки отчёта |
object_type | string | «жилой» или «коммерческий», влияет на дисклеймер |
Как это работает
Агент → mcp_server.py → pdf_generator.py → готовый PDF → URL для скачиванияLibreChat при старте поднимает mcp_server.py и держит его процесс живым
Агент вызывает один из инструментов и шлёт Markdown с содержимым отчёта
mcp_server.py запускает pdf_generator.py через subprocess и передаёт параметры в JSON
pdf_generator.py рендерит Markdown в PDF через fpdf2
Готовый файл сохраняется в REPORTS_DIR, агент получает ссылку и показывает её пользователю
Что понимает в Markdown
Что в Markdown | Как рендерится |
| Синяя плашка с белым текстом |
| Синий текст |
| Маркированный список с буллетом |
| Нумерованный список |
| Таблица с чередующимися строками и шапкой |
| Жирный ключ, обычное значение справа |
| Серый курсив для внутренних пометок |
| Горизонтальная линия |
Зависимости
Пакет | Зачем |
mcp | реализация MCP-протокола |
fpdf2 | сборка PDF |
markdown | парсинг Markdown |
jinja2 | зарезервировано для шаблонов |
Тест без LibreChat
Можно проверить генерацию PDF напрямую, без MCP:
echo '{"tool":"generate_summary_report","object_name":"Тест","object_address":"Москва","content":"## Заголовок\n- пункт 1","company_name":"Моя Компания"}' | python3 pdf_generator.pyВ REPORTS_DIR появится PDF-файл, путь к нему выведется в stdout.
Лицензия
MIT. Используй как хочешь.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/talipovvs/pdf_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server