כלי: search_files
חיפוש קבצים ב-Drive באמצעות שאילתה מובנית (תחביר: query_term operator values). אפשר לשלב בין סעיפים באמצעות and, or, not וסוגריים. ערכי מחרוזת צריכים להיות מוקפים במירכאות בודדות. צריך להוסיף תו בריחה למירכאות מוטמעות בצורה הבאה: \'.
מונחי שאילתה ואופרטורים:
-
title(ops: contains, =, !=) — file title -
fullText(ops: contains) – כותרת או תוכן ההודעה -
mimeType(ops: contains, =, !=) — סוג MIME -
modifiedTime,viewedByMeTime,createdTime(ops:<=,<,=,!=,>,>=). צריך להשתמש ב-UTC לפי RFC 3339, לדוגמה: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 = true-
owner = 'me'(לקבצים שבבעלות המשתמש)
משתמשים בnext_page_token כדי לחלק את התוצאות לדפים. תגובה ריקה מציינת שאין תוצאות נוספות.
בדוגמה הבאה אפשר לראות איך משתמשים ב-curl כדי להפעיל את כלי ה-MCP search_files.
| בקשת Curl |
|---|
curl --location 'https://drivemcp.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": "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 |
המזהה של הקובץ שאוחזר. |
title |
שם הקובץ. |
parentId |
המזהה (אופציונלי) של ההורה של הקובץ. |
שדה איחוד הערך |
|
mimeType |
סוג ה-MIME של הקובץ. |
שדה איחוד הערך |
|
fileSize |
גודל הקובץ בבייטים. |
שדה איחוד הערך |
|
description |
תיאור הקובץ. |
שדה איחוד הערך |
|
fileExtension |
סיומת הקובץ המקורית של הקובץ. הערך הזה מאוכלס רק עבור קבצים עם תוכן שמאוחסן ב-Drive. |
שדה איחוד הערך |
|
contentSnippet |
תקציר שנוצר לגבי התוכן של הקובץ. |
שדה איחוד הערך |
|
viewUrl |
כתובת ה-URL לצפייה בקובץ. |
שדה איחוד הערך |
|
sharedWithMeTime |
השעה שבה הקובץ שותף עם מגיש הבקשה. הפלט שנוצר תמיד יהיה בפורמט RFC 3339, עם נורמליזציה של Z ושימוש ב-0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: |
שדה איחוד הערך |
|
createdTime |
השעה שבה הקובץ נוצר. הפלט שנוצר תמיד יהיה בפורמט RFC 3339, עם נורמליזציה של Z ושימוש ב-0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: |
שדה איחוד הערך |
|
modifiedTime |
השעה האחרונה שבה הקובץ שונה. הפלט שנוצר תמיד יהיה בפורמט RFC 3339, עם נורמליזציה של Z ושימוש ב-0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: |
שדה איחוד הערך |
|
viewedByMeTime |
הזמן האחרון שבו המבקש צפה בקובץ. הפלט שנוצר תמיד יהיה בפורמט RFC 3339, עם נורמליזציה של Z ושימוש ב-0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: |
שדה איחוד הערך |
|
owner |
כתובת האימייל של הבעלים של הקובץ. |
שדה איחוד הערך |
|
canAddChildren |
אם מגיש הבקשה יכול להוסיף ילדים לתיקייה הזו. הערך הזה תמיד false עבור סוגים שאינם תיקיות. |
חותמת זמן
| ייצוג ב-JSON |
|---|
{ "seconds": string, "nanos": integer } |
| שדות | |
|---|---|
seconds |
מייצג את השניות של זמן UTC מאז ראשית זמן יוניקס (Unix epoch) ב-1970-01-01T00:00:00Z. הערך חייב להיות בין -62135596800 ל-253402300799, כולל (שמתאים לטווח 0001-01-01T00:00:00Z עד 9999-12-31T23:59:59Z). |
nanos |
שברים לא שליליים של שנייה ברזולוציית ננו-שנייה. השדה הזה מייצג את החלק של הננו-שנייה במשך הזמן, ולא מהווה חלופה לשניות. ערכי שניות שליליים עם שברים עדיין צריכים לכלול ערכי ננו-שניות לא שליליים שסופרים קדימה בזמן. הערך חייב להיות בין 0 ל-999,999,999, כולל. |
הערות על כלים
רמז הרסני: ❌ | רמז אידמפוטנטי: ✅ | רמז לקריאה בלבד: ✅ | רמז לעולם פתוח: ❌
היקפי הרשאות
נדרש אחד מהיקפי ההרשאות הבאים של OAuth:
https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/drive.appdatahttps://www.googleapis.com/auth/drive.filehttps://www.googleapis.com/auth/drive.meet.readonlyhttps://www.googleapis.com/auth/drive.metadatahttps://www.googleapis.com/auth/drive.metadata.readonlyhttps://www.googleapis.com/auth/drive.photos.readonlyhttps://www.googleapis.com/auth/drive.readonly