MCP Reference: calendarmcp.googleapis.com

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

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

إعداد الخادم

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

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

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

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

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

أدوات MCP

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

الأدوات

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

أدوات MCP
list_events

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

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

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

إذا كانت أداة search_events متاحة، استخدِمها بدلاً من ذلك لإجراء عمليات البحث في التقويم الأساسي للمستخدم في الحالات التالية:

  • أنت تبحث عن أحداث تتطابق مع موضوع أو فئة أو نية معيّنة (مثل "اجتماعات غداء" أو "مزامنة المشاريع").
  • عليك العثور على الأحداث الأكثر صلةً (أعلى K) بدلاً من جميع الأحداث التي تستوفي القيود.
  • تحتاج إلى إمكانات البحث عن الكلمات الرئيسية أو البحث الدلالي.

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

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

مثال:

list_events(
    startTime='2024-09-17T06:00:00',
    endTime='2024-09-17T12:00:00',
    pageSize=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(
    eventId='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(
    attendeeEmails=['joedoe@gmail.com', 'janedoe@gmail.com'],
    startTime='2024-09-10T00:00:00',
    endTime='2024-09-17T00:00:00',
    durationMinutes=60,
    preferences={
        'startHour': '09:00',
        'endHour': '17:00',
        'excludeWeekends': 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',
    startTime='2024-09-17T14:00:00',
    endTime='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(
    eventId='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(
    eventId='event123'
)
# Deletes the event with id 'event123' on the user's primary calendar.
respond_to_event

الردّ على حدث

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

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

مثال:

respond_to_event(
    eventId='event123',
    responseStatus='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/v1' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'