iva-file-delivery
Allows the server to send a local file from the vault/attachments directory to the owner's personal Telegram chat using the Telegram Bot API sendDocument method, with security checks to ensure the recipient is the authenticated chat owner.
Click on "Deploy 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., "@iva-file-deliverySend the generated PDF report to me in this chat."
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.
iva-file-delivery
Плагин для Iva, который отправляет готовый локальный файл в текущий личный Telegram-чат владельца от имени бота Ивы.
Плагин решает один узкий сценарий: Ива создала или извлекла документ и должна приложить его
к ответу. Файл загружается напрямую в Telegram методом sendDocument; личный аккаунт
владельца, «Избранное» и публичный файловый хостинг не используются. Проверять и применять
следующие стабильные версии можно из того же чата после нативного кнопочного подтверждения.
Статус: текущая версия проверена с Iva
0.4.3(Eve0.51.1). Перед установкой на основной экземпляр рекомендуется один контролируемый canary-файл без чувствительных данных.
Как это выглядит
владелец просит файл в личном чате
→ Iva сохраняет результат в vault/attachments/
→ file_delivery__send_document
→ Telegram Bot API
→ тот же личный чат, отправитель — бот Ивы
обычный текст ответа
→ штатный Outbox IvaИнструмент | Назначение |
| Отправить файл из |
| Проверить новую SemVer-версию и GitHub Actions без изменений сервера |
| После кнопки «Обновить» запустить проверенную версию в фоновой systemd job |
| Показать итог фонового обновления или автоматического отката |
File tool принимает только относительный путь внутри vault/attachments/ и необязательное
безопасное имя файла. Адрес чата в его аргументах отсутствует.
Related MCP server: mcp-telegram-claudecode
Граница безопасности
Получатель берётся из аутентифицированного контекста текущего Telegram-turn, а не из текста запроса или аргумента модели.
Разрешён только личный чат, где Telegram
chat_idсовпадает с аутентифицированнымuser_id. Группы, каналы, CLI-turn и отправка другому пользователю отклоняются.Файл должен быть обычным, видимым и непустым, находиться физически внутри
vault/attachments/и иметь размер не больше 50 МБ.Абсолютные пути, dot-path, выход через
.., симлинки и переименование файла в путь отклоняются.Плагин не принимает caption: пояснение Ивы продолжает идти через штатный Outbox.
Нет fallback на userbot, «Избранное», произвольный
chat_idили публичную ссылку.Telegram bot token читается из уже настроенного окружения Iva. Отдельный секрет плагину не нужен, токен не возвращается в tool result и не логируется кодом плагина.
Updater принимает только SHA и одноразовый token свежего offer для этого уже установленного плагина. Имя плагина, URL, ref и shell-команда не принимаются от модели.
Обновление разрешается только при более высокой SemVer и успешном GitHub Actions на точном candidate SHA; после установки запускается
iva doctor, а неуспешная версия откатывается.
Плагин не анализирует содержимое файла на секреты. Файл передаётся Telegram и остаётся доступен владельцу чата; перед отправкой чувствительных данных нужно проверить сам результат. Подробная модель угроз и осознанные ограничения описаны в SECURITY.md и docs/DESIGN.md.
Требования
Iva
0.4.3;настроенный Telegram-бот Iva и личный чат владельца;
Linux с user systemd для обновления из чата;
Node.js 24 для разработки.
Поддержка заявляется только для проверенных сочетаний из docs/COMPATIBILITY.md. Более новая Iva не считается автоматически совместимой.
Установка
На сервере под тем же Unix-пользователем, которому принадлежит Iva:
iva plugin add mamysh/iva-file-delivery/plugin@stable --trust
iva plugin list
iva doctorДополнительный .env не нужен. --trust разрешает только отдельный MCP-процесс updater;
отправка файла остаётся встроенным Extension. Iva соберёт Extension, подключит updater и
перезапустит агент по штатному lifecycle. Для первого теста попросите Иву создать небольшой
текстовый файл и прислать его в текущий чат.
Ветка stable двигается только на проверенные выпуски. После установки попросите Иву:
«Проверь обновление плагина доставки файлов». Она покажет версии и источник, затем предложит
нативные кнопки Обновить и Позже. Для полностью неизменяемой установки укажите точный
tag, например @v0.2.0; такой source не получает новые версии автоматически.
Пошаговая установка, обновление, удаление и troubleshooting находятся в docs/SETUP.md.
Разработка
npm ci
npm run checkПроверка ищет секреты и приватные локальные следы, валидирует дистрибутив, запускает TypeScript
typecheck, отрицательные и положительные тесты, собирает Eve Extension и проверяет stdio MCP
smoke-test. plugin/sh.iva/dist/ не коммитится: Iva собирает Extension при установке.
plugin/update-server.mjs и plugin/update-worker.mjs коммитятся намеренно, чтобы production
не загружал npm-зависимости updater во время установки.
Изменения приветствуются по правилам CONTRIBUTING.md. Устройство плагина и release-процесс описаны в docs/DESIGN.md и docs/RELEASING.md.
Связанные проекты
Безопасность
Не публикуйте Telegram bot token, реальные chat/user ID, содержимое частных файлов, абсолютные пути сервера или несокращённые логи. Уязвимости следует сообщать приватно по инструкции в SECURITY.md.
Лицензия
This server cannot be deployed
Maintenance
Related MCP Connectors
Run a Telegram channel from your AI agent. Posts go out through your own bot, not your account.
Telegram bridge for your MCP-compatible agent. Bidirectional, no LLM in our stack.
Manage Telegram drafts, media, schedules and publications from AI clients.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI agents to send and receive messages, media, and files on Telegram, and manage chats via a bot token.17MIT
- AlicenseAqualityCmaintenanceEnables Claude Code to send and receive messages via Telegram for remote interaction and approval of sensitive operations.86 npm7MIT
- AlicenseNot gradedqualityDmaintenanceEnables communication with users through Telegram, including asking questions, sending notifications, sharing files, and creating project archives via a bot.30 npmISC
- FlicenseNot gradedqualityDmaintenanceEnables sending notes directly to your Telegram account using a Telegram bot. Provides a 'send-note' tool for programmatic note delivery via the Telegram messaging platform.-