MCP Reference: drivemcp.googleapis.com

שרת Model Context Protocol‏ (MCP) פועל כשרת proxy בין שירות חיצוני שמספק הקשר, נתונים או יכולות למודל שפה גדול (LLM) או לאפליקציית AI. שרתי MCP מחברים אפליקציות AI למערכות חיצוניות כמו מסדי נתונים ושירותי אינטרנט, ומתרגמים את התשובות שלהם לפורמט שאפליקציית ה-AI יכולה להבין.

כלי MCP

כלי MCP הוא פונקציה או יכולת הפעלה ששרת MCP חושף למודל שפה גדול (LLM) או לאפליקציית AI כדי לבצע פעולה בעולם האמיתי.

לשרת ה-MCP‏ drivemcp.googleapis.com יש את הכלים הבאים:

כלי MCP
create_file

קוראים לכלי הזה כדי ליצור או להעלות קובץ ל-Google Drive.

אם מעלים קובץ, התוכן צריך להיות בקידוד base64 בשדה content, ללא קשר לסוג ה-MIME של הקובץ שמעלים.

הפונקציה מחזירה אובייקט File יחיד אם היא יוצרת קובץ בהצלחה.

אפשר ליצור את סוגי ה-MIME הבאים של צד ראשון ב-Google Drive בלי לספק תוכן:

  • application/vnd.google-apps.document
  • application/vnd.google-apps.spreadsheet
  • application/vnd.google-apps.presentation

כברירת מחדל, ההמרות הבאות יבוצעו עבור סוגי ה-MIME הבאים:

  • text/plain עד application/vnd.google-apps.document
  • text/csv עד application/vnd.google-apps.spreadsheet

כדי להשבית המרות עבור סוגי MIME של אינטראקציה ישירה, מגדירים את disable_conversion_to_google_type כ-true.

אפשר ליצור תיקיות על ידי הגדרת סוג ה-MIME ל-application/vnd.google-apps.folder.

download_file_content

אפשר להשתמש בכלי הזה כדי להוריד את התוכן של קובץ ב-Drive כנתונים בינאריים גולמיים (בייטים).

אם הקובץ הוא סוג MIME של צד ראשון ב-Google Drive, השדה exportMimeType נדרש ויקבע את הפורמט של הקובץ שהורד.

אם הקובץ לא נמצא, אפשר לנסות להשתמש בכלים אחרים כמו search_files כדי למצוא את הקובץ שהמשתמש מבקש.

אם המשתמש רוצה ייצוג בשפה טבעית של התוכן שלו ב-Drive, צריך להשתמש בכלי read_file_content (read_file_content צריך להיות קטן יותר וקל יותר לניתוח).

get_file_metadata

אפשר להשתמש בכלי הזה כדי למצוא מטא-נתונים כלליים על קובץ Drive של משתמש.

אם הקובץ לא נמצא, אפשר לנסות להשתמש בכלים אחרים כמו search_files כדי למצוא את הקובץ שהמשתמש מבקש.

get_file_permissions אפשר להשתמש בכלי הזה כדי להציג את ההרשאות של קובץ ב-Drive.
list_recent_files

אפשר להשתמש בכלי הזה כדי למצוא קבצים אחרונים של משתמש מסוים, לפי סדר מיון שנקבע. סדר המיון שמוגדר כברירת מחדל הוא recency.

אפשרויות המיון הנתמכות הן:

  • recency: חותמת הזמן האחרונה משדות התאריך והשעה של הקובץ.
  • lastModified: התאריך שבו בוצע השינוי האחרון בקובץ על ידי מישהו.
  • lastModifiedByMe: הפעם האחרונה שבה המשתמש שינה את הקובץ.

גודל הדף שמוגדר כברירת מחדל הוא 10. משתמשים בnext_page_token כדי לעבור בין דפי התוצאות.

read_file_content

הכלי הזה מאפשר לאחזר ייצוג בשפה טבעית של קובץ ב-Drive.

יכול להיות שהתוכן של קבצים גדולים מאוד לא יהיה מלא. הייצוג הטקסטואלי ישתנה עם הזמן, לכן אל תניחו הנחות לגבי הפורמט הספציפי של הטקסט שמוחזר על ידי הכלי הזה.

סוגי MIME נתמכים:

  • application/vnd.google-apps.document
  • application/vnd.google-apps.presentation
  • application/vnd.google-apps.spreadsheet
  • application/pdf
  • application/msword
  • application/vnd.openxmlformats-officedocument.wordprocessingml.document
  • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  • application/vnd.openxmlformats-officedocument.presentationml.presentation
  • application/vnd.oasis.opendocument.spreadsheet
  • application/vnd.oasis.opendocument.presentation
  • application/x-vnd.oasis.opendocument.text
  • image/png
  • image/jpeg
  • image/jpg

