Инструмент: get_spreadsheet
Возвращает содержимое таблицы. Возвращает названия, имена листов, свойства сетки и другие метаданные для указанного идентификатора таблицы. Также возвращает полные данные сетки, если они запрошены.
Соответствует методу spreadsheets.get в REST API: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/get.
Схема: spreadsheet_id (строка, обязательно) – идентификатор таблицы, которую нужно запросить. - include_grid_data (логическое значение, необязательный параметр): true, если нужно вернуть данные сетки. Значение по умолчанию – false. - fields (массив строк, необязательное поле). Маски полей, указывающие, какие свойства нужно вернуть (например, ["sheets.properties.sheetId", "sheets.properties.title"]). - comments_included (логическое значение, необязательное поле). Если задано значение true, комментарии будут включены в ответ. Значение по умолчанию – false. - ranges (массив строк, необязательный параметр) – диапазоны в формате A1 или R1C1, которые нужно получить из таблицы. Если не указано, возвращается вся таблица.
В приведенном ниже фрагменте кода показано, как использовать curl для вызова инструмента get_spreadsheet MCP.
| Запрос curl |
|---|
curl --location 'https://sheetsmcp.googleapis.com/mcp/v1' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "get_spreadsheet", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Схема ввода
GetContentRequest
| JSON-представление |
|---|
{ "spreadsheetId": string, "includeGridData": boolean, "fields": [ string ], "ranges": [ string ], "commentsIncluded": boolean } |
| Поля | |
|---|---|
spreadsheetId |
Обязательно. Идентификатор таблицы, которую нужно запросить. |
includeGridData |
Значение True, если нужно вернуть данные сетки. |
fields[] |
Необязательное поле. Маска поля, чтобы указать, какие свойства нужно вернуть из API Таблиц. Подробнее о том, как использовать маски полей, можно узнать на странице https://developers.google.com/workspace/sheets/api/guides/field-masks. ВАЖНО! Используйте иерархические пути на основе структуры JSON ответа Sheets API. – Например, чтобы получить название и идентификатор листа, используйте "sheets.properties.sheetId" и "sheets.properties.title" вместо "title,sheetId". – Указывайте только нужные поля. – Чтобы получить таблицы, используйте: 'sheets.tables' или 'sheets.properties'. – Чтобы получить названия и идентификаторы листов, используйте: 'sheets.properties.sheetId' и 'sheets.properties.title'. |
ranges[] |
Необязательное поле. Нотация A1 или R1C1 диапазонов, которые нужно получить из таблицы. Если не указано, возвращается вся таблица. |
Объединенное поле Поле |
|
commentsIncluded |
Необязательное поле. Если значение равно true, комментарии будут включены в ответ. По умолчанию комментарии не включаются. |
Схема вывода
Представляет объект JSON.
Неупорядоченная карта "ключ-значение", которая точно передает семантику объекта JSON. Это позволяет анализировать любую полезную нагрузку JSON как поле сообщения в формате ProtoJSON.
Это соответствует рекомендациям RFC 8259 для совместимого JSON: в частности, этот тип не может представлять большие значения Int64 или числа NaN/Infinity, поскольку формат JSON обычно не поддерживает эти значения в своем числовом типе.
Если вы не планируете анализировать произвольный код JSON в своем сообщении, вместо этого типа следует использовать специальное типизированное сообщение.
Структура
| JSON-представление |
|---|
{ "fields": { string: value, ... } } |
| Поля | |
|---|---|
fields |
Неупорядоченная карта значений с динамической типизацией. Объект содержит список из нескольких пар ( |
FieldsEntry
| JSON-представление |
|---|
{ "key": string, "value": value } |
| Поля | |
|---|---|
key |
|
value |
|
Значение
| JSON-представление |
|---|
{ "nullValue": null, "numberValue": number, "stringValue": string, "boolValue": boolean, "structValue": { object }, "listValue": array } |
| Поля | |
|---|---|
Объединенное поле kind. Тип значения. kind может иметь одно из следующих значений: |
|
nullValue |
Представляет объект JSON |
numberValue |
Представляет число JSON. Не должно быть |
stringValue |
Представляет строку JSON. |
boolValue |
Представляет логическое значение JSON (литерал |
structValue |
Представляет объект JSON. |
listValue |
Представляет собой массив JSON. |
ListValue
| JSON-представление |
|---|
{ "values": [ value ] } |
| Поля | |
|---|---|
values[] |
Повторяющееся поле со значениями динамического типа. |
NullValue
Представляет объект JSON null.
NullValue – это страж, использующий перечисление с одним значением для представления нулевого значения для объединения типов Value.
Поле типа NullValue с любым значением, кроме 0, считается недопустимым. Большинство сериализаторов ProtoJSON будут создавать Value с null_value, заданным как JSON null, независимо от целочисленного значения, и поэтому будут выполнять преобразование в значение 0.
| Перечисления | |
|---|---|
NULL_VALUE |
Нулевое значение. |
Аннотации инструментов
Аннотации инструментов отправляются клиентам MCP, чтобы описать основной риск, связанный с определенным инструментом. Большинство клиентов считают эти подсказки ненадежными, но их можно использовать, чтобы определить, когда пользователю может быть отправлен запрос на подтверждение.
Вместе со строкой заголовка определены следующие логические подсказки:
readOnlyHint: если значение равно true, инструмент не изменяет среду. Значение по умолчанию – false.destructiveHint: если задано значение True, инструмент может выполнять деструктивные действия. Если задано значение false, инструмент может выполнять только действия по добавлению. Значение по умолчанию: true.idempotentHint: если задано значение True, повторный вызов инструмента с теми же аргументами не окажет дополнительного влияния на его среду. Значение по умолчанию – false.openWorldHint– если значение равно true, инструмент может взаимодействовать с внешними объектами. Если значение равно false, инструмент может взаимодействовать только с внутренними объектами. Например, инструмент веб-поиска будет открытым миром, а инструмент памяти – нет.
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ✅
Области авторизации
Требует одной из следующих областей применения OAuth:
https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/spreadsheets.readonlyhttps://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/drive.filehttps://www.googleapis.com/auth/spreadsheets