freema/mcp-gsheets

freema/mcp-gsheets

от freema
Полноценный MCP-сервер для интеграции с Google Sheets. Читает, пишет, форматирует ячейки, управляет листами и создаёт диаграммы. Удобен для автоматизации табличных данных через ИИ-ассистентов.

MCP Google Sheets Server

npm version CI Coverage License: MIT TypeScript Node code style: prettier

A Model Context Protocol (MCP) server for Google Sheets API integration. Enables reading, writing, and managing Google Sheets documents directly from your MCP client (e.g., Claude Code, Claude Desktop, Cursor, etc.).

Key Features

  • Complete Google Sheets Integration: Read, write, and manage spreadsheets
  • Advanced Operations: Batch operations, formatting, charts, and conditional formatting
  • Flexible Authentication: Support for both file-based and JSON string credentials
  • Production Ready: Built with TypeScript, comprehensive error handling, and full test coverage

Requirements

Getting Started

Add the following config to your MCP client:

{
  "mcpServers": {
    "mcp-gsheets": {
      "command": "npx",
      "args": ["-y", "mcp-gsheets@latest"],
      "env": {
        "GOOGLE_PROJECT_ID": "your-project-id",
        "GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json"
      }
    }
  }
}

Часто задаваемые вопросы

Инструменты были проиндексированы:
sheets_add_conditional_formattingидемпотентный

Добавить правила условного форматирования в Google Sheet

Параметры
  • rulesobject[]обязательный
  • spreadsheetIdstringобязательный
sheets_add_tableидемпотентный

Создаёт нативную таблицу Google Sheets с типизированными столбцами и необязательными выпадающими значениями.

Параметры
  • columnsobject[]обязательный

    Определения столбцов для таблицы

  • namestringобязательный

    Уникальное имя таблицы в пределах электронной таблицы

  • rangestringобязательный

    Диапазон в нотации A1 для таблицы, например "A1:D20" или "Sheet1!A1:D20".

  • sheetNamestringобязательный

    Название листа (вкладки), где будет создана таблица

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

sheets_append_values

Добавить значения в конец таблицы в таблице Google Sheets. ВАЖНО: По умолчанию это ПЕРЕЗАПИШЕТ существующие пустые ячейки. Чтобы вместо этого ВСТАВИТЬ новые строки, установите insertDataOption в "INSERT_ROWS".

Параметры
  • insertDataOptionenum

    Как должны быть вставлены входные данные (по умолчанию: OVERWRITE)

  • rangestringобязательный

    Диапазон таблицы в нотации A1, в которую нужно добавить данные (например, "Sheet1!A:B")

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

  • valueInputOptionenum

    Как следует интерпретировать входные данные (по умолчанию: USER_ENTERED)

  • valuesany[][]обязательный

    Двумерный массив значений для добавления, где каждый внутренний массив представляет строку.

sheets_batch_delete_sheetsидемпотентный

Удалить несколько листов из таблицы Google Sheets одной операцией

Параметры
  • sheetIdsnumber[]обязательный

    Массив идентификаторов листов для удаления (используйте sheets_get_metadata для поиска идентификаторов листов)

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

sheets_batch_format_cellsидемпотентный

Форматирует несколько диапазонов ячеек в Google Sheet за одну операцию

Параметры
  • formatRequestsobject[]обязательный

    Массив запросов на форматирование, каждый из которых содержит диапазон и объект формата.

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

sheets_batch_get_valuesтолько чтениеидемпотентный

Получить значения из нескольких диапазонов в таблице Google Sheets

Параметры
  • majorDimensionenum

    Основное измерение значений (по умолчанию: ROWS)

  • rangesstring[]обязательный

    Массив диапазонов в нотации A1 для получения (например, ["Sheet1!A1:B10", "Sheet2!C1:D5"])

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

  • valueRenderOptionenum

    Как должны быть представлены значения (по умолчанию: FORMATTED_VALUE)

sheets_batch_update_valuesидемпотентный

Обновляет значения в нескольких диапазонах таблицы Google Sheets.

