MCP Reference: calendarmcp.googleapis.com

یک سرور پروتکل زمینه مدل (MCP) به عنوان یک پروکسی بین یک سرویس خارجی عمل می‌کند که زمینه، داده‌ها یا قابلیت‌هایی را برای یک مدل زبان بزرگ (LLM) یا برنامه هوش مصنوعی فراهم می‌کند. سرورهای MCP برنامه‌های هوش مصنوعی را به سیستم‌های خارجی مانند پایگاه‌های داده و سرویس‌های وب متصل می‌کنند و پاسخ‌های آنها را به فرمتی که برنامه هوش مصنوعی می‌تواند درک کند، ترجمه می‌کنند.

ابزارهای MCP

یک ابزار MCP یک تابع یا قابلیت اجرایی است که یک سرور MCP آن را در اختیار یک برنامه LLM یا هوش مصنوعی قرار می‌دهد تا عملی را در دنیای واقعی انجام دهد.

سرور MCP calendarmcp.googleapis.com ابزارهای زیر را دارد:

ابزارهای MCP
لیست_رویدادها

رویدادهای تقویم را در یک تقویم مشخص که شرایط داده شده را برآورده می‌کند، فهرست می‌کند.

ویژگی‌های کلیدی:

  • هر شناسه تقویم، که می‌تواند تقویم اصلی کاربر یا موارد دیگر باشد.
  • تطبیق کلمات کلیدی.
  • فیلتر کردن محدوده زمانی
  • تمام رویدادهایی را که با محدودیت‌های زمانی و کلمه کلیدی مطابقت دارند، بازیابی می‌کند.

در صورت وجود موارد زیر، از ابزار search_events استفاده کنید:

  • شما باید (K رویداد برتر) مرتبط‌ترین آنها را پیدا کنید، نه اینکه تمام رویدادهایی را که محدودیت‌ها را برآورده می‌کنند، پیدا کنید.
  • شما به قابلیت‌های جستجوی معنایی نیاز دارید.
  • شما فقط در حال جستجوی تقویم اصلی کاربر برای اطلاعات خاص هستید.

از این ابزار برای سوالاتی مانند موارد زیر استفاده کنید:

  • فردا توی تقویمم چی دارم؟
  • چه برنامه‌ای برای ۱۴ جولای ۲۰۲۵ در تقویم من هست؟
  • جلسات هفته آینده من چیست؟
  • آیا امروز بعد از ظهر درگیری دارم؟

مثال:

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.
رویداد_دریافت

یک رویداد واحد را از یک تقویم مشخص برمی‌گرداند.

از این ابزار برای سوالاتی مانند موارد زیر استفاده کنید:

  • جزئیات جلسه تیم را دریافت کنید.
  • رویداد با شناسه event123 را در تقویم من به من نشان بده.

مثال:

get_event(
    event_id='event123'
)
# Returns the event details for the event with id `event123` on the user's primary calendar.
لیست_تقویم‌ها

تقویم‌های موجود در لیست تقویم کاربر را برمی‌گرداند.

از این ابزار برای سوالاتی مانند موارد زیر استفاده کنید:

  • تقویم‌های من چی؟

مثال:

list_calendars()
# Returns all calendars the authenticated user has access to.
پیشنهاد_زمان

دوره‌های زمانی را در یک یا چند تقویم پیشنهاد می‌دهد. برای دسترسی به تقویم اصلی، عبارت «اصلی» را در فیلد attendee_emails اضافه کنید.

از این ابزار برای سوالاتی مانند موارد زیر استفاده کنید:

  • کی وقت همه ما برای جلسه آزاد است؟
  • یه وقت ۳۰ دقیقه‌ای پیدا کن که هر دومون بتونیم وقت داشته باشیم.
  • بررسی کنید که آیا 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.
ایجاد_رویداد

یک رویداد تقویمی ایجاد می‌کند.

از این ابزار برای سوالاتی مانند موارد زیر استفاده کنید:

  • برای فردا ساعت ۲ بعد از ظهر، یک رویداد در تقویم من با عنوان «ملاقات با جین» ایجاد کن.
  • دوشنبه آینده از ساعت ۱۰ تا ۱۱ صبح، جلسه‌ای را با john.doe@google.com برنامه‌ریزی کنید.

مثال:

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'.
رویداد_به‌روزرسانی

یک رویداد تقویم را به‌روزرسانی می‌کند.

از این ابزار برای سوالاتی مانند موارد زیر استفاده کنید:

  • رویداد «ملاقات با جین» را طوری به‌روزرسانی کن که یک ساعت بعد باشد.
  • 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'.
رویداد_حذف

یک رویداد تقویم را حذف می‌کند.

از این ابزار برای سوالاتی مانند موارد زیر استفاده کنید:

  • رویداد با شناسه event123 را از تقویم من حذف کن.

برای لغو یا رد یک رویداد، از ابزار respond_to_event استفاده کنید.

مثال:

delete_event(
    event_id='event123'
)
# Deletes the event with id 'event123' on the user's primary calendar.
پاسخ به رویداد

به یک رویداد واکنش نشان می‌دهد.

از این ابزار برای سوالاتی مانند موارد زیر استفاده کنید:

  • رویداد با شناسه 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 --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
}'