MCP Reference: calendarmcp.googleapis.com

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

أدوات MCP

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

يتضمّن خادم MCP‏ calendarmcp.googleapis.com الأدوات التالية:

أدوات MCP
list_events

تعرض هذه الطريقة أحداث التقويم في تقويم معيّن يستوفي الشروط المحدّدة.

الميزات الأساسية:

  • أي رقم تعريف تقويم، ويمكن أن يكون التقويم الأساسي للمستخدم أو تقاويم أخرى.
  • مطابقة الكلمات الرئيسية
  • فلترة النطاق الزمني
  • يستردّ هذا الإجراء جميع الأحداث التي تتطابق مع قيود الوقت والكلمة الرئيسية.

استخدِم أداة search_events بدلاً من ذلك في الحالات التالية:

  • عليك العثور على الأحداث الأكثر صلةً (أعلى K) بدلاً من جميع الأحداث التي تستوفي القيود.
  • تحتاج إلى إمكانات البحث الدلالي.
  • أنت تبحث فقط في التقويم الأساسي للمستخدم عن معلومات محدّدة.

استخدِم هذه الأداة للاستعلامات مثل:

  • ماذا يتضمّن تقويمي ليوم غد؟
  • ماذا يتضمّن تقويمي ليوم 14 يوليو 2025؟
  • ما هي اجتماعاتي الأسبوع القادم؟
  • هل لديّ أي مواعيد متعارضة بعد ظهر اليوم؟

مثال:

list_events(
    start_time='2024-09-17T06:00:00',
    end_time='2024-09-17T12:00:00',
    page_size=10
)
# Returns up to 10 calendar events between 6:00 AM and 12:00 PM on September 17, 2024 from the user's primary calendar.
get_event

تعرض هذه الطريقة حدثًا واحدًا من تقويم معيّن.

استخدِم هذه الأداة للاستعلامات مثل:

  • الحصول على تفاصيل اجتماع الفريق
  • اعرض لي الحدث الذي يحمل رقم التعريف event123 في تقويمي.

مثال:

get_event(
    event_id='event123'
)
# Returns the event details for the event with id `event123` on the user's primary calendar.
list_calendars

تعرض هذه الطريقة التقاويم في قائمة تقويم المستخدم.

استخدِم هذه الأداة للاستعلامات مثل:

  • ما هي جميع تقاويمي؟

مثال:

list_calendars()
# Returns all calendars the authenticated user has access to.
suggest_time

تقترح هذه الطريقة فترات زمنية في تقويم واحد أو أكثر. للوصول إلى التقويم الأساسي، أضِف "primary" في حقل attendee_emails.

استخدِم هذه الأداة للاستعلامات مثل:

  • متى يكون الجميع متفرغين لعقد اجتماع؟
  • ابحث عن موعد مدته 30 دقيقة يناسبنا نحن الاثنين.
  • تحقَّق ممّا إذا كان jane.doe@google.com متاحًا صباح يوم الاثنين.

مثال:

suggest_time(
    attendee_emails=['joedoe@gmail.com', 'janedoe@gmail.com'],
    start_time='2024-09-10T00:00:00',
    end_time='2024-09-17T00:00:00',
    duration_minutes=60,
    preferences={
        'start_hour': '09:00',
        'end_hour': '17:00',
        'exclude_weekends': True
    }
)
# Returns up to 5 suggested time slots where both users are available for at least one hour between 9:00 AM and 5:00 PM on weekdays from September 10 through September 16, 2024.
create_event

تنشئ هذه الطريقة حدثًا في التقويم.

استخدِم هذه الأداة للاستعلامات مثل:

  • أنشئ حدثًا في تقويمي ليوم غد في الساعة 2 ظهرًا بعنوان "اجتماع مع سارة".
  • جدولة اجتماع مع john.doe@google.com يوم الاثنين التالي من الساعة 10 صباحًا إلى الساعة 11 صباحًا

مثال:

create_event(
    summary='Meeting with Jane',
    start_time='2024-09-17T14:00:00',
    end_time='2024-09-17T15:00:00'
)
# Creates an event on the primary calendar for September 17, 2024 from 2pm to 3pm called 'Meeting with Jane'.
update_event

تعدّل هذه الطريقة حدثًا في التقويم.

استخدِم هذه الأداة للاستعلامات مثل:

  • عدِّل الحدث "اجتماع مع سارة" ليبدأ بعد ساعة واحدة.
  • أضِف john.doe@google.com إلى اجتماع الغد.

مثال:

update_event(
    event_id='event123',
    summary='Meeting with Jane and John'
)
# Updates the summary of event with id 'event123' on the primary calendar to 'Meeting with Jane and John'.
delete_event

يحذف هذا الإجراء حدثًا في التقويم.

استخدِم هذه الأداة للاستعلامات مثل:

  • احذف الحدث الذي يحمل رقم التعريف event123 من تقويمي.

لإلغاء حدث أو رفضه، استخدِم أداة respond_to_event بدلاً من ذلك.

مثال:

delete_event(
    event_id='event123'
)
# Deletes the event with id 'event123' on the user's primary calendar.
respond_to_event

الردّ على حدث

استخدِم هذه الأداة للاستعلامات مثل:

  • قبول الحدث الذي يحمل المعرّف event123 في تقويمي
  • ارفض الاجتماع مع جين.
  • أريد إلغاء اجتماعي التالي.
  • قبول اجتماع التخطيط مبدئيًا

مثال:

respond_to_event(
    event_id='event123',
    response_status='accepted'
)
# Responds with status 'accepted' to the event with id 'event123' on the user's primary calendar.

التعرّف على مواصفات أداة MCP

للحصول على مواصفات أداة MCP لجميع الأدوات في خادم MCP، استخدِم طريقة tools/list. يوضّح المثال التالي كيفية استخدام curl لإدراج جميع الأدوات ومواصفاتها المتاحة حاليًا في خادم MCP.

طلب Curl
curl --location 'https://calendarmcp.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'