MCP Tools Reference: sheetsmcp.googleapis.com

도구: update_spreadsheet

스프레드시트에 하나 이상의 업데이트를 적용합니다.

REST API의 spreadsheets.batchUpdate에 해당합니다(https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/batchUpdate).

가능한 업데이트 목록은 다음과 같습니다.

  • updateSpreadsheetProperties: 스프레드시트의 속성을 업데이트합니다.
  • updateSheetProperties: 시트의 속성을 업데이트합니다.
  • updateDimensionProperties: 측정기준의 속성을 업데이트합니다.
  • updateNamedRange: 이름이 지정된 범위를 업데이트합니다.
  • repeatCell: 범위에 걸쳐 단일 셀을 반복합니다.
  • addNamedRange: 이름이 지정된 범위를 추가합니다.
  • deleteNamedRange: 이름이 지정된 범위를 삭제합니다.
  • addSheet: 시트를 추가합니다.
  • deleteSheet: 시트를 삭제합니다.
  • autoFill: 기존 데이터를 기반으로 더 많은 데이터를 자동으로 입력합니다.
  • cutPaste: 한 영역에서 데이터를 잘라 다른 영역에 붙여넣습니다.
  • copyPaste: 한 영역에서 데이터를 복사하여 다른 영역에 붙여넣습니다.
  • mergeCells: 셀을 병합합니다.
  • unmergeCells: 병합된 셀을 병합 취소합니다.
  • updateBorders: 셀 범위의 테두리를 업데이트합니다.
  • updateCells: 여러 셀을 한 번에 업데이트합니다.
  • addFilterView: 필터 보기를 추가합니다.
  • appendCells: 시트에서 데이터가 있는 마지막 행 뒤에 셀을 추가합니다.
  • clearBasicFilter: 시트의 기본 필터를 지웁니다.
  • deleteDimension: 시트에서 행 또는 열을 삭제합니다.
  • deleteEmbeddedObject: 시트에서 삽입된 객체 (예: 차트, 이미지)를 삭제합니다.
  • deleteFilterView: 시트에서 필터 보기를 삭제합니다.
  • duplicateFilterView: 필터 보기를 복제합니다.
  • duplicateSheet: 시트를 복제합니다.
  • findReplace: 일부 텍스트를 찾아 다른 텍스트로 바꿉니다.
  • insertDimension: 시트에 새 행 또는 열을 삽입합니다.
  • insertRange: 시트에 새 셀을 삽입하여 기존 셀을 이동합니다.
  • moveDimension: 행 또는 열을 시트의 다른 위치로 이동합니다.
  • updateEmbeddedObjectPosition: 삽입된 객체 (예: 차트, 이미지)의 위치를 업데이트합니다.
  • pasteData: 데이터를 시트에 붙여넣습니다 (HTML 또는 구분됨).
  • textToColumns: 텍스트 열을 여러 텍스트 열로 변환합니다.
  • updateFilterView: 필터 보기의 속성을 업데이트합니다.
  • deleteRange: 시트에서 셀 범위를 삭제하고 나머지 셀을 이동합니다.
  • appendDimension: 시트 끝에 측정기준을 추가합니다.
  • addConditionalFormatRule: 새 조건부 서식 규칙을 추가합니다.
  • updateConditionalFormatRule: 기존 조건부 서식 규칙을 업데이트합니다.
  • deleteConditionalFormatRule: 기존 조건부 서식 규칙을 삭제합니다.
  • sortRange: 범위의 데이터를 정렬합니다.
  • setDataValidation: 하나 이상의 셀에 데이터 유효성 검사를 설정합니다.
  • setBasicFilter: 시트에 기본 필터를 설정합니다.
  • addProtectedRange: 보호된 범위를 추가합니다.
  • updateProtectedRange: 보호된 범위를 업데이트합니다.
  • deleteProtectedRange: 보호된 범위를 삭제합니다.
  • autoResizeDimensions: 해당 측정기준의 셀 콘텐츠를 기반으로 하나 이상의 측정기준의 크기를 자동으로 조절합니다.
  • addChart: 차트를 추가합니다.
  • updateChartSpec: 차트 사양을 업데이트합니다.
  • updateBanding: 범위가 지정된 범위를 업데이트합니다.
  • addBanding: 새로운 구간 범위를 추가합니다.
  • deleteBanding: 밴드 범위 삭제
  • createDeveloperMetadata: 새 개발자 메타데이터를 만듭니다.
  • updateDeveloperMetadata: 기존 개발자 메타데이터 항목을 업데이트합니다.
  • deleteDeveloperMetadata: 개발자 메타데이터를 삭제합니다.
  • randomizeRange: 범위의 행 순서를 무작위로 지정합니다.
  • addDimensionGroup: 지정된 범위에 그룹을 만듭니다.
  • deleteDimensionGroup: 지정된 범위의 그룹을 삭제합니다.
  • updateDimensionGroup: 지정된 그룹의 상태를 업데이트합니다.
  • trimWhitespace: 공백 (예: 스페이스, 탭, 줄바꿈)이 있는 셀을 자릅니다.
  • deleteDuplicates: 셀 범위의 지정된 열에 중복 값이 포함된 행을 삭제합니다.
  • updateEmbeddedObjectBorder: 삽입된 객체의 테두리를 업데이트합니다.
  • addSlicer: 슬라이서를 추가합니다.
  • updateSlicerSpec: 슬라이서의 사양을 업데이트합니다.
  • addDataSource: 데이터 소스를 추가합니다.
  • updateDataSource: 데이터 소스를 업데이트합니다.
  • deleteDataSource: 데이터 소스를 삭제합니다.
  • refreshDataSource: 하나 이상의 데이터 소스와 연결된 dbobject를 새로고침합니다.
  • cancelDataSourceRefresh: 하나 이상의 데이터 소스 및 연결된 dbobject의 새로고침을 취소합니다.
  • addTable: 테이블을 추가합니다.
  • updateTable: 테이블을 업데이트합니다.
  • deleteTable: 테이블 삭제 요청입니다.

다음 샘플은 curl를 사용하여 update_spreadsheet MCP 도구를 호출하는 방법을 보여줍니다.

curl 요청
curl --location 'https://sheetsmcp.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "update_spreadsheet",
    "arguments": {
      // provide these details according to the tool MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

입력 스키마

UpdateContentRequest

JSON 표현
{
  "spreadsheetId": string,
  "requests": [
    {
      object
    }
  ]
}
필드
spreadsheetId

string

필수 항목입니다. 업데이트할 스프레드시트의 ID입니다.

requests[]

object (Struct format)

필수 항목입니다. 스프레드시트에 적용할 업데이트 목록입니다. 각 요청은 https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/request에 설명된 스키마를 사용하는 유효한 spreadsheets.batchUpdate 요청 객체여야 합니다. 요청은 지정된 순서대로 적용됩니다. 유효하지 않은 요청이 있으면 요청이 적용되지 않습니다.

구조체

JSON 표현
{
  "fields": {
    string: value,
    ...
  }
}
필드
fields

map (key: string, value: value (Value format))

동적으로 입력된 값의 순서가 지정되지 않은 맵입니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

FieldsEntry

JSON 표현
{
  "key": string,
  "value": value
}
필드
key

string

value

value (Value format)

JSON 표현
{

  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
}
필드
통합 필드 kind. 값의 종류입니다. kind은 다음 중 하나여야 합니다.
nullValue

null

JSON null를 나타냅니다.

numberValue

number

JSON 숫자를 나타냅니다. JSON에서 지원되지 않으므로 NaN, Infinity 또는 -Infinity가 아니어야 합니다. 또한 JSON 형식은 일반적으로 숫자 유형에서 큰 Int64 값을 지원하지 않으므로 이를 표현할 수 없습니다.

stringValue

string

JSON 문자열을 나타냅니다.

boolValue

boolean

JSON 불리언 (JSON의 true 또는 false 리터럴)을 나타냅니다.

structValue

object (Struct format)

JSON 객체를 나타냅니다.

listValue

array (ListValue format)

JSON 배열을 나타냅니다.

ListValue

JSON 표현
{
  "values": [
    value
  ]
}
필드
values[]

value (Value format)

동적으로 입력된 값의 반복 필드입니다.

NullValue

JSON null를 나타냅니다.

NullValueValue 유형 결합의 null 값을 나타내기 위해 값이 하나만 있는 enum을 사용하는 센티널입니다.

0 이외의 값이 있는 NullValue 유형의 필드는 잘못된 것으로 간주됩니다. 대부분의 ProtoJSON 직렬화 프로그램은 정수 값과 관계없이 null_value이 JSON null로 설정된 Value를 내보내므로 0 값으로 왕복합니다.

열거형
NULL_VALUE null 값입니다.

출력 스키마

JSON 객체를 나타냅니다.

JSON 객체의 의미를 완벽하게 포착하기 위한 순서가 지정되지 않은 키-값 맵입니다. 이를 통해 임의의 JSON 페이로드를 ProtoJSON 형식의 메시지 필드로 파싱할 수 있습니다.

이는 상호 운용 가능한 JSON에 관한 RFC 8259 가이드라인을 따릅니다. 특히 JSON 형식은 일반적으로 숫자 유형에서 이러한 값을 지원하지 않으므로 이 유형은 큰 Int64 값이나 NaN/Infinity 숫자를 나타낼 수 없습니다.

임의의 JSON을 메시지로 파싱하지 않으려면 이 유형을 사용하는 대신 맞춤 유형 메시지를 사용하는 것이 좋습니다.

구조체

JSON 표현
{
  "fields": {
    string: value,
    ...
  }
}
필드
fields

map (key: string, value: value (Value format))

동적으로 입력된 값의 순서가 지정되지 않은 맵입니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

FieldsEntry

JSON 표현
{
  "key": string,
  "value": value
}
필드
key

string

value

value (Value format)

JSON 표현
{

  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
}
필드
통합 필드 kind. 값의 종류입니다. kind은 다음 중 하나여야 합니다.
nullValue

null

JSON null를 나타냅니다.

numberValue

number

JSON 숫자를 나타냅니다. JSON에서 지원되지 않으므로 NaN, Infinity 또는 -Infinity가 아니어야 합니다. 또한 JSON 형식은 일반적으로 숫자 유형에서 큰 Int64 값을 지원하지 않으므로 이를 표현할 수 없습니다.

stringValue

string

JSON 문자열을 나타냅니다.

boolValue

boolean

JSON 불리언 (JSON의 true 또는 false 리터럴)을 나타냅니다.

structValue

object (Struct format)

JSON 객체를 나타냅니다.

listValue

array (ListValue format)

JSON 배열을 나타냅니다.

ListValue

JSON 표현
{
  "values": [
    value
  ]
}
필드
values[]

value (Value format)

동적으로 입력된 값의 반복 필드입니다.

NullValue

JSON null를 나타냅니다.

NullValueValue 유형 결합의 null 값을 나타내기 위해 값이 하나만 있는 enum을 사용하는 센티널입니다.

0 이외의 값이 있는 NullValue 유형의 필드는 잘못된 것으로 간주됩니다. 대부분의 ProtoJSON 직렬화 프로그램은 정수 값과 관계없이 null_value이 JSON null로 설정된 Value를 내보내므로 0 값으로 왕복합니다.

열거형
NULL_VALUE null 값입니다.

도구 주석

파괴적 힌트: ❌ | 동일한 힌트: ❌ | 읽기 전용 힌트: ❌ | 오픈 월드 힌트: ✅