@a1-x-tech/mcp-google-slides
v1.0.0
Published
MCP server for the Google Slides API — create and edit presentations, slides, text, shapes, tables and images, manage speaker notes, comments, thumbnails and export. For Claude, Cursor, Codex and other AI clients.
Downloads
698
Maintainers
Readme
Google Slides MCP
English | Русский
A1 Google Slides MCP позволяет AI-приложению создавать и редактировать презентации Google Slides на естественном языке. Можно собрать презентацию, добавить и переставить слайды, написать и оформить текст, разместить фигуры, изображения и таблицы, вести заметки докладчика, разобрать комментарии и выгрузить результат в PDF или PPTX.
Сервер работает с Google Slides API через ваш Google-аккаунт. Всё внутри презентации адресуется явными object id, а ограничения Slides API сервер называет прямо, вместо того чтобы делать вид, будто с презентацией возможно всё.
- 32 инструментов. Проверка презентаций и страниц, редактирование слайдов, текста, фигур, изображений и таблиц, заметки докладчика и комментарии, миниатюры и экспорт файлов.
- Подключение из диалога. Скажите «подключи Google Презентации»: сервер проведёт через создание OAuth-клиента, поймает редирект Google на
127.0.0.1с PKCE и сам сохранит токены — без конфигов и перезапуска. - Правки атомарны. Изменения идут через
batchUpdateAPI: один неверный запрос отменяет весь пакет, поэтому презентация не остаётся отредактированной наполовину. - Ваш Drive недосягаем. Комментарии, экспорт и загрузка локальных изображений используют Drive API строго для одного файла презентации — инструментов, чтобы перечислять, расшаривать, переименовывать или удалять файлы Drive, нет.
- Минимальные scope Google. Нужен
presentations; scope Drive требуются только для локальных изображений, комментариев и экспорта.
Начните с запроса, который только читает данные:
Покажи слайды квартального отчёта и что на каждом из них.
Подключить сервер · Посмотреть сценарии · Открыть техническую документацию
Увидеть работу за минуту
Вы: Перечисли слайды презентации с обзором Q3 и что на каждом.
Ассистент: Показывает компактную опись: позицию каждого слайда, его макет и элементы с видимым текстом. Ничего не меняется.
Вы: Подготовь новый слайд после повестки с заголовком «Roadmap» и ключевыми датами в теле.
Ассистент: Показывает целевую презентацию, макет и предлагаемый текст, затем запрашивает подтверждение перед добавлением.
Вы: Подтверждаю.
Ассистент: Добавляет слайд и заполняет его плейсхолдеры. Остальные слайды он не трогает.
Содержание
- Быстрый старт
- Что можно поручить
- Как меняется презентация
- Что может измениться
- Как получить доступ
- Конфигурация
- Данные, лимиты и работа в фоне
- Техническая документация
- Поддержка
Быстрый старт
Нужны Node.js 20+ и Google-аккаунт. Учётные данные при установке не нужны: сервер подключается прямо в диалоге.
- Добавьте сервер в AI-приложение.
- Скажите «подключи Google Презентации» — ассистент проведёт создание OAuth-клиента и выдачу доступа, не трогая конфиги.
- Отправьте запрос, который только читает данные.
В приложении: откройте Settings → MCP servers, нажмите Add server, выберите STDIO, укажите команду npx -y @a1-x-tech/mcp-google-slides@latest и переменные окружения GOOGLE_SLIDES_CLIENT_ID, GOOGLE_SLIDES_CLIENT_SECRET, GOOGLE_SLIDES_REFRESH_TOKEN, затем нажмите Save, потом Restart.
В командной строке:
codex mcp add google-slides \
-- npx -y @a1-x-tech/mcp-google-slides@latestcodex mcp listclaude mcp add \
--transport stdio --scope user google-slides \
-- npx -y @a1-x-tech/mcp-google-slides@latestclaude mcp listАктуальный официальный путь — Settings → Extensions. Для пользовательского desktop extension откройте Advanced settings → Extension Developer → Install Extension…, выберите файл .mcpb и следуйте подсказкам.
Этот репозиторий сейчас публикует npm-пакет со stdio и пока не содержит .mcpb. Поэтому используйте приведённый ниже JSON stdio-конфиг как fallback только в сборках Claude Desktop, где ещё поддерживается локальная конфигурация:
{
"mcpServers": {
"google-slides": {
"command": "npx",
"args": ["-y", "@a1-x-tech/mcp-google-slides@latest"]
}
}
}В таких сборках сохраните его в ~/Library/Application Support/Claude/claude_desktop_config.json на macOS или %APPDATA%\Claude\claude_desktop_config.json на Windows.
Документация Claude Desktop MCP
Добавьте в ~/.cursor/mcp.json на macOS/Linux или %USERPROFILE%\.cursor\mcp.json на Windows:
{
"mcpServers": {
"google-slides": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@a1-x-tech/mcp-google-slides@latest"]
}
}
}Запустите MCP: Open User Configuration и добавьте:
{
"servers": {
"google-slides": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@a1-x-tech/mcp-google-slides@latest"]
}
}
}Проверьте сервер командой MCP: List Servers.
Что можно поручить
Проверить презентацию
- Перечисли слайды этой презентации и что на каждом.
- Прочитай заметки докладчика к пятому слайду.
- Отрисуй миниатюру титульного слайда.
Собрать и переставить слайды
- Создай презентацию для обзора Q3.
- Добавь слайд «Roadmap» после повестки, продублируй слайд-шаблон, перенеси итоги в конец.
- Вставь изображение по URL или из локального файла, добавь таблицу 4×3, создай текстовый блок или скруглённый прямоугольник с подписью.
Написать и отшлифовать текст
- Помести этот текст в плейсхолдер заголовка и выдели дедлайн жирным красным.
- Замени «Q2» на «Q3» по всей презентации.
- Сократи заметки докладчика к третьему слайду.
Разобрать и передать дальше
- Перечисли открытые ветки комментариев и ответь на первую, закрыв её как решённую.
- Удали черновой слайд, который больше не нужен.
- Выгрузи презентацию в PDF или PPTX для того, у кого нет доступа к Google.
Как меняется презентация
create_presentationсоздаёт презентацию с одним титульным слайдом; при создании учитывается только название.- Всё внутри презентации — слайды, фигуры, изображения, таблицы — адресуется object id.
list_slides— компактная опись, с которой стоит начинать перед любой правкой. - Правки идут через атомарный
batchUpdateAPI: один неверный запрос отменяет весь пакет, поэтому ничего не применяется наполовину. - Входные значения инструментов — в пунктах; API хранит EMU (1 pt = 12700 EMU). Сервер конвертирует в обе стороны.
Slides API не может удалить, переименовать или расшарить файл презентации — это файловые операции Drive за пределами этого сервера. Он не может импортировать тему (только применять макеты, которые уже есть в презентации) и не может привязать новый комментарий к конкретному слайду. Экспорт ограничен 10 МБ, а ссылки на миниатюры истекают примерно через 30 минут.
Что может измениться
| Операция | Что происходит | Граница подтверждения |
|---|---|---|
| Проверка презентации, страницы, заметок или комментариев; миниатюра; экспорт файла | Читает данные, пишет только локальные файлы | Ничего не меняет |
| Создание презентации | Добавляет новую презентацию в ваш Google-аккаунт | Меняет Google Slides |
| Добавление, дублирование или перемещение слайдов; создание фигур, изображений, таблиц | Добавляет или переставляет содержимое презентации | Меняет презентацию |
| Установка или оформление текста, замена изображения, трансформация элемента, правка заметок докладчика или структуры таблицы | Перезаписывает существующее содержимое | Меняет презентацию |
| Поиск и замена по всей презентации | Меняет все совпадения разом | Меняет презентацию целиком |
| Удаление слайда, элемента или ветки комментариев | Удаляет содержимое без отмены через API | Разрушительно |
| Технический batchUpdate или технический запрос API | Может вызвать метод API без отдельного инструмента | Потенциально разрушительно |
Как AI-приложение просит подтверждение, определяет само приложение. Сервер помечает операции чтения, записи и удаления, чтобы оно отличило проверку от рабочего изменения.
Как получить доступ
Google Slides требует OAuth 2.0: одного API-ключа недостаточно. Путей два, и первый не требует править конфигурационные файлы.
Подключение из диалога (рекомендуемый путь)
Скажите «подключи Google Презентации», и ассистент пройдёт флоу вместе с вами:
setup_instructionsвыдаёт чек-лист: создать или выбрать проект Google Cloud, включить Google Slides API, настроить consent screen и создать OAuth-клиент типа Desktop app.- Скачайте JSON этого клиента («Download JSON») и передайте ассистенту путь к файлу —
set_clientсохранит его с правами только для владельца. Секрет через переписку не проходит. start_loginвозвращает ссылку на согласие Google. Откройте её на этой же машине и подтвердите доступ: код возвращается на одноразовый слушатель127.0.0.1(PKCE), а не в чат.finish_loginменяет код на токены и кладёт их в~/.config/mcp-google-slides/credentials.json(права 0600).
Токены перечитываются на каждый вызов, поэтому подключение действует немедленно — перезапускать AI-приложение не нужно. auth_status показывает состояние, logout отзывает токен и удаляет его.
Переменные окружения (CI и автоматические установки)
Создайте или выберите проект Google Cloud и включите Google Slides API. Также включите Google Drive API, если нужны комментарии, экспорт или загрузка локальных изображений.
Настройте OAuth consent screen и создайте OAuth-клиент типа Desktop app.
Авторизуйте Google-аккаунт, который владеет презентациями или может их редактировать. OAuth 2.0 Playground поможет получить refresh token, если включить Use your own OAuth credentials.
Запросите scope:
https://www.googleapis.com/auth/presentations https://www.googleapis.com/auth/drive.filepresentationsпокрывает все чтения и записи Slides.drive.fileпокрывает загрузку локальных изображений, а также комментарии и экспорт для презентаций, созданных через это приложение; запросите более широкийhttps://www.googleapis.com/auth/drive, если комментарии или экспорт нужны для произвольных презентаций.
Refresh token OAuth-приложения в режиме Testing может истечь через семь дней. Для долгого доступа опубликуйте OAuth-приложение или используйте Internal-приложение в домене Workspace. Храните client secret и refresh token как пароли.
Конфигурация
Все переменные необязательные — без единой из них сервер подключается из диалога.
| Переменная | Обязательна | Описание |
|---|---|---|
| GOOGLE_SLIDES_CLIENT_ID | Нет* | OAuth client ID. |
| GOOGLE_SLIDES_CLIENT_SECRET | Нет* | OAuth client secret. |
| GOOGLE_SLIDES_REFRESH_TOKEN | Нет* | OAuth refresh token. |
| GOOGLE_SLIDES_ACCESS_TOKEN | Нет* | Короткоживущая (~1 ч) альтернатива OAuth-тройке. |
| GOOGLE_SLIDES_OAUTH_PORT | Нет | Фиксированный порт loopback-слушателя для входа из диалога; нужен при пробросе портов по SSH. |
| GOOGLE_SLIDES_API_BASE | Нет | Переопределяет базовый URL Google Slides API. |
| GOOGLE_SLIDES_DRIVE_API_BASE | Нет | Переопределяет базовый URL Google Drive API (внутренняя зависимость: комментарии, экспорт, загрузка изображений). |
| GOOGLE_SLIDES_TIMEOUT_MS | Нет | Тайм-аут одного запроса; по умолчанию 60000 мс. |
| GOOGLE_SLIDES_MAX_RETRIES | Нет | Повторы временных ошибок; по умолчанию 3. |
* Передайте OAuth-тройку или access token.
Данные, лимиты и работа в фоне
- Запросы идут в Google Slides. Локальный сервер обновляет OAuth-токены Google и вызывает Slides API; комментарии, экспорт и загрузка локальных изображений проходят через Drive API строго для одного файла презентации. Анонимная телеметрия содержит ID установки, версию пакета, версии AI-клиента и платформы и имена инструментов — но не OAuth-токены, содержимое презентаций, аргументы или промпты. Чтобы отключить её, задайте
ASKADS_TELEMETRY=0. - У Google есть лимиты частоты. При
429сервер использует задержку; чтение также повторяется после сетевых и5xxошибок, а запись после неопределённой ошибки не повторяется. Миниатюры расходуют более дорогую квоту чтения. - Постоянного опроса нет. Сервер работает только при вызове. Между вызовами за презентацией никто не следит; если AI-приложение поддерживает задания по расписанию, оно может периодически её проверять.
Техническая документация
- Каталог MCP-возможностей — страницы по пользовательским задачам для каждого инструмента.
- Все инструменты и параметры
- Документация по разработке
- Документация по публикации
- Справочник Google Slides API
Поддержка
Нашли ошибку или не хватает сценария? Создайте issue или напишите в Telegram.
