google-workspace-mcp
google-workspace-mcp
Проект для создания пяти независимых удалённых MCP-серверов для Google Workspace: Gmail, Google Calendar, Google Drive, Google Sheets и Google Docs.
Статус: pre-alpha. MCP-серверы ещё не работают. Репозиторий в настоящее время содержит каркас пакета, пять точек входа-заглушек, базовое ядро состояния OAuth для нижестоящего сервиса и неизменяемую конфигурацию для каждого сервиса.
Текущий статус
Реализовано:
Python-пакет с пятью консольными точками входа;
состояние OAuth для нижестоящего сервиса на базе SQLite;
регистрация OAuth-клиента и PKCE;
привязка токена к каноническому
resource;ротация refresh-токенов, обнаружение повторов и отзыв семейства токенов;
неизменяемые метаданные владения состоянием для сервиса и ресурса;
неизменяемая конфигурация для каждого сервиса со строгой проверкой порта и TTL токена.
Все пять консольных точек входа являются заглушками и завершаются сообщением о том, что сервис не реализован. HTTP/MCP-транспорт, интеграция с Google API, инструменты сервисов и конфигурация развёртывания пока не реализованы.
Related MCP server: google-workspace-mcp-advanced
Планируемые сервисы
В таблице описана целевая область. Эти возможности пока недоступны.
Сервис | Целевые возможности |
| поиск и чтение сообщений и цепочек, метки, вложения, черновики, отправка и ответы |
| календари, поиск и получение событий, доступность, создание и обновление событий |
| поиск файлов, метаданные, содержимое папок, скачивание и экспорт |
| метаданные таблиц, чтение и запись диапазонов, пакетные операции |
| создание документов, получение структуры и текста, вставка и замена |
В целевой архитектуре каждый сервис работает как отдельный процесс со своей конечной точкой MCP, реестром инструментов, областями OAuth Google, учётными данными Google и состоянием OAuth нижестоящего сервиса.
Целевая архитектура авторизации
В проекте используются два независимых уровня:
Клиент — сервис. MCP-клиент использует OAuth 2.1 с PKCE. Каждый токен доступа привязан к одному resource, а refresh-токены ротируются с обнаружением повторов.
Сервис — Google. Каждый сервис использует отдельные учётные данные Google и минимально необходимые области OAuth. Refresh-токены Google никогда не возвращаются MCP-клиентам.
Сегодня существует только ядро состояния для первого уровня. HTTP-конечные точки и второй уровень авторизации не реализованы.
Технологии
Требования для разработки
Git
Python 3.14
uv
Проект Google Cloud и OAuth-клиент потребуются после реализации интеграции с Google API. Текущая версия их не использует.
Настройка среды разработки
git clone https://github.com/hawkxdev/google-workspace-mcp.git
cd google-workspace-mcp
uv sync --devВиртуальное окружение активировать не нужно. Запускайте команды через uv run.
Проверки
uv run --no-sync pytest -q
uv run --no-sync ruff check .
uv run --no-sync ruff format --check .
uv run --no-sync mypy srcФлаг --no-sync обязателен при проверке установленной версии зависимости. Обычный uv run может повторно синхронизировать окружение из lock-файла.
Структура
Путь | Назначение |
| жизненный цикл состояния OAuth нижестоящего сервиса |
| неизменяемая конфигурация окружения для каждого сервиса |
| пять точек входа-заглушек |
| регрессионные тесты ядра OAuth и точек входа пакета |
| метаданные пакета, зависимости и конфигурация инструментов |
| происхождение адаптированного кода |
Участие в разработке
Проект находится на ранней стадии разработки. Перед внесением существенных изменений откройте issue с описанием предлагаемого поведения. Изменения не должны объединять пять сервисов в один процесс, разделять учётные данные между сервисами или вводить обход OAuth.
Происхождение
Проект адаптирует ядро OAuth 2.1 из jimprosser/obsidian-web-mcp под лицензией MIT. Подробности см. в NOTICE.
Ядро OAuth 2.1 для нижестоящего сервиса основано на ревизии 7e6a52d791a50e3bd533df1060217973ab5be1c8. Оно включает дополнительные исправления для жизненного цикла клиента и токенов, ротации refresh-токенов, обнаружения повторов и канонизации resource.
Функциональность Obsidian-хранилища и синхронизации с Git из исходного проекта не копировалась.
В этом проекте используется mcp>=2,<3. Пакет mcp.server.fastmcp, удалённый в MCP 2.0, не требуется; будущая композиция будет использовать mcp.server.mcpserver.
Автор
Лицензия
MIT, см. LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP server with managed OAuth for 15+ toolkits: Google Workspace, Fitbit, Oura, Kalshi, etc.
Permissioned access to Gmail, Drive and Calendar via the user's own Google account
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Streamable HTTP MCP server for Google Calendar and Sheets with OAuth login.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server for Google Workspace APIs - Docs, Sheets, Drive, Gmail, and Calendar. Enables reading, creating, and editing Google Docs and Sheets, managing comments, reading emails, and viewing calendar events.3414 npm17MIT
- AlicenseBqualityDmaintenanceProduction-ready MCP server for Google Workspace providing broad coverage across Gmail, Drive, Calendar, Docs, Sheets, and more, with safe-by-default write operations and markdown-to-Google-Docs support.100MIT
- AlicenseCqualityAmaintenanceA multi-account Google Workspace MCP server that drives Gmail, Google Calendar, and Google Drive across any number of Google accounts in parallel from one server.422MIT
- FlicenseBqualityDmaintenanceMCP server providing full access to Google Workspace services (Gmail, Drive, Calendar, Docs, Sheets, Slides, Forms, Tasks, Contacts) using OAuth authentication.1001-