Integrations
Built with containerization in mind, enabling deployment in isolated environments with a pre-built image available for multiple platforms.
Provides headless Gmail access for retrieving recent emails and sending emails without requiring local credential or token setup. Handles OAuth authentication and token refreshing.
MCP Headless Gmail-сервер
Сервер MCP (Model Context Protocol), который обеспечивает получение и отправку писем Gmail без локальной настройки учетных данных или токена.
Почему стоит выбрать MCP Headless Gmail Server?
Критические преимущества
- Автономная и удаленная работа : в отличие от других решений MCP Gmail, требующих запуска вне Docker и доступа к локальным файлам, этот сервер может работать полностью автономно в удаленных средах без браузера и доступа к локальным файлам.
- Разделенная архитектура : любой клиент может независимо завершить поток OAuth, а затем передать учетные данные в качестве контекста на этот сервер MCP, создавая полное разделение между хранилищем учетных данных и реализацией сервера.
Неплохо, но не критично
- Специализированная функциональность : во многих случаях использования, особенно для маркетинговых приложений, требуется только доступ к Gmail без дополнительных служб Google, таких как Календарь, что делает эту специализированную реализацию идеальной.
- Docker-Ready : разработан с учетом контейнеризации для надежной изоляции, независимой от среды и настройки в один клик.
- Надежные зависимости : построено на хорошо поддерживаемой библиотеке google-api-python-client.
Функции
- Получайте последние письма из Gmail с первыми 1000 символами текста
- Получите полный текст письма частями по 1 тыс. с помощью параметра offset
- Отправка писем через Gmail
- Обновите токены доступа по отдельности
- Автоматическая обработка токенов обновления
Предпосылки
- Python 3.10 или выше
- Учетные данные API Google (идентификатор клиента, секрет клиента, токен доступа и токен обновления)
Установка
Докер
Создание образа Docker
Использование с Claude Desktop
Вы можете настроить Claude Desktop для использования образа Docker, добавив в конфигурацию Claude следующее:
докер
npm-версия
Примечание: При такой конфигурации вам необходимо предоставить учетные данные Google API в вызовах инструментов, как показано в разделе «Использование инструментов» . Учетные данные Gmail не передаются как переменные среды для поддержания разделения между хранилищем учетных данных и реализацией сервера.
Кросс-платформенная публикация
Чтобы опубликовать образ Docker для нескольких платформ, вы можете использовать команду docker buildx
. Выполните следующие действия:
- Создайте новый экземпляр конструктора (если вы еще этого не сделали):Copy
- Создайте и распространите образ на несколько платформ :Copy
- Убедитесь, что изображение доступно для указанных платформ :Copy
Использование
Сервер обеспечивает функциональность Gmail через инструменты MCP. Обработка аутентификации упрощается с помощью специального инструмента обновления токенов.
Запуск сервера
Использование инструментов
При использовании MCP-клиента, такого как Claude, у вас есть два основных способа выполнения аутентификации:
Обновление токенов (первый шаг или по истечении срока действия токенов)
Если у вас есть и токены доступа, и токены обновления:
Если срок действия вашего токена доступа истек, вы можете обновить его, используя только токен обновления:
Это вернет новый токен доступа и время его действия, которые вы сможете использовать для последующих вызовов.
Получение последних писем
Извлекает последние электронные письма с первыми 1000 символами каждого текста электронного письма:
Ответ включает в себя:
- Метаданные электронной почты (id, threadId, от, кому, тема, дата и т. д.)
- Первые 1000 символов текста письма
body_size_bytes
: Общий размер тела письма в байтах.contains_full_body
: логическое значение, указывающее, включено ли все тело (true) или усечено (false)
Получение полного содержания электронного письма
Для писем, текст которых превышает 1 тыс. символов, вы можете извлечь все содержимое по частям:
Вы также можете получить содержимое письма по идентификатору темы:
Ответ включает в себя:
- Фрагмент текста письма размером 1 КБ, начинающийся с указанного смещения
body_size_bytes
: Общий размер тела письмаchunk_size
: Размер возвращаемого фрагментаcontains_full_body
: логическое значение, указывающее, содержит ли фрагмент оставшуюся часть тела
Чтобы получить весь текст длинного сообщения, выполните последовательные вызовы, увеличивая смещение на 1000 каждый раз, пока contains_full_body
не станет истинным.
Отправка электронного письма
Рабочий процесс обновления токена
- Начните с вызова инструмента
gmail_refresh_token
одним из следующих способов:- Ваши полные учетные данные (токен доступа, токен обновления, идентификатор клиента и секрет клиента) или
- Только ваш токен обновления, идентификатор клиента и секретный ключ клиента, если срок действия токена доступа истек
- Используйте возвращенный новый токен доступа для последующих вызовов API.
- Если вы получили ответ, указывающий на истечение срока действия токена, вызовите инструмент
gmail_refresh_token
еще раз, чтобы получить новый токен.
Такой подход упрощает большинство вызовов API, поскольку не требует ввода учетных данных клиента для каждой операции, но при этом позволяет обновлять токены при необходимости.
Получение учетных данных Google API
Чтобы получить необходимые учетные данные Google API, выполните следующие действия:
- Перейдите в Google Cloud Console.
- Создать новый проект
- Включить API Gmail
- Настроить экран согласия OAuth
- Создайте учетные данные идентификатора клиента OAuth (выберите «Приложение для настольного компьютера» в качестве типа приложения)
- Сохраните идентификатор клиента и секрет клиента.
- Используйте OAuth 2.0 для получения доступа и обновления токенов в следующих областях:
https://www.googleapis.com/auth/gmail.readonly
(для чтения писем)https://www.googleapis.com/auth/gmail.send
(для отправки писем)
Обновление токена
Этот сервер реализует автоматическое обновление токена. Когда срок действия вашего токена доступа истекает, клиент API Google будет использовать токен обновления, идентификатор клиента и секрет клиента для получения нового токена доступа без необходимости вмешательства пользователя.
Примечание по безопасности
Этот сервер требует прямого доступа к вашим учетным данным Google API. Всегда храните свои токены и учетные данные в безопасности и никогда не делитесь ими с недоверенными сторонами.
Лицензия
Подробную информацию смотрите в файле ЛИЦЕНЗИЯ.
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Безголовый сервер, позволяющий читать и отправлять электронные письма Gmail через вызовы API без необходимости локальных учетных данных или доступа к браузеру, предназначенный для удаленной работы в контейнерных средах.
- Почему стоит выбрать MCP Headless Gmail Server?
- Функции
- Предпосылки
- Установка
- Докер
- Использование с Claude Desktop
- Кросс-платформенная публикация
- Использование
- Получение учетных данных Google API
- Обновление токена
- Примечание по безопасности
- Лицензия
Related Resources
Related MCP Servers
- -securityAlicense-qualityEnables interaction with Gmail through the Gmail API to read, send, and manage emails. Supports multiple Gmail accounts with real-time monitoring and advanced features for email search and attachment handling.Last updated -8PythonApache 2.0
- -securityAlicense-qualityMCP server that integrates with Gmail to enable sending, reading, and managing emails through tools like send-email, trash-email, get-unread-emails, and read-email.Last updated -17PythonGPL 3.0
- AsecurityAlicenseAqualityA headless browser MCP server that allows AI agents to fetch web content and perform Google searches without API keys, supporting various output formats like Markdown, JSON, HTML, and text.Last updated -24TypeScriptMIT License
- -securityFlicense-qualityAn integration server that provides Claude Desktop access to Gmail, enabling users to view recent emails and search their Gmail inbox using natural language commands.Last updated -6Python