도구: 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 |
필수 항목입니다. 업데이트할 스프레드시트의 ID입니다. |
requests[] |
필수 항목입니다. 스프레드시트에 적용할 업데이트 목록입니다. 각 요청은 https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/request에 설명된 스키마를 사용하는 유효한 spreadsheets.batchUpdate 요청 객체여야 합니다. 요청은 지정된 순서대로 적용됩니다. 유효하지 않은 요청이 있으면 요청이 적용되지 않습니다. |
구조체
| 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 숫자를 나타냅니다. JSON에서 지원되지 않으므로 |
stringValue |
JSON 문자열을 나타냅니다. |
boolValue |
JSON 불리언 (JSON의 |
structValue |
JSON 객체를 나타냅니다. |
listValue |
JSON 배열을 나타냅니다. |
ListValue
| JSON 표현 |
|---|
{ "values": [ value ] } |
| 필드 | |
|---|---|
values[] |
동적으로 입력된 값의 반복 필드입니다. |
NullValue
JSON null를 나타냅니다.
NullValue는 Value 유형 결합의 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 |
동적으로 입력된 값의 순서가 지정되지 않은 맵입니다.
|
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 숫자를 나타냅니다. JSON에서 지원되지 않으므로 |
stringValue |
JSON 문자열을 나타냅니다. |
boolValue |
JSON 불리언 (JSON의 |
structValue |
JSON 객체를 나타냅니다. |
listValue |
JSON 배열을 나타냅니다. |
ListValue
| JSON 표현 |
|---|
{ "values": [ value ] } |
| 필드 | |
|---|---|
values[] |
동적으로 입력된 값의 반복 필드입니다. |
NullValue
JSON null를 나타냅니다.
NullValue는 Value 유형 결합의 null 값을 나타내기 위해 값이 하나만 있는 enum을 사용하는 센티널입니다.
0 이외의 값이 있는 NullValue 유형의 필드는 잘못된 것으로 간주됩니다. 대부분의 ProtoJSON 직렬화 프로그램은 정수 값과 관계없이 null_value이 JSON null로 설정된 Value를 내보내므로 0 값으로 왕복합니다.
| 열거형 | |
|---|---|
NULL_VALUE |
null 값입니다. |
도구 주석
파괴적 힌트: ❌ | 동일한 힌트: ❌ | 읽기 전용 힌트: ❌ | 오픈 월드 힌트: ✅