🤔 Что это?
mcp-google-sheets
— это MCP-сервер на основе Python, который действует как мост между любым MCP-совместимым клиентом (например, Claude Desktop) и API Google Sheets. Он позволяет вам взаимодействовать с вашими Google Spreadsheets с помощью определенного набора инструментов, обеспечивая мощные рабочие процессы автоматизации и обработки данных, управляемые ИИ.
🚀 Быстрый старт (использование uvx
)
По сути сервер работает в одной строке: uvx mcp-google-sheets
.
Этот cmd автоматически загрузит последний код, если необходимо, и запустит его. Однако для настройки Google Cloud требуется выполнить довольно много шагов, пожалуйста, прочтите шаги ниже.
- ☁️ Предварительное условие: настройка Google Cloud
- Сначала необходимо настроить учетные данные Google Cloud Platform и включить необходимые API. Мы настоятельно рекомендуем использовать учетную запись службы .
- ➡️ Перейдите к подробному руководству по настройке Google Cloud Platform ниже.
- 🐍 Установить
uv
uvx
является частьюuv
, быстрого установщика и резолвера пакетов Python. Установите его, если вы еще этого не сделали:При необходимости следуйте инструкциям в выходных данных установщика, чтобы добавитьuv
в PATH.
- 🔑 Установите основные переменные среды (рекомендуется учетная запись службы)
- Вам нужно указать серверу, как аутентифицироваться. Установите эти переменные в вашем терминале:
- (Linux/macOS)
- (Команда Windows)
- (Windows PowerShell)
- ➡️ См. Подробную аутентификацию и переменные среды для других параметров (OAuth,
CREDENTIALS_CONFIG
).
- 🏃 Запустите сервер!
uvx
автоматически загрузит и запустит последнюю версиюmcp-google-sheets
:- Сервер запустится и распечатает журналы, указывающие на его готовность.
- 🔌 Подключите свой MCP-клиент
- Настройте свой клиент (например, Claude Desktop) для подключения к работающему серверу.
- В зависимости от используемого вами клиента, вам может не понадобиться шаг 4, поскольку клиент может запустить сервер для вас. Но это хорошая практика, чтобы в любом случае выполнить тестовый запуск шага 4, чтобы убедиться, что все настроено правильно.
- ➡️ Примеры см. в разделе Использование с Claude Desktop .
Вы готовы! Начните отдавать команды через свой клиент MCP.
✨ Основные характеристики
- Полная интеграция: прямое подключение к API Google Диска и Google Таблиц.
- Комплексный инструментарий: предлагает широкий спектр операций (CRUD, листинг, пакетная обработка, совместное использование, форматирование и т. д.).
- Гибкая аутентификация: поддерживает учетные записи служб (рекомендуется) , OAuth 2.0 и прямое введение учетных данных через переменные среды.
- Простота развертывания: мгновенный запуск с помощью
uvx
(не требует установки) или клонирование для разработки с помощьюuv
. - AI-Ready: разработан для использования с MCP-совместимыми клиентами, обеспечивая взаимодействие с электронными таблицами на естественном языке.
🛠️ Доступные инструменты и ресурсы
Этот сервер предоставляет следующие инструменты для взаимодействия с Google Таблицами:
(Входные параметры обычно представляют собой строки, если не указано иное)
list_spreadsheets
: выводит список электронных таблиц в настроенной папке Диска (учетная запись службы) или доступных пользователю (OAuth).- Возвращает: Список объектов
[{id: string, title: string}]
- Возвращает: Список объектов
create_spreadsheet
: Создает новую электронную таблицу.title
(строка): Желаемый заголовок.- Возвращает: объект с данными электронной таблицы, включая
spreadsheetId
.
get_sheet_data
: считывает данные из диапазона на листе.spreadsheet_id
(строка)sheet
(строка): Название листа.range
(необязательная строка): нотация A1 (например,'A1:C10'
,'Sheet1!B2:D'
). Если пропущено, считывается весь лист.- Возвращает: двумерный массив значений ячеек.
get_sheet_formulas
: Считывает формулы из диапазона на листе.spreadsheet_id
(строка)sheet
(строка): Название листа.range
(необязательная строка): нотация A1 (например,'A1:C10'
,'Sheet1!B2:D'
). Если пропущено, считывается весь лист.- Возвращает: двумерный массив формул ячеек.
update_cells
: Записывает данные в указанный диапазон. Перезаписывает существующие данные.spreadsheet_id
(строка)sheet
(строка)range
(строка): нотация A1.data
(двумерный массив): значения для записи.- Возвращает: Обновляет объект результата.
batch_update_cells
: обновляет несколько диапазонов за один вызов API.spreadsheet_id
(строка)sheet
(строка)ranges
(объект): Словарное отображение строк диапазонов (нотация A1) в двумерные массивы значений{ "A1:B2": [[1, 2], [3, 4]], "D5": [["Hello"]] }
.- Возвращает: объект результата пакетного обновления.
add_rows
: добавляет строки в конец листа (после последней строки с данными).spreadsheet_id
(строка)sheet
(строка)data
(двумерный массив): строки для добавления.- Возвращает: Обновляет объект результата.
list_sheets
: выводит список всех имен листов в электронной таблице.spreadsheet_id
(строка)- Возвращает: Список строк имен листов
["Sheet1", "Sheet2"]
.
create_sheet
: добавляет новый лист (вкладку) в электронную таблицу.spreadsheet_id
(строка)title
(строка): Имя нового листа.- Возвращает: новый объект свойств листа.
get_multiple_sheet_data
: извлекает данные из нескольких диапазонов в потенциально разных электронных таблицах за один вызов.queries
(массив объектов): каждому объекту требуютсяspreadsheet_id
,sheet
иrange
.[{spreadsheet_id: 'abc', sheet: 'Sheet1', range: 'A1:B2'}, ...]
.- Возвращает: список объектов, каждый из которых содержит параметры запроса и извлеченные
data
илиerror
.
get_multiple_spreadsheet_summary
: получает заголовки, имена листов, верхние колонтитулы и первые несколько строк для нескольких электронных таблиц.spreadsheet_ids
(массив строк)rows_to_fetch
(необязательное целое число, по умолчанию 5): количество строк (включая заголовок) для предварительного просмотра.- Возвращает: список сводных объектов для каждой электронной таблицы.
share_spreadsheet
: предоставляет общий доступ к электронной таблице указанным пользователям/адресам электронной почты и ролям.spreadsheet_id
(строка)recipients
(массив объектов):[{email_address: 'user@example.com', role: 'writer'}, ...]
. Роли:reader
,commenter
,writer
.send_notification
(необязательное логическое значение, по умолчанию True): отправлять уведомления по электронной почте.- Возвращает: Словарь со списками
successes
иfailures
.
add_columns
: добавляет столбцы на лист. (Проверьте параметры, если они реализованы)copy_sheet
: Дублирует лист в электронной таблице. (Проверьте параметры, если они реализованы)rename_sheet
: переименовывает существующий лист. (Проверьте параметры, если они реализованы)
Ресурсы МКП:
spreadsheet://{spreadsheet_id}/info
: получение основных метаданных о таблице Google.- Возвращает: строку JSON с информацией электронной таблицы.
☁️ Настройка Google Cloud Platform (подробно)
Эту настройку необходимо выполнить перед запуском сервера.
- Создайте/выберите проект GCP: перейдите в Google Cloud Console .
- Включить API: Перейдите в «API и службы» -> «Библиотека». Найдите и включите:
Google Sheets API
Google Drive API
- Настройте учетные данные: Вам необходимо выбрать один из методов аутентификации ниже (рекомендуется использовать учетную запись службы).
🔑 Аутентификация и переменные среды (подробно)
Серверу нужны учетные данные для доступа к API Google. Выберите один метод:
Метод A: Учетная запись службы (рекомендуется для серверов/автоматизации) ✅
- Почему? Безголовый (браузер не нужен), безопасный, идеально подходит для серверных сред. Не истекает быстро.
- Шаги:
- Создайте учетную запись службы: в консоли GCP -> «IAM и администрирование» -> «Учетные записи службы».
- Нажмите «+ СОЗДАТЬ УЧЕТНУЮ ЗАПИСЬ СЕРВИСА». Назовите ее (например,
mcp-sheets-service
). - Предоставление ролей: добавьте роль
Editor
для широкого доступа или более детализированные роли (напримерroles/drive.file
и определенные роли Sheets) для более строгих разрешений. - Нажмите «Готово». Найдите учетную запись, нажмите Действия (⋮) -> «Управление ключами».
- Нажмите «ДОБАВИТЬ КЛЮЧ» -> «Создать новый ключ» -> JSON -> «СОЗДАТЬ».
- Загрузите и надежно сохраните файл ключа JSON.
- Нажмите «+ СОЗДАТЬ УЧЕТНУЮ ЗАПИСЬ СЕРВИСА». Назовите ее (например,
- Создание и совместное использование папки Google Диска:
- В Google Диске создайте папку (например, «AI Managed Sheets»).
- Запишите идентификатор папки из URL-адреса:
https://drive.google.com/drive/folders/THIS_IS_THE_FOLDER_ID
. - Щелкните правой кнопкой мыши по папке -> «Поделиться» -> «Поделиться».
- Введите адрес электронной почты учетной записи службы (из файла JSON
client_email
). - Предоставить доступ редактора . Снимите флажок «Уведомить людей». Нажмите «Поделиться».
- Установите переменные среды:
SERVICE_ACCOUNT_PATH
: Полный путь к загруженному файлу ключа JSON.DRIVE_FOLDER_ID
: идентификатор общей папки Google Диска. (См. Ultra Quick Start для примеров, специфичных для ОС)
- Создайте учетную запись службы: в консоли GCP -> «IAM и администрирование» -> «Учетные записи службы».
Метод B: OAuth 2.0 (интерактивный / личное использование) 🧑💻
- Зачем? Для личного использования или локальной разработки, где интерактивный вход через браузер приемлем.
- Шаги:
- Настройте экран согласия OAuth: в консоли GCP -> "API и службы" -> "Экран согласия OAuth". Выберите "Внешний", заполните необходимую информацию, добавьте области действия (
.../auth/spreadsheets
,.../auth/drive
), добавьте тестовых пользователей, если необходимо. - Создайте идентификатор клиента OAuth: В консоли GCP -> "API и службы" -> "Учетные данные". "+ CREATE CREDENTIALS" -> "OAuth client ID" -> Тип: Desktop app . Назовите его. "CREATE". Загрузите JSON .
- Установите переменные среды:
CREDENTIALS_PATH
: путь к загруженному JSON-файлу учетных данных OAuth (по умолчанию:credentials.json
).TOKEN_PATH
: Путь для хранения токена обновления пользователя после первого входа в систему (по умолчанию:token.json
). Должен быть доступен для записи.
- Настройте экран согласия OAuth: в консоли GCP -> "API и службы" -> "Экран согласия OAuth". Выберите "Внешний", заполните необходимую информацию, добавьте области действия (
Метод C: Прямое внедрение учетных данных (расширенный) 🔒
- Почему? Полезно в средах вроде Docker, Kubernetes или CI/CD, где управление файлами затруднено, но переменные среды просты/безопасны. Избегает доступа к файловой системе.
- Как? Вместо того, чтобы указывать путь к файлу учетных данных, вы указываете содержимое файла, закодированное в Base64, непосредственно в переменной среды.
- Шаги:
- Получите файл JSON с вашими учетными данными (ключ учетной записи службы или файл идентификатора клиента OAuth). Назовем его
your_credentials.json
. - Сгенерируйте строку Base64:
- (Linux/macOS):
base64 -w 0 your_credentials.json
- (Windows PowerShell):
- (Внимание): Избегайте вставки конфиденциальных учетных данных в ненадежные онлайн-кодировщики.
- (Linux/macOS):
- Установите переменную среды:
CREDENTIALS_CONFIG
: задайте для этой переменной полную строку Base64, которую вы только что сгенерировали.
- Получите файл JSON с вашими учетными данными (ключ учетной записи службы или файл идентификатора клиента OAuth). Назовем его
Приоритет аутентификации и сводка
Сервер проверяет учетные данные в следующем порядке:
CREDENTIALS_CONFIG
(содержимое Base64)SERVICE_ACCOUNT_PATH
(путь к учетной записи службы JSON)CREDENTIALS_PATH
(путь к OAuth JSON) — запускает интерактивный поток, если токен отсутствует или просрочен.
Краткое описание переменных среды:
Переменная | Метод(ы) | Описание | По умолчанию |
---|---|---|---|
SERVICE_ACCOUNT_PATH | Счет обслуживания | Путь к файлу JSON-ключа учетной записи службы. | - |
DRIVE_FOLDER_ID | Счет обслуживания | Идентификатор папки Google Диска, доступной для учетной записи сервиса. | - |
CREDENTIALS_PATH | OAuth 2.0 | Путь к JSON-файлу идентификатора клиента OAuth 2.0. | credentials.json |
TOKEN_PATH | OAuth 2.0 | Путь для хранения сгенерированного токена OAuth. | token.json |
CREDENTIALS_CONFIG | Учетная запись сервиса / OAuth 2.0 | Строка содержимого учетных данных в формате JSON, закодированная в Base64. | - |
⚙️ Запуск сервера (подробно)
Метод 1: Использование uvx
(рекомендуется для пользователей)
Как показано в Ultra Quick Start , это самый простой способ. Установите переменные среды, затем выполните:
uvx
временно обрабатывает загрузку и запуск пакета.
Метод 2: Для разработки (клонирование репозитория)
Если вы хотите изменить код:
- Клон:
git clone https://github.com/yourusername/mcp-google-sheets.git && cd mcp-google-sheets
(используйте реальный URL) - Установите переменные среды: как описано выше.
- Запустить с помощью
uv
: (использует локальный код)
🔌 Использование с Claude Desktop
Добавьте конфигурацию сервера в claude_desktop_config.json
в mcpServers
. Выберите блок, соответствующий вашей настройке:
(При первом использовании браузер может открыться для входа в Google)
💬 Примеры подсказок для Клода
После подключения попробуйте выполнить следующие подсказки:
- «Перечислить все электронные таблицы, к которым у меня есть доступ» (или «в моей папке «Управляемые ИИ таблицы»)
- «Создайте новую электронную таблицу под названием «Квартальный отчет о продажах за третий квартал 2024 года».
- «В таблице «Квартальный отчет о продажах» возьмите данные из диапазона A1–E10 Листа 1».
- «Добавьте новый лист с именем «Сводка» в электронную таблицу с идентификатором
1aBcDeFgHiJkLmNoPqRsTuVwXyZ
». - «В моей таблице «Задачи проекта», лист «Задачи», обновите ячейку B2 на «В процессе».
- «Добавьте эти строки в лист «Журнал» в электронной таблице
XYZ
:[['2024-07-31', 'Task A Completed'], ['2024-08-01', 'Task B Started']]
» - «Получите сводку электронных таблиц «Данные о продажах» и «Количество запасов».
- «Поделитесь таблицей «График отпусков команды» с
team@example.com
как читателем иmanager@example.com
как писателем. Не отправляйте уведомления».
🤝 Вклад
Вклады приветствуются! Пожалуйста, откройте тему, чтобы обсудить ошибки или запросы функций. Запросы на извлечение приветствуются.
📄 Лицензия
Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE .
🙏 Кредиты
- Создано с помощью FastMCP .
- Вдохновлено kazz187/mcp-google-spreadsheet .
- Использует клиентские библиотеки Google API Python.
This server cannot be installed
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.
Сервер Model Context Protocol, который интегрируется с Google Диском и Google Таблицами, позволяя пользователям создавать, читать, обновлять и управлять электронными таблицами с помощью команд на естественном языке.
- 🚀 Быстрый старт (использование uvx )
- ✨ Основные характеристики
- 🛠️ Доступные инструменты и ресурсы
- ☁️ Настройка Google Cloud Platform (подробно)
- 🔑 Аутентификация и переменные среды (подробно)
- ⚙️ Запуск сервера (подробно)
- 🔌 Использование с Claude Desktop
- 💬 Примеры подсказок для Клода
- 🤝 Вклад
- 📄 Лицензия
- 🙏 Кредиты
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server that connects to Google Cloud services, allowing users to query logs, interact with Spanner databases, and analyze Cloud Monitoring metrics through natural language interaction.Last updated -162TypeScript
- -securityAlicense-qualityA Model Context Protocol server that provides seamless integration with Google Workspace, allowing operations with Google Drive, Docs, and Sheets through secure OAuth2 authentication.Last updated -PythonMIT License
- AsecurityFlicenseAqualityProvides a Model Context Protocol (MCP) server that enables LLMs to directly access and interact with Google Spreadsheet data.Last updated -21TypeScript
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI agents to interact with Google Workspace services including Drive, Docs, and Sheets through natural language commands.Last updated -8PythonMIT License
Appeared in Searches
- Google Drive and MCP (possible topics: integration, management, or related tools)
- Excel Spreadsheet Software or Related Resources
- Using Google to Send Emails and Update Calendar
- A platform for managing events and scheduling using Google Calendar
- Setting up productivity and collaboration tools like Google Sheets, Docs, Airtable, Slack, and more