OnePoint
mcp-gmail.ru · v1.2.0 · в работе
MCP-сервер для почты · один владелец · свой сервер

Ваши ИИ-ассистенты читают и пишут почту через один защищённый мост.

OnePoint подключает Claude, Perplexity, Cursor или любой другой MCP-клиент к нескольким ящикам Gmail сразу — и каждому ассистенту выдаёт ровно те ящики, которые вы разрешили. Плюс файлы, вложения и документы по вашим шаблонам.

В продакшене с 28 августа 2026, ежедневное использование.

Claude · iPhoneслед вызовов моста
Вы
Найди последнее письмо от Ромашки, выстави им счёт по нашему шаблону и подготовь ответ — но не отправляй.
✓search_messagesoffice@… · «Ромашка» · 3 письма
✓read_messageтема «Договор поставки», ИНН в подписи
✓list_templatesСчёт.xlsx · поля: number, client, total, items[]
✓fill_templateСчёт 14.xlsx · 3 позиции · 42 КБ
✓create_reply_draftчерновик в той же цепочке, вложение приложено
Claude
Черновик готов и лежит в цепочке с Ромашкой, счёт № 14 приложен. Проверьте сумму 15 000 ₽ — отправлю по вашей команде.
Одно окно к письмам — как ячейка в сортировочной: открывается только своим ключом.

Пять запросов и то, что мост делает по каждому.

Выберите запрос — справа появится порядок вызовов, который выполняет мост, включая два отказа: чужой ящик и счёт без суммы. Адреса и суммы примерные, к серверу страница не обращается.

Показан порядок вызовов, который выполняет мост. Данные примерные.

Ассистент · телефонслед вызовов моста
Вы
Что нового от бухгалтера за неделю?
✓search_messagesoffice@example.lv · from:accounting newer_than:7d · 2 письма: «Акт сверки за август», «Счёт 118 оплачен»
✓read_message«Акт сверки за август» · тело письма, 1 вложение: акт.pdf, 212 КБ
Ассистент
Два письма. Бухгалтер прислала акт сверки за август и просит подписать до пятницы; второе письмо подтверждает оплату счёта 118. Сохранить акт в хранилище?

Не почтовый клиент и не чат-бот. Слой между ассистентом и ящиком.

Ассистент остаётся тем, каким вы его выбрали. Мост даёт ему инструменты — поиск, чтение, черновики, отправку, вложения, документы — и следит за тем, чтобы каждый инструмент работал только в разрешённых границах.

10 мин
живёт одноразовая ссылка для загрузки файла
20
инструментов, доступных ассистенту
171
автотест, 12 наборов, прогон перед каждым релизом
3
формата документов: Word, Excel, PowerPoint
1,3 с
простой при обновлении версии
0
баз данных: шифрованные файлы на одном томе

Подключается за вечер. Дальше — просто разговор.

01

Подключить ящики

На странице владельца добавляете адрес и входите в Google. Токен шифруется и остаётся на вашем сервере. Ничего не переустанавливается — новый ящик виден сразу.

02

Подключить ассистента

В Claude или Perplexity указываете адрес моста. Он сам регистрируется по OAuth, а вы одним экраном решаете, какие ящики ему доверить.

03

Говорить

«Что нового от бухгалтера», «ответь Ивану, что подписали», «выстави счёт». Отправка — только по явной команде; всё остальное ассистент делает сам.

Каждый инструмент объявляет, к чему прикасается.

Инструмент без объявленной границы сервер не собирает — это проверяется при старте, а не в момент инцидента.

Почта11 инструментов
list_accountsкакие ящики доступны этому ассистенту
search_messagesпоиск синтаксисом Gmail в одном ящике
read_message письмо с телом и списком вложений
read_threadвся цепочка переписки
list_drafts + get_draft, create_draft, update_draft, send_draft
send_emailновое письмо с вложениями — только по команде
get_profileпроверка, что ящик отвечает
Ответы2 инструмента
reply_to_messageответ внутри цепочки: адресатов и тему выбирает мост, не модельРЕЛИЗ 1.3
create_reply_draftто же, но черновиком — чтобы сначала посмотретьРЕЛИЗ 1.3
Файлы5 инструментов
save_attachmentвложение из письма — в хранилище, чтобы переслать
list_uploadsчто лежит в хранилище (только видимое этому ассистенту)
create_upload_linkодноразовая ссылка на 10 минут, чтобы закинуть файл с телефона
request_file_from_personссылка + код для контрагента, до 10 файлов
delete_uploadудалить файл — по команде
Документы2 инструмента
list_templatesваши шаблоны и точный список полей каждого
fill_templateзаполнить и положить готовый файл рядом с вложениями

