도구: search_files
구조화된 쿼리 (구문: query_term operator values)를 사용하여 Drive 파일을 검색합니다. and, or, not, 괄호를 사용하여 절을 결합합니다. 문자열 값은 작은따옴표로 묶어야 합니다. 삽입된 따옴표는 \'로 이스케이프합니다.
쿼리 용어 및 연산자:
title(연산자: contains, =, !=) — 파일 제목fullText(연산자: contains) — 제목 또는 본문 텍스트mimeType(연산자: contains, =, !=) — MIME 유형modifiedTime,viewedByMeTime,createdTime(연산자:<=,<,=,!=,>,>=). RFC 3339 UTC(예:2012-06-04T12:00:00-08:00)를 사용합니다. 비교할 수 없는 날짜 유형입니다.parentId(연산자:=,!=). 사용자의 '내 드라이브'에'root'를 사용합니다.owner(연산자:=,!=). 요청 사용자에게'me'를 사용합니다.sharedWithMe(연산자:=,!=). 값:true또는false.
기타 연산자: and, or, not.
예:
title contains 'hello' and title contains 'goodbye'modifiedTime > '2024-01-01T00:00:00Z' and (mimeType contains 'image/' or mimeType contains 'video/')parentId = '1234567'fullText contains 'hello'owner = 'test@example.org'sharedWithMe = trueowner = 'me'(사용자가 소유한 파일의 경우)
next_page_token을 사용하여 페이지로 나눕니다. 빈 응답은 결과가 더 이상 없음을 의미합니다.
다음 샘플에서는 curl을 사용하여 search_files MCP 도구를 호출하는 방법을 보여줍니다.
| curl 요청 |
|---|
curl --location 'https://drivemcp.googleapis.com/mcp/v1' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "search_files", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
입력 스키마
파일을 검색하는 요청입니다.
SearchFilesRequest
| JSON 표현 |
|---|
{ "query": string, "pageToken": string "pageSize": integer "excludeContentSnippets": boolean } |
| 필드 | |
|---|---|
query |
검색어입니다. |
통합 필드
|
|
pageToken |
페이지로 나누기에 사용할 페이지 토큰입니다. |
통합 필드
|
|
pageSize |
각 페이지에서 반환할 최대 파일 수입니다. |
통합 필드
|
|
excludeContentSnippets |
true이면 콘텐츠 스니펫이 응답에서 제외됩니다. |
출력 스키마
파일 검색에 대한 응답입니다.
SearchFilesResponse
| JSON 표현 |
|---|
{
"files": [
{
object ( |
| 필드 | |
|---|---|
files[] |
출력 전용입니다. 파일 목록입니다. |
통합 필드
|
|
nextPageToken |
다음 페이지 토큰입니다. |
파일
| JSON 표현 |
|---|
{ "id": string, "title": string, "parentId": string, "mimeType": string "fileSize": string "description": string "fileExtension": string "contentSnippet": string "viewUrl": string "sharedWithMeTime": string "createdTime": string "modifiedTime": string "viewedByMeTime": string "owner": string "canAddChildren": boolean } |
| 필드 | |
|---|---|
id |
가져온 파일의 ID입니다. |
title |
파일 제목입니다. |
parentId |
파일의 상위 ID (선택사항)입니다. |
통합 필드
|
|
mimeType |
파일의 MIME 유형입니다. |
통합 필드
|
|
fileSize |
파일의 크기(바이트)입니다. |
통합 필드
|
|
description |
파일에 대한 설명입니다. |
통합 필드
|
|
fileExtension |
파일의 원래 파일 확장자입니다. Drive에 콘텐츠가 저장된 파일에만 채워집니다. |
통합 필드
|
|
contentSnippet |
파일 콘텐츠에 관해 생성된 스니펫입니다. |
통합 필드
|
|
viewUrl |
파일을 볼 수 있는 URL입니다. |
통합 필드
|
|
sharedWithMeTime |
파일이 요청자와 공유된 시간입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
통합 필드
|
|
createdTime |
파일이 생성된 시간입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
통합 필드
|
|
modifiedTime |
파일이 수정된 가장 최근 시간입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
통합 필드
|
|
viewedByMeTime |
요청자가 파일을 본 가장 최근 시간입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
통합 필드
|
|
owner |
파일 소유자의 이메일 주소입니다. |
통합 필드
|
|
canAddChildren |
요청자가 이 폴더에 하위 요소를 추가할 수 있는지 여부입니다. 폴더가 아닌 유형의 경우 항상 false입니다. |
타임스탬프
| JSON 표현 |
|---|
{ "seconds": string, "nanos": integer } |
| 필드 | |
|---|---|
seconds |
Unix epoch 1970-01-01T00:00:00Z 이후 UTC 시간의 초 단위로 표현합니다. 범위는 -62135596800~253402300799(포함)여야 합니다(0001-01-01T00:00:00Z~9999-12-31T23:59:59Z에 해당). |
nanos |
나노초 단위의 음수가 아닌 초수입니다. 이 필드는 초의 대안이 아니라 기간의 나노초 부분입니다. 음수의 초수 값에는 시간에 반영되는 음수가 아닌 나노초 값이 있어야 합니다. 범위는 0~999,999,999(포함)이어야 합니다. |
도구 주석
파괴적 힌트: ❌ | 멱등성 힌트: ✅ | 읽기 전용 힌트: ✅ | 오픈 월드 힌트: ❌