Параметры
  • dataobject[]обязательный

    Массив пар диапазон-значение для обновления

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

  • valueInputOptionenum

    Как следует интерпретировать входные данные (по умолчанию: USER_ENTERED)

sheets_check_accessтолько чтениеидемпотентный

Проверяет права доступа к таблице. Возвращает информацию о разрешённых операциях.

Параметры
  • spreadsheetIdstringобязательный

    Идентификатор таблицы для проверки доступа

sheets_clear_valuesидемпотентный

Очищает значения в указанном диапазоне таблицы Google Sheets.

Параметры
  • rangestringобязательный

    Диапазон в нотации A1 для очистки (например, "Sheet1!A1:B10")

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

sheets_compare_rangesтолько чтениеидемпотентный

Сравнивает форматирование ячеек между двумя диапазонами одинакового размера. Полезно для проверки повторяющихся шаблонов, например: «у всех строк данных 6–85 одинаковое форматирование?» или «строка 10 отформатирована так же, как строка-шаблон 5?». Возвращает diff, в котором перечислены только ячейки и свойства, отличающиеся между двумя диапазонами. Ячейки сравниваются попозиционно; rangeA и rangeB должны содержать одинаковое количество строк и столбцов. Используйте поля (fields), чтобы ограничить сравнение определёнными свойствами.

Параметры
  • fieldsstring[]

    Необязательный список имен свойств формата для сравнения, например ["backgroundColor", "textFormat"]. Если не указано, сравниваются все свойства формата.

  • rangeAstringобязательный

    Первый диапазон с префиксом листа, например "Sheet1!A6:Z6".

  • rangeBstringобязательный

    Второй диапазон с префиксом листа, например "Sheet1!A7:Z7"

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

  • useEffectiveFormatboolean

    По умолчанию: false. Сравнивайте effectiveFormat (true) или userEnteredFormat (false). effectiveFormat включает наложения условного форматирования.

sheets_copy_toидемпотентный

Скопировать лист в другую таблицу Google Sheets

Параметры
  • destinationSpreadsheetIdstringобязательный

    ID целевой таблицы

  • sheetIdnumberобязательный

    Идентификатор листа для копирования (используйте sheets_get_metadata, чтобы найти идентификаторы листов)

  • spreadsheetIdstringобязательный

    Идентификатор исходной таблицы (указан в URL после /d/)

sheets_create_chartидемпотентный

Создаёт диаграмму в таблице Google Sheets. Имена листов с пробелами должны заключаться в кавычки в диапазонах (например, "My Sheet"!A1:B5). Позиция использует overlayPosition с anchorCell, содержащим sheetId, rowIndex и columnIndex.

Параметры
  • altTextstring

    Альтернативный текст для доступности

  • backgroundColorobject

    Цвет фона графика

  • chartTypeenumобязательный

    Тип диаграммы для создания

  • domainAxisobject

    Конфигурация оси области (X)

  • domainRangestring

    Необязательный диапазон домена в нотации A1 (например, "A2:A5" или "My Sheet"!A2:A5). Если не указан, будет использоваться столбец A

  • leftAxisobject

    Конфигурация левой оси (Y)

  • legendobject

    Конфигурация легенды

  • positionobjectобязательный

    Настройки позиции диаграммы с позицией наложения. Используйте overlayPosition.anchorCell.sheetId, чтобы указать лист.

  • rightAxisobject

    Настройка правой оси (Y)

  • seriesobject[]обязательный

    Массив серий данных для графика

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

  • subtitlestring

    Подзаголовок графика (необязательно)

  • titlestring

    Название диаграммы (необязательно)

sheets_create_spreadsheetидемпотентный

Создать новую таблицу Google Sheets

Параметры
  • sheetsobject[]

    Массив листов, которые необходимо создать в таблице

  • titlestringобязательный

    Название новой электронной таблицы

sheets_delete_chartидемпотентный

Удаляет диаграмму из таблицы Google Sheets

Параметры
  • chartIdnumberобязательный

    ID диаграммы для удаления (используйте sheets_get_metadata, чтобы найти ID диаграмм)

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

sheets_delete_columnsидемпотентный

Удаляет один или несколько столбцов из Google Таблицы, используя диапазон A1 для целого столбца.