Счета, договоры, акты — по вашему шаблону, а не по чужому.

Вы загружаете обычный файл Word, Excel или PowerPoint, где вместо значений стоят поля в фигурных скобках. Ассистент видит, какие поля нужны, заполняет их и прикладывает готовый документ к письму.

Один синтаксис для всех трёх форматов. Строка таблицы размножается по числу позиций. Битый шаблон отклоняется при загрузке с объяснением, где ошибка. Пропущенное поле — не тихая пустота, а отказ: счёт с пустой суммой не должен уйти клиенту.

.docx.xlsx.pptxколонтитулы и сноскиMIT-библиотеки
Счёт № {number}
Плательщик: {client}
{#items}{name}{qty}{price}{/items}
Итого: {total}
{#vat}В том числе НДС 20 %{/vat}

Ничего не уходит с вашего сервера. И на нём — не больше, чем нужно.

Свой сервер, свой ключ

Токены ящиков, регистрации ассистентов и настройки лежат в файлах, зашифрованных AES-256-GCM. Ключ — только в окружении сервера. Ротация ключа без простоя, старые файлы читаются старым ключом до перешифрования.

Каждому ассистенту — свои ящики

Список разрешённых ящиков зашит в схему инструментов, и сервер проверяет её сам. Вложение, сохранённое из ящика, наследует его границы: обойти запрет через файл нельзя.

Отправка только по команде

Черновик — не разрешение отправить. Инструкции ассистенту разделяют «новое письмо» и «ответ», «свой файл» и «файл от другого человека» так, чтобы перепутать было структурно невозможно.

Контейнер только для чтения

Docker с read_only: true, писать можно в единственный том. TLS выпускает и продлевает Caddy. Пароль владельца и коды ссылок под лимитом попыток.

Логи, в которые нельзя утечь

Логгер пишет только поля из белого списка. Тела писем, темы, адреса получателей, токены и пароли туда попасть не могут — даже по ошибке в коде.

Одноразовые ссылки вместо доступа

Файл от контрагента — по ссылке на час и шестизначному коду, переданному другим каналом. Ссылка сгорает после N файлов и никогда не перезаписывает ваши документы.

Одна служба, один том, один домен.

Ассистенты
  • Claude web, iOS, Code
  • Perplexity
  • Cursor, VS Code
  • любой MCP-клиент
OAuth 2.1
OnePoint
  • 20 инструментов · границы на каждом
  • Хранилище файлов с происхождением
  • Движок шаблонов · отдельный модуль
  • Страница владельца · телефон
Gmail API
Почта
  • ваши ящики
  • gmail.com и свои домены
  • токены — на вашем сервере
Хранение — шифрованные JSON-файлы, без базы данных; бэкап — один архив тома
Доставка — Docker Compose, read-only контейнер, Caddy с автоматическим TLS
Проверка — 171 тест внутри собранного образа до переключения версии

Чего здесь нет — и почему.

  • Только Gmail и Google Workspace. Яндекс.Почта даёт лишь IMAP с платным тарифом и верификацией через Госуслуги — трек закрыт после разведки, не после попытки.
  • Один владелец на установку. Это не SaaS с тысячей аккаунтов, а служба, которая принадлежит тому, чья это почта. Многопользовательский режим — отдельное решение, не патч.
  • Свой проект в Google Cloud. Каждая установка использует собственное OAuth-приложение. Это и есть главная стоимость владения — и главное препятствие для «коробки».
  • Ассистент не читает PDF из вложений. Файл можно сохранить и переслать, но извлечение текста — следующий шаг.

План — из проверенных находок, а не из пожеланий.

Код прошёл разбор шестью независимыми проверками; каждый найденный дефект перепроверен против исходников. Первый пункт уже исправлен и ждёт релиза.

1.3
Ответы внутри цепочкиадресатов, тему и заголовки цепочки выбирает мост
1.3
Устойчивость хранилищодна неудачная запись больше не блокирует следующие
далее
Ночной бэкап тома и проверенное восстановлениеплюс рецепт переезда на другой сервер без пере-авторизации
далее
Живая проверка ящиков«нужно войти заново» — на странице, а не по звонку
далее
Журнал «что делал ассистент»отправки со ссылкой в Gmail, ошибки фильтром
далее
Прочитано, архив, меткитребует пере-авторизации ящиков
далее
Политика исходящихподтверждение нового адреса, лимит в час, защита от дублей
отдельно
Движок документов как самостоятельный продуктуже вынесен в модуль без зависимости от почты