MCP Reference: drivemcp.googleapis.com

هذا خادم MCP توفّره واجهة برمجة التطبيقات Drive API. يوفّر الخادم أدوات للمطوّرين لإنشاء تطبيقات نماذج لغوية كبيرة (LLM) استنادًا إلى Drive.

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

إعداد الخادم

يجب ضبط خادم MCP في Drive قبل استخدامه. لمزيد من المعلومات حول استخدام خوادم MCP البعيدة من Google وGoogle Cloud، يُرجى الاطّلاع على نظرة عامة على خوادم MCP من Google Cloud.

نقاط نهاية الخادم

نقطة نهاية خدمة MCP هي عنوان الشبكة وواجهة الاتصال (عادةً عنوان URL) لخادم MCP الذي يستخدمه تطبيق الذكاء الاصطناعي (المضيف لعميل MCP) لإنشاء اتصال آمن وموحّد. وهي نقطة التواصل التي يمكن للنموذج اللغوي الكبير من خلالها طلب السياق أو استخدام أداة أو الوصول إلى أحد الموارد. يمكن أن تكون نقاط نهاية Google MCP عالمية أو إقليمية.

يحتوي خادم MCP الخاص بواجهة برمجة تطبيقات Drive على نقطة نهاية MCP العامة التالية:

  • https://drivemcp.googleapis.com/mcp/v1

أدوات MCP

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

الأدوات

يتضمّن خادم 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 على "صحيح".

يمكن إنشاء المجلدات من خلال ضبط نوع 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، المنطقة الزمنية التلقائية هي التوقيت العالمي المتفق عليه، مثل 2012-06-04T12:00:00-08:00. لا يمكن مقارنة الحقول من النوع date.
viewedByMeTime <=، و<، و=، و!=، و>، و>= التاريخ الذي عرض فيه المستخدم ملفًا آخر مرة تنسيق RFC 3339، المنطقة الزمنية التلقائية هي التوقيت العالمي المتفق عليه، مثل 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/v1' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'