Параметры
  • rangestringобязательный

    Диапазон A1 для удаления целых столбцов (например, "Sheet1!B:D" или "Sheet1!C:C"). Если имя листа не указано, используется первый лист.

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

sheets_delete_rowsидемпотентный

Удаляет одну или несколько строк из Google Таблицы с помощью полного диапазона строк в формате A1.

Параметры
  • rangestringобязательный

    Полнострочный диапазон A1 для удаления (например, "Sheet1!2:4" или "Sheet1!3:3"). Если имя листа не указано, используется первый лист.

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

sheets_delete_sheetидемпотентный

Удалить лист из таблицы Google Sheets

Параметры
  • sheetIdnumberобязательный

    Идентификатор листа для удаления (используйте sheets_get_metadata для поиска идентификаторов листов)

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

sheets_delete_tableидемпотентный

Удаляет нативную таблицу Google Sheets по tableId

Параметры
  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

  • tableIdstringобязательный

    ID таблицы, которую нужно удалить.

sheets_duplicate_sheetидемпотентный

Дублировать лист в таблице Google Sheets

Параметры
  • insertSheetIndexnumber

    Индекс, по которому должен быть вставлен новый лист (с нуля)

  • newSheetNamestring

    Имя для дублированного листа

  • sheetIdnumberобязательный

    Идентификатор листа для дублирования (используйте sheets_get_metadata, чтобы найти идентификаторы листов)

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

sheets_format_cellsидемпотентный

Форматирует ячейки в Google Sheet (цвета, шрифты, выравнивание, числовые форматы)

Параметры
  • formatobjectобязательный
  • rangestringобязательный
  • spreadsheetIdstringобязательный
sheets_get_basic_filterтолько чтениеидемпотентный

Читает конфигурацию Basic Filter (AutoFilter) для листа, включая отфильтрованный диапазон, параметры сортировки и критерии фильтрации для каждого столбца (скрытые значения, условия, цветовые фильтры). Возвращает hasBasicFilter: false, если фильтр не применён.

Параметры
  • sheetNamestringобязательный

    Имя листа (вкладки) для проверки

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

sheets_get_border_mapтолько чтениеидемпотентный

Возвращает визуальную табличную карту границ для диапазона. Вместо поячеечного JSON с четырьмя отдельными объектами границ возвращает компактные сетки, показывающие, у каких ячеек есть верхние/нижние/левые/правые границы и их стили. Устраняет неоднозначность между "правой границей ячейки N" и "левой границей ячейки N+1". Результат: сетка горизонтальных линий и сетка вертикальных линий, каждая в виде двумерного массива стилей линий. Установите includeStyle:true, чтобы добавить сведения о цвете и ширине (вывод станет больше).

Параметры
  • includeStyleboolean

    По умолчанию: false. Если true, каждая линия границы включает детали цвета и толщины. Если false, отображается только название стиля (SOLID, DASHED и т. д.) — более компактно.

  • rangestringобязательный

    Диапазон с префиксом листа, например "Sheet1!A1:F10". Имя листа нужно, чтобы правильно определить диапазон.

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

sheets_get_conditional_formattingтолько чтениеидемпотентный

Читает правила условного форматирования и чередующиеся диапазоны (цвета строк/столбцов) для листа. По умолчанию формулы условного форматирования нормализованы под английскую локаль (точка с запятой → запятая). Каждое правило с формулой включает поле "_formulaLocaleRaw" с исходной немодифицированной формулой. Установите normalizeFormulas:false, чтобы получить сырые формулы в том виде, в каком их возвращает API.

Параметры
  • normalizeFormulasboolean

    По умолчанию: true. Нормализует разделители формул под английскую локаль (точки с запятой → запятые). Каждое нормализованное правило включает "_formulaLocaleRaw" с исходной формулой. Установите false, чтобы получать формулы точно в том виде, в каком их возвращает Google Sheets API.

  • sheetNamestringобязательный

    Имя листа (вкладки) для проверки

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

sheets_get_data_validationтолько чтениеидемпотентный

