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) لإنشاء اتصال آمن وموحّد. وهي نقطة التواصل التي يستخدمها نموذج اللغة الكبير لطلب السياق أو استدعاء أداة أو الوصول إلى مصدر. يمكن أن تكون نقاط نهاية MCP من Google عالمية أو إقليمية.

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

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

أدوات MCP

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

الأدوات

يحتوي خادم 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

تقترح فترات زمنية في تقويم واحد أو أكثر. للوصول إلى التقويم الأساسي، أضِف "أساسي" في حقل 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 ظهرًا باسم "اجتماع مع Jane".
  • أريد جدولة اجتماع مع 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

تعدّل حدثًا في التقويم.

استخدِم هذه الأداة لطلبات البحث مثل:

  • أريد تعديل الحدث "اجتماع مع Jane" ليكون بعد ساعة واحدة.
  • أريد إضافة 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 في تقويمي.
  • أريد رفض الاجتماع مع Jane.
  • أريد إلغاء اجتماعي التالي.
  • أريد قبول اجتماع التخطيط بشكل مبدئي.

مثال:

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
}'