MCP Reference: drivemcp.googleapis.com

يعمل خادم بروتوكول سياق النموذج (MCP) كوكيل بين خدمة خارجية توفّر السياق أو البيانات أو الإمكانات لنموذج لغوي كبير (LLM) أو تطبيق ذكاء اصطناعي. تربط خوادم MCP تطبيقات الذكاء الاصطناعي بالأنظمة الخارجية، مثل قواعد البيانات وخدمات الويب، وتترجم ردودها إلى تنسيق يمكن لتطبيق الذكاء الاصطناعي فهمه.

أدوات MCP

أداة MCP هي وظيفة أو إمكانية قابلة للتنفيذ يعرضها خادم MCP لنموذج لغوي كبير أو تطبيق ذكاء اصطناعي لتنفيذ إجراء في العالم الحقيقي.

يحتوي خادم MCP على drivemcp.googleapis.com على الأدوات التالية:

أدوات MCP
create_file

استخدِم هذه الأداة لإنشاء ملف أو تحميله إلى Google Drive.

عند تحميل ملف، يجب ترميز المحتوى بترميز Base64 في الحقل content بغض النظر عن نوع MIME للملف الذي يتم تحميله.

تعرض هذه الأداة كائن ملف واحد عند الإنشاء بنجاح.

يمكن إنشاء أنواع 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 من Google، اضبط disable_conversion_to_google_type على "صحيح".

يمكن إنشاء المجلدات عن طريق ضبط نوع 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
}'