Читает правила валидации данных (флажки, выпадающие списки, пользовательские формулы и т.д.) из листа или диапазона. Возвращает компактный список уникальных правил валидации, сгруппированных по диапазонам ячеек (run-length encoding). Полезно для поиска флажков (BOOLEAN), выпадающих списков (ONE_OF_LIST / ONE_OF_RANGE), числовых ограничений и проверок по пользовательским формулам.

Параметры
  • rangestring

    Необязательный диапазон БЕЗ префикса листа, например «A1:Z85». Если не указан, проверяется весь лист.

  • sheetNamestringобязательный

    Имя листа (вкладки) для проверки

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

sheets_get_formatting_compactтолько чтениеидемпотентный

Возвращает форматирование диапазона в виде компактных пар A1Range → формат. Соседние ячейки с одинаковым форматированием объединяются в прямоугольные диапазоны (кодирование длин серий). Снижает объём вывода на 90%+ по сравнению с поячеечным форматированием для типичных таблиц. Используйте вместо sheets_get_full_sheet_snapshot, когда нужны только данные форматирования. Поддерживаемые поля: backgroundColor, backgroundColorStyle, textFormat, horizontalAlignment, verticalAlignment, wrapStrategy, textRotation, numberFormat, padding, borders.

Параметры
  • fieldsstring[]

    Необязательный список полей формата для включения, например ["backgroundColor", "textFormat", "borders"]. Если параметр опущен, возвращаются все поддерживаемые поля.

  • rangestringобязательный

    Диапазон БЕЗ префикса листа, например "A1:Z85"

  • sheetNamestringобязательный

    Название листа (вкладки)

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

  • useEffectiveFormatboolean

    Используйте effectiveFormat (true, включает все унаследованные значения по умолчанию) или userEnteredFormat (false, по умолчанию — только явные переопределения). userEnteredFormat даёт значительно меньший объём данных.

sheets_get_full_sheet_snapshotтолько чтениеидемпотентный

Одноразовый инструмент: читает все структурные метаданные и метаданные форматирования листа за один вызов API. Возвращает: свойства листа (замороженные строки/столбцы, размеры, цвет вкладки), объединённые ячейки, ширину столбцов, высоту строк, полосатые диапазоны и опционально форматирование на уровне ячеек для заданного диапазона (includeFormattingRange). compactMode по умолчанию выключен (OFF) — возвращается полная детализация по каждой ячейке, если только не передан compactMode:true. Когда compactMode включён (ON), смежные ячейки с одинаковым форматированием сворачиваются в дескрипторы диапазонов (вывод становится меньше на 90% и более). Правила условного форматирования включены по умолчанию (includeConditionalFormatting:true); установите false, чтобы исключить их. Формулы условного форматирования нормализованы до английской локали (запятые). Используйте fields, чтобы ограничить, какие свойства форматирования возвращаются. Используйте этот инструмент перед программным воссозданием листа.

Параметры
  • compactModeboolean

    По умолчанию: false. Возвращается полное форматирование для каждой ячейки, если не установлен параметр compactMode:true. Если значение true, соседние ячейки с одинаковым форматированием объединяются в дескрипторы диапазонов (кодирование длин серий), что сокращает вывод более чем на 90% для типичных форматированных листов. Применяется только при установленном includeFormattingRange.

  • fieldsstring[]

    Необязательный список имён полей формата, например: ["backgroundColor", "textFormat", "borders"]. Уменьшает размер ответа, исключая неиспользуемые свойства формата. Если параметр опущен, возвращаются все поля.

  • includeConditionalFormattingboolean

    По умолчанию: true. Включает правила условного форматирования и чередующиеся диапазоны в снимок. Формулы условного форматирования нормализуются под английскую локаль (точки с запятой заменяются на запятые). Установите false, чтобы уменьшить размер выходных данных, когда правила условного форматирования не нужны.

  • includeFormattingRangestring

    Необязательный диапазон БЕЗ префикса листа (например, "A1:Z85") для включения форматирования на уровне ячеек. Если опущен, возвращаются только структурные метаданные.

  • sheetNamestringобязательный

    Имя листа (вкладки) для создания снимка

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

  • useEffectiveFormatboolean

    Если задан includeFormattingRange: используется effectiveFormat (true) или userEnteredFormat (false, по умолчанию).

sheets_get_merged_cellsтолько чтениеидемпотентный

Получает все объединённые диапазоны ячеек для конкретного листа. Возвращает каждое объединение в нотации A1 и координатах GridRange.

Параметры
  • sheetNamestringобязательный

    Имя листа (вкладки) для проверки

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

sheets_get_metadataтолько чтениеидемпотентный

Получает метаданные таблицы Google Sheets, включая названия листов, их ID и свойства.

Параметры
  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

sheets_get_sheet_dimensionsтолько чтениеидемпотентный

Получает ширину столбцов (pixelSize), высоту строк (pixelSize), скрытые столбцы/строки и количество замороженных строк/столбцов для листа.

Параметры
  • sheetNamestringобязательный

    Имя листа (вкладки) для проверки

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

sheets_get_sheet_formattingтолько чтениеидемпотентный

Читает форматирование ячеек (цвет фона, цвет текста, семейство шрифта, размер шрифта, полужирный, курсив, горизонтальное/вертикальное выравнивание, wrapStrategy, textRotation, numberFormat) для диапазона. Возвращает двумерный массив, соответствующий строкам/столбцам запрошенного диапазона. Установите useEffectiveFormat=true, чтобы получить разрешённый/унаследованный формат вместо введённого пользователем.

Параметры
  • rangestringобязательный

    Диапазон в нотации A1, ОБЯЗАТЕЛЬНО должен включать имя листа, например: "Dyspozycje!A1:Z85"

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

  • useEffectiveFormatboolean

    Если true, возвращает effectiveFormat (включает унаследованные/стандартные стили). По умолчанию: false (только userEnteredFormat).

sheets_get_sheet_structureтолько чтениеидемпотентный

Легковесный инструмент, возвращающий ТОЛЬКО структурные и размерные метаданные листа (без данных по каждой ячейке). Возвращает: размеры листа, замороженные строки/столбцы, цвет вкладки, индекс листа, массив ширин столбцов, массив высот строк, скрытые столбцы/строки и все диапазоны объединения в нотации A1. Используйте этот инструмент вместо sheets_get_full_sheet_snapshot, когда форматирование отдельных ячеек не требуется. Гораздо быстрее и дешевле: один вызов API с минимальной маской полей.

Параметры
  • sheetNamestringобязательный

    Имя листа (вкладки) для проверки

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

sheets_get_tablesтолько чтениеидемпотентный

Читает нативные таблицы Google Sheets для электронной таблицы или конкретного листа.

Параметры
  • sheetNamestring

    Необязательное имя листа (вкладки) для проверки

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

sheets_get_valuesтолько чтениеидемпотентный

Получает значения из указанного диапазона в таблице Google Sheets.

Параметры
  • majorDimensionenum

    Основное измерение значений (по умолчанию: ROWS)

  • rangestringобязательный

    Диапазон в нотации A1 для получения (например, "Sheet1!A1:B10")

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

  • valueRenderOptionenum

    Как должны быть представлены значения (по умолчанию: FORMATTED_VALUE)

sheets_insert_dateидемпотентный

Вставляет правильно отформатированные даты в Google Sheets с поддержкой локали и автоопределением.

Параметры
  • autoDetectboolean

    Автоматически определяет и разбирает формат даты (по умолчанию: true).

  • datestringобязательный

    Дата для вставки (поддерживает различные форматы: ГГГГ-ММ-ДД, ДД.ММ.ГГГГ, ММ/ДД/ГГГГ, а также относительные даты, например «сегодня», «завтра»)

  • formatenum

    Предпочтение формата даты (locale=локаль таблицы, iso=YYYY-MM-DD, us=MM/DD/YYYY, eu=DD.MM.YYYY)

  • rangestringобязательный

    Диапазон в A1-нотации для вставки даты (например, "Sheet1!A1")

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

  • useEUFormatboolean

    Используйте точку с запятой в качестве разделителя для таблиц в локали ЕС (автоматически определяется по языку или контексту пользователя, если не указано иное)

sheets_insert_linkидемпотентный

Вставляет кликабельные ссылки в ячейки Google Sheets с настраиваемым отображаемым текстом.

Параметры
  • rangestringобязательный

    Диапазон в нотации A1 для вставки ссылки (например, "Sheet1!A1" или "A1:B2")

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

  • textstring

    Настраиваемый текст для отображения ссылки (необязательно - если не указан, будет отображаться URL)

  • urlstringобязательный

    URL для ссылки (должен быть действительным URL)

  • useEUFormatboolean

    Используйте точку с запятой в качестве разделителя для таблиц в локали ЕС (автоматически определяется по языку или контексту пользователя, если не указано иное)

  • validationboolean

    Нужно ли проверять формат URL (по умолчанию: true)

sheets_insert_rowsидемпотентный

Вставляет новые строки в указанную позицию с опциональными данными.

Параметры
  • inheritFromBeforeboolean

    Наследовать ли форматирование из предыдущей строки (по умолчанию: false)

  • positionenum

    Позиция относительно якорной строки (по умолчанию: ДО)

  • rangestringобязательный

    Точка привязки в нотации A1, куда будут вставлены строки (например, "Sheet1!A5")

  • rowsnumber

    Количество строк для вставки (по умолчанию: 1)

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

  • valueInputOptionenum

    Как следует интерпретировать входные данные (по умолчанию: USER_ENTERED)

  • valuesany[][]

    Необязательный двумерный массив значений для заполнения только что вставленных строк.

sheets_insert_sheetидемпотентный

Добавляет новый лист в существующую таблицу Google Sheets

Параметры
  • columnCountnumber

    Количество столбцов в листе (по умолчанию: 26)

  • indexnumber

    Индекс, куда следует вставить лист (с нуля)

  • rowCountnumber

    Количество строк в листе (по умолчанию: 1000)

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

  • titlestringобязательный

    Название нового листа

sheets_merge_cellsидемпотентный

Объединить ячейки в Google Таблице

Параметры
  • mergeTypeenumобязательный
  • rangestringобязательный
  • spreadsheetIdstringобязательный
sheets_unmerge_cellsидемпотентный

Разъединить ячейки в Google Sheet

Параметры
  • rangestringобязательный
  • spreadsheetIdstringобязательный
sheets_update_bordersидемпотентный

Обновить границы ячеек в Google Таблице

Параметры
  • bordersobjectобязательный
  • rangestringобязательный
  • spreadsheetIdstringобязательный
sheets_update_chartидемпотентный

Обновить существующую диаграмму в таблице Google Sheets

Параметры
  • altTextstring

    Обновленный альтернативный текст для доступности (необязательно)

  • backgroundColorobject

    Обновить цвет фона диаграммы (необязательно)

  • chartIdnumberобязательный

    Идентификатор диаграммы для обновления (используйте sheets_get_metadata, чтобы найти идентификаторы диаграмм)

  • chartTypeenum

    Обновленный тип диаграммы (необязательно)

  • domainAxisobject

    Обновленная конфигурация оси X (домен) (необязательно)

  • leftAxisobject

    Обновлённая конфигурация левой оси (Y) (необязательно)

  • legendobject

    Обновленная настройка легенды (необязательно)

  • positionobject

    Обновлены настройки положения диаграммы (необязательно)

  • rightAxisobject

    Обновленная конфигурация правой (Y) оси (необязательно)

  • seriesobject[]

    Обновленный массив рядов данных для диаграммы (необязательно)

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

  • subtitlestring

    Обновлённый подзаголовок диаграммы (необязательно)

  • titlestring

    Обновлённый заголовок диаграммы (необязательно)

sheets_update_sheet_propertiesидемпотентный

Обновить свойства листа в таблице Google Sheets

Параметры
  • gridPropertiesobject

    Свойства сетки для обновления

  • sheetIdnumberобязательный

    Идентификатор листа для обновления (используйте sheets_get_metadata, чтобы найти идентификаторы листов)

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

  • tabColorobject

    Цвет вкладки (значения RGB от 0.0 до 1.0)

  • titlestring

    Новое название для листа.

sheets_update_tableидемпотентный

Обновить существующую нативную таблицу Google Sheets по tableId

Параметры
  • columnsobject[]

    Необязательные определения столбцов для замены в таблице.

  • fieldsstringобязательный

    Обязательная маска полей для обновления таблицы, например: "name", "range", "columnProperties" или "name,range".

  • namestring

    Необязательное новое имя таблицы

  • rangestring

    Необязательный новый диапазон в нотации A1 для таблицы, например "A1:D20"

  • sheetNamestring

    Название целевого листа при обновлении диапазона таблицы

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

  • tableIdstringобязательный

    ID таблицы для обновления

sheets_update_valuesидемпотентный

Обновляет значения в указанном диапазоне таблицы Google Sheets. Примеры: - Фиксированный диапазон "A1:C3" - нужно указать ровно 3 строки - Гибкий диапазон "A1" - расширится, чтобы вместить все переданные строки - Чтобы обновить строки 42-74 (33 строки), используйте "A42", а не "A42:E53" ВАЖНО: Пустые строки в вашем массиве данных всё равно считаются строками!

Параметры
  • rangestringобязательный

    Диапазон для обновления в нотации A1. Используйте «Sheet1!A1:B10» для точного диапазона (должен точно совпадать с количеством строк) или «Sheet1!A1» для гибкого диапазона, который автоматически расширяется в зависимости от данных. Совет: если обновляете несколько строк с разным содержимым, используйте гибкий диапазон (например, «A42» вместо «A42:E53»), чтобы избежать ошибок из-за несовпадения количества строк.

  • spreadsheetIdstringобязательный

    Идентификатор таблицы (находится в URL после /d/)

  • valueInputOptionenum

    Как следует интерпретировать входные данные (по умолчанию: USER_ENTERED)

  • valuesany[][]обязательный

    Двумерный массив значений для обновления, где каждый вложенный массив — это строка.

1.10.3основная
1.10.2
1.10.1
1.10.0
1.9.0
1.8.1
1.8.0
1.7.1
1.7.0
1.6.0
1.5.4
1.5.3
1.5.2
1.5.0
1.4.3
1.4.1
1.3.0
1.0.0

Выберите клиент, чтобы установить freema/mcp-gsheets:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "freema-mcp-gsheets-7s57dl7ufg": {
      "env": {
        "GOOGLE_PROJECT_ID": "your-project-id",
        "GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json"
      },
      "args": [
        "-y",
        "mcp-gsheets@latest"
      ],
      "command": "npx"
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "freema-mcp-gsheets-7s57dl7ufg": {
      "env": {
        "GOOGLE_PROJECT_ID": "your-project-id",
        "GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json"
      },
      "args": [
        "-y",
        "mcp-gsheets@latest"
      ],
      "command": "npx"
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "freema-mcp-gsheets-7s57dl7ufg": {
      "type": "stdio",
      "env": {
        "GOOGLE_PROJECT_ID": "your-project-id",
        "GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json"
      },
      "args": [
        "-y",
        "mcp-gsheets@latest"
      ],
      "command": "npx"
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"freema-mcp-gsheets-7s57dl7ufg\",\"type\":\"stdio\",\"env\":{\"GOOGLE_PROJECT_ID\":\"your-project-id\",\"GOOGLE_APPLICATION_CREDENTIALS\":\"/absolute/path/to/service-account-key.json\"},\"args\":[\"-y\",\"mcp-gsheets@latest\"],\"command\":\"npx\"}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "freema-mcp-gsheets-7s57dl7ufg": {
      "env": {
        "GOOGLE_PROJECT_ID": "your-project-id",
        "GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json"
      },
      "args": [
        "-y",
        "mcp-gsheets@latest"
      ],
      "command": "npx"
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add freema-mcp-gsheets-7s57dl7ufg --env GOOGLE_PROJECT_ID=your-project-id --env GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/service-account-key.json -- npx -y mcp-gsheets@latest

Либо через JSON-конфиг:

claude mcp add-json freema-mcp-gsheets-7s57dl7ufg "{\"env\":{\"GOOGLE_PROJECT_ID\":\"your-project-id\",\"GOOGLE_APPLICATION_CREDENTIALS\":\"/absolute/path/to/service-account-key.json\"},\"args\":[\"-y\",\"mcp-gsheets@latest\"],\"command\":\"npx\"}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add freema-mcp-gsheets-7s57dl7ufg --env GOOGLE_PROJECT_ID=your-project-id --env GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/service-account-key.json -- npx -y mcp-gsheets@latest

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.freema-mcp-gsheets-7s57dl7ufg]
command = "npx"
args = ["-y", "mcp-gsheets@latest"]

[mcp_servers.freema-mcp-gsheets-7s57dl7ufg.env]
GOOGLE_PROJECT_ID = "your-project-id"
GOOGLE_APPLICATION_CREDENTIALS = "/absolute/path/to/service-account-key.json"
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите freema/mcp-gsheets, а в поле команды запуска — строку ниже:
npx -y mcp-gsheets@latest

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "freema-mcp-gsheets-7s57dl7ufg": {
      "env": {
        "GOOGLE_PROJECT_ID": "your-project-id",
        "GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json"
      },
      "args": [
        "-y",
        "mcp-gsheets@latest"
      ],
      "command": "npx"
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "freema-mcp-gsheets-7s57dl7ufg": {
      "env": {
        "GOOGLE_PROJECT_ID": "your-project-id",
        "GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json"
      },
      "args": [
        "-y",
        "mcp-gsheets@latest"
      ],
      "command": "npx",
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например freema-mcp-gsheets-7s57dl7ufg.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: freema-mcp-gsheets-7s57dl7ufg
    command: npx
    args:
      - "-y"
      - "mcp-gsheets@latest"
    env:
      GOOGLE_PROJECT_ID: your-project-id
      GOOGLE_APPLICATION_CREDENTIALS: /absolute/path/to/service-account-key.json
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "freema-mcp-gsheets-7s57dl7ufg": {
      "env": {
        "GOOGLE_PROJECT_ID": "your-project-id",
        "GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json"
      },
      "args": [
        "-y",
        "mcp-gsheets@latest"
      ],
      "command": "npx"
    }
  }
}

Похожие MCP-сервера

xing5/mcp-google-sheets

xing5/mcp-google-sheets

от xing5

Читает и записывает данные в Google Таблицы: обновляет ячейки, ищет по документу, создаёт листы. Поддерживает сервисные аккаунты и фильтрацию инструментов.

Python⭐ 1012
Miro MCP

Miro MCP

официальный

Официальный MCP-сервер Miro: даёт AI-ассистенту доступ к вашим доскам — читать их содержимое и создавать на них диаграммы, стикеры и документы.

henilcalagiya/google-sheets-mcp

henilcalagiya/google-sheets-mcp

от henilcalagiya

MCP-сервер для автоматизации Google Sheets: создание, чтение, обновление и удаление таблиц через MCP-клиенты. Использует сервисный аккаунт Google для безопасной интеграции. Полезен разработчикам, а...

Python⭐ 13
jen6/ticktick-mcp

jen6/ticktick-mcp

от jen6

MCP-сервер для интеграции TickTick с AI-ассистентами. Управляйте задачами с фильтрацией по приоритету, тегам и датам. Создавайте, обновляйте и завершайте задачи. Полезен для автоматизации работы че...

Python⭐ 67
softeria/ms-365-mcp-server

softeria/ms-365-mcp-server

от softeria

MCP сервер для работы с Microsoft 365 через Graph API. Предоставляет 200+ инструментов для управления почтой, календарём и OneDrive, включая Teams и SharePoint. Автоматизируйте офисные задачи с ИИ-ассистентами.

TypeScript⭐ 1063
orellazi/coda-mcp

orellazi/coda-mcp

от orellazri

MCP сервер для работы с API Coda: управляйте страницами (создание, чтение, обновление, дублирование, переименование) и таблицами (строки, столбцы, вставка, обновление, удаление, кнопки). Инструмент полезен для интеграции AI-ассистентов с документами Coda и автоматизации рутинных операций.

TypeScript⭐ 62
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин