🤔 Что это?
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 ниже.
🐍 Установить
uvxявляется частьюuv, быстрого установщика и резолвера пакетов Python. Установите его, если вы еще этого не сделали:# macOS / Linux curl -LsSf https://astral.sh/uv/install.sh | sh # Windows powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # Or using pip: # pip install uvПри необходимости следуйте инструкциям в выходных данных установщика, чтобы добавить
🔑 Установите основные переменные среды (рекомендуется учетная запись службы)
Вам нужно указать серверу, как аутентифицироваться. Установите эти переменные в вашем терминале:
(Linux/macOS)
# Replace with YOUR actual path and folder ID from the Google Setup step export SERVICE_ACCOUNT_PATH="/path/to/your/service-account-key.json" export DRIVE_FOLDER_ID="YOUR_DRIVE_FOLDER_ID"(Команда Windows)
set SERVICE_ACCOUNT_PATH="C:\path\to\your\service-account-key.json" set DRIVE_FOLDER_ID="YOUR_DRIVE_FOLDER_ID"(Windows PowerShell)
$env:SERVICE_ACCOUNT_PATH = "C:\path\to\your\service-account-key.json" $env:DRIVE_FOLDER_ID = "YOUR_DRIVE_FOLDER_ID"➡️ См. Подробную аутентификацию и переменные среды для других параметров (OAuth,
CREDENTIALS_CONFIG).
🏃 Запустите сервер!
uvxавтоматически ��агрузит и запустит последнюю версиюmcp-google-sheets: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 APIGoogle 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 Диска. (См.
Метод 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). Должен быть доступен для записи.
Метод C: Прямое внедрение учетных данных (расширенный) 🔒
Почему? Полезно в средах вроде Docker, Kubernetes или CI/CD, где управление файлами затруднено, но переменные среды просты/безопасны. Избегает доступа к файловой систе��е.
Как? Вместо того, чтобы указывать путь к файлу учетных данных, вы указываете содержимое файла, закодированное в Base64, непосредственно в переменной среды.
Шаги:
Получите файл JSON с вашими учетными данными (ключ учетной записи службы или файл идентификатора клиента OAuth). Назовем его
your_credentials.json.Сгенерируйте строку Base64:
(Linux/macOS):
base64 -w 0 your_credentials.json(Windows PowerShell):
$filePath = "C:\path\to\your_credentials.json"; # Use actual path $bytes = [System.IO.File]::ReadAllBytes($filePath); $base64 = [System.Convert]::ToBase64String($bytes); $base64 # Copy this output(Внимание): Избегайте вставки конфиденциальных учетных данных в ненадежные онлайн-кодировщики.
Установите переменную среды:
CREDENTIALS_CONFIG: задайте для этой переменной полную строку Base64, которую вы только что сгенерировали.# Example (Linux/macOS) - Use the actual string generated export CREDENTIALS_CONFIG="ewogICJ0eXBlIjogInNlcnZpY2VfYWNjb..."
Приоритет аутентификации и сводка
Сервер проверяет учетные данные в следующем порядке:
CREDENTIALS_CONFIG(содержимое Base64)SERVICE_ACCOUNT_PATH(путь к учетной записи службы JSON)CREDENTIALS_PATH(путь к OAuth JSON) — запускает интерактивный поток, если токен отсутствует или просрочен.
Краткое описание переменных среды:
Переменная | Метод(ы) | Описание | По умолчанию |
| Счет обслуживания | Путь к файлу JSON-ключа учетной записи службы. | - |
| Счет обслуживания | Идентификатор папки Google Диска, доступной для учетной записи сервиса. | - |
| OAuth 2.0 | Путь к JSON-файлу идентификатора клиента OAuth 2.0. |
|
| OAuth 2.0 | Путь для хранения сгенерированного токена OAuth. |
|
| Учетная запись сервиса / 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 run mcp-google-sheets # Or via the script name if defined in pyproject.toml, e.g.: # uv run start
🔌 Использование с 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
- Asecurity-licenseAqualityA 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 -83MIT License
- Asecurity-licenseAqualityProvides a Model Context Protocol (MCP) server that enables LLMs to directly access and interact with Google Spreadsheet data.Last updated -21
- Asecurity-licenseAqualityA 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 -8MIT License
- Asecurity-licenseAqualityA Model Context Protocol server that provides an interface for AI models to interact with Google Docs, enabling reading, creating, updating, and searching Google Documents.Last updated -43