אם הקובץ לא נמצא, אפשר לנסות להשתמש בכלים אחרים כמו search_files כדי למצוא את הקובץ שהמשתמש מבקש באמצעות מילות מפתח.

search_files

אפשר להשתמש בכלי הזה כדי לחפש קבצים ב-Drive באמצעות שאילתה מובנית.

בשדה query צריך להשתמש באופרטורים של שאילתות חיפוש.

מחרוזת שאילתה מכילה את שלושת החלקים הבאים: query_term operator values כאשר:

  • query_term הוא מונח השאילתה או השדה לחיפוש.
  • operator מציין את התנאי למונח השאילתה.
  • values הם הערכים הספציפיים שבהם צריך להשתמש כדי לסנן את תוצאות החיפוש.

מונחי השאילתה

בטבלה הבאה מפורטים מונחי שאילתה תקינים והתיאורים שלהם:

מונח שאילתה אופרטורים תקינים שימוש
title contains,‏ =,‏ != שם הקובץ. מקיפים במירכאות בודדות ('). משתמשים בתו בריחה \' כדי להוסיף מירכאות בודדות בשאילתות, כמו 'Valentine\'s Day'.
fullText contains אם הערך title או הטקסט בתוכן הקובץ תואמים. מקיפים במירכאות בודדות ('). משתמשים בתו בריחה \' כדי להוסיף מירכאות בודדות בשאילתות, כמו 'Valentine\'s Day'.
mimeType contains,‏ =,‏ != סוג ה-MIME של הקובץ. מקיפים במירכאות בודדות ('). משתמשים בתו בריחה \' כדי להוסיף מירכאות בודדות בשאילתות, כמו 'Valentine\'s Day'.
modifiedTime <=,‏ <,‏ =,‏ !=,‏ >,‏ >= התאריך של השינוי האחרון בקובץ. פורמט RFC 3339, אזור הזמן שמוגדר כברירת מחדל הוא UTC, למשל 2012-06-04T12:00:00-08:00. אי אפשר להשוות בין שדות מהסוג date.
viewedByMeTime <=,‏ <,‏ =,‏ !=,‏ >,‏ >= התאריך שבו המשתמש צפה לאחרונה בקובץ. פורמט RFC 3339, אזור הזמן שמוגדר כברירת מחדל הוא UTC, למשל 2012-06-04T12:00:00-08:00. אי אפשר להשוות בין שדות מהסוג date.
parentId =, != האם ההורה שווה למזהה שצוין. אפשר להשתמש ב-root כדי לציין את התיקייה 'האחסון שלי' של המשתמש, שמשמשת כהיררכיה הראשית שלו.
owner =, != המשתמש שהוא הבעלים של הקובץ. אפשר להשתמש ב-me כדי לציין את המשתמש ששולח את הבקשה.
sharedWithMe =, != קבצים באוסף 'קבצים ששותפו איתי' של המשתמש. כל המשתמשים בקובץ נמצאים ברשימת בקרת הגישה (ACL) של הקובץ. יכול להיות true או false.
createdTime <=,‏ <,‏ =,‏ !=,‏ >,‏ >= התאריך שבו הקובץ נוצר. צריך להשתמש בפורמט RFC 3339, אזור הזמן שמוגדר כברירת מחדל הוא UTC, למשל 2012-06-04T12:00:00-08:00.

אופרטורים של שאילתות

בטבלה הבאה מפורטים אופרטורים חוקיים של שאילתות:

מפעיל שימוש
contains התוכן של מחרוזת אחת מופיע במחרוזת השנייה.
= התוכן של מחרוזת או ערך בוליאני שווה לתוכן של המחרוזת או הערך הבוליאני השני.
!= התוכן של מחרוזת או של ערך בוליאני לא שווה לתוכן של המחרוזת או הערך השני.
< ערך אחד קטן מערך אחר.
<= ערך קטן מערך אחר או שווה לו.
> ערך אחד גדול יותר מערך אחר.
>= ערך גדול מערך אחר או שווה לו.
in רכיב נכלל באוסף.
and החזרת פריטים שתואמים לשתי השאילתות.
or החזרת פריטים שתואמים לאחת מהשאילתות.
not שלילת שאילתת חיפוש.
has אוסף מכיל רכיב שתואם לפרמטרים.

דוגמאות לשאילתות:

  • 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 כדי לעבור בין דפי התוצאות. תשובה ריקה מציינת שאין תוצאות או שאין יותר תוצאות להחזרה.

קבלת מפרטים של כלי ה-MCP

כדי לקבל את המפרטים של כלי ה-MCP לכל הכלים בשרת MCP, משתמשים בשיטה tools/list. בדוגמה הבאה אפשר לראות איך משתמשים ב-curl כדי להציג רשימה של כל הכלים והמפרטים שלהם שזמינים כרגע בשרת ה-MCP.

בקשת Curl
curl --location 'https://drivemcp.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'