MCP Tools Reference: calendarmcp.googleapis.com

टूल: list_events

यह फ़ंक्शन, दिए गए कैलेंडर में मौजूद उन इवेंट को दिखाता है जो तय की गई सभी शर्तों को पूरा करते हैं. समयसीमा के बारे में तब तक नहीं बताना चाहिए, जब तक उपयोगकर्ता ने इसके बारे में न पूछा हो. मुख्य कैलेंडर पर, किसी भी तरह के कीवर्ड या विषय के आधार पर की गई खोजों के लिए, search_events टूल का इस्तेमाल करना ज़रूरी है.

यहां दिए गए सैंपल में, curl का इस्तेमाल करके list_events एमसीपी टूल को चालू करने का तरीका बताया गया है.

कर्ल अनुरोध
curl --location 'https://calendarmcp.googleapis.com/mcp/v1' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "list_events",
    "arguments": {
      // provide these details according to the tool MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

इनपुट स्कीमा

ListEventsRequest

JSON के काेड में दिखाना
{
  "eventTypeFilter": [
    string
  ],
  "eventType": [
    enum (EventType)
  ],

  "calendarId": string

  "pageSize": integer

  "pageToken": string

  "startTime": string

  "endTime": string

  "timeZone": string

  "orderBy": string

  "fullText": string
}
फ़ील्ड
eventTypeFilter[]
(deprecated)

string

ज़रूरी नहीं. इस्तेमाल बंद कर दिया गया है: इसके बजाय, event_type का इस्तेमाल करें.

eventType[]

enum (EventType)

ज़रूरी नहीं. लौटाए जाने वाले इवेंट टाइप. अगर यह फ़ील्ड खाली है, तो सिर्फ़ इन इवेंट टाइप को दिखाया जाएगा: DEFAULT, OUT_OF_OFFICE, FOCUS_TIME, FROM_GMAIL

यूनियन फ़ील्ड _calendar_id.

_calendar_id इनमें से सिर्फ़ एक हो सकता है:

calendarId

string

ज़रूरी नहीं. उस कैलेंडर का आईडी जिसमें इवेंट शामिल हैं. ईमेल पता - इसे list_calendars का इस्तेमाल करके ठीक किया जा सकता है. डिफ़ॉल्ट: मुख्य कैलेंडर.

यूनियन फ़ील्ड _page_size.

_page_size इनमें से सिर्फ़ एक हो सकता है:

pageSize

integer

ज़रूरी नहीं. हर पेज पर ज़्यादा से ज़्यादा इवेंट (डिफ़ॉल्ट रूप से 100, ज़्यादा से ज़्यादा 250). सुझाव: 10.

यूनियन फ़ील्ड _page_token.

_page_token इनमें से सिर्फ़ एक हो सकता है:

pageToken

string

ज़रूरी नहीं. अगले पेज का टोकन. पिछले पेज के nextPageToken एट्रिब्यूट की वैल्यू का इस्तेमाल करें.

यूनियन फ़ील्ड _start_time.

_start_time इनमें से सिर्फ़ एक हो सकता है:

startTime

string

ज़रूरी नहीं. समयसीमा की निचली सीमा. इसे सिर्फ़ तब सेट किया जाना चाहिए, जब उपयोगकर्ता ने किसी खास समयावधि के लिए अनुरोध किया हो. यह end_time से कम का ISO 8601 टाइमस्टैंप होना चाहिए.

यूनियन फ़ील्ड _end_time.

_end_time इनमें से सिर्फ़ एक हो सकता है:

endTime

string

ज़रूरी नहीं. समयसीमा की ऊपरी सीमा. इसे सिर्फ़ तब सेट किया जाना चाहिए, जब उपयोगकर्ता ने किसी खास समयावधि या पिछले समय के लिए अनुरोध किया हो. यह start_time से ज़्यादा का ISO 8601 टाइमस्टैंप होना चाहिए.

यूनियन फ़ील्ड _time_zone.

_time_zone इनमें से सिर्फ़ एक हो सकता है:

timeZone

string

ज़रूरी नहीं. टाइमज़ोन (आईएएनए आईडी, जैसे कि Europe/Zurich) का इस्तेमाल, टाइमज़ोन की जानकारी के बिना दी गई तारीखों को हल करने के लिए किया जाता है. डिफ़ॉल्ट: कैलेंडर का टाइमज़ोन.

यूनियन फ़ील्ड _order_by.

_order_by इनमें से सिर्फ़ एक हो सकता है:

orderBy

string

ज़रूरी नहीं. इवेंट किस क्रम में दिखाए जाने चाहिए. ये वैल्यू इस्तेमाल की जा सकती हैं:

  • default - क्रम की जानकारी नहीं दी गई है, लेकिन यह तय है (डिफ़ॉल्ट).
  • startTime - शुरू होने के समय के हिसाब से बढ़ते क्रम में लगाएं.
  • startTimeDesc - शुरू होने के समय के हिसाब से घटते क्रम में लगाएं.
  • lastModified - पिछली बार बदलाव किए जाने के समय के हिसाब से बढ़ते क्रम में लगाएं.

यूनियन फ़ील्ड _full_text.

_full_text इनमें से सिर्फ़ एक हो सकता है:

fullText

string

ज़रूरी नहीं. केस-इनसेंसिटिव (बड़े या छोटे अक्षरों में लिखे जाने से कोई फ़र्क़ न पड़ना) खोज के लिए, टाइटल, ब्यौरे, जगह की जानकारी या मेहमानों से मेल खाने वाला फ़्री-फ़ॉर्म टेक्स्ट. यह क्वेरी में दिए गए सभी शब्दों से मेल खाने वाले इवेंट दिखाता है (AND सर्च).

EventType

ईवेंट प्रकार. स्पेस बनाने के बाद, इसमें बदलाव नहीं किया जा सकता.

Enums
EVENT_TYPE_UNSPECIFIED DEFAULT के तौर पर माना जाता है.
DEFAULT सामान्य इवेंट. डिफ़ॉल्ट मान.
OUT_OF_OFFICE 'अभी मैं छुट्टी पर हूं' इवेंट.
FOCUS_TIME फ़ोकस टाइम इवेंट.
WORKING_LOCATION काम करने की जगह से जुड़ा इवेंट.
BIRTHDAY पूरे दिन चलने वाला खास इवेंट, जो हर साल होता है.
FROM_GMAIL Gmail का इवेंट. इस तरह का इवेंट नहीं बनाया जा सकता.

आउटपुट स्कीमा

ListEventsResponse

JSON के काेड में दिखाना
{
  "summary": string,
  "description": string,
  "updated": string,
  "timeZone": string,
  "accessRole": string,
  "defaultReminders": [
    {
      object (Reminder)
    }
  ],
  "events": [
    {
      object (Event)
    }
  ],

  "nextPageToken": string
}
फ़ील्ड
summary

string

कैलेंडर का टाइटल.

description

string

कैलेंडर के बारे में जानकारी.

updated

string

कैलेंडर के पिछली बार अपडेट होने का समय (ISO 8601).

timeZone

string

कैलेंडर का टाइम ज़ोन.

accessRole

string

सिर्फ़ आउटपुट के लिए. कैलेंडर के लिए उपयोगकर्ता की ऐक्सेस भूमिका. ये वैल्यू इस्तेमाल की जा सकती हैं:

  • none - कोई ऐक्सेस नहीं है.
  • freeBusyReader - खाली/व्यस्त होने की जानकारी को पढ़ने का ऐक्सेस.
  • reader - कैलेंडर को पढ़ने का ऐक्सेस. निजी इवेंट दिखेंगे, लेकिन इवेंट की जानकारी छिपी रहेगी.
  • writer - पढ़ने और लिखने का ऐक्सेस. निजी इवेंट दिखेंगे और इवेंट की जानकारी भी दिखेगी.
  • owner - मैनेजर का ऐक्सेस. इसमें कैलेंडर को शेयर करने की सेटिंग में बदलाव करने की सुविधा भी शामिल है.
अहम जानकारी: owner की भूमिका, कैलेंडर के डेटा के मालिक की भूमिका से अलग होती है. किसी कैलेंडर का डेटा मालिक एक ही होता है. हालांकि, इसमें owner भूमिका वाले कई उपयोगकर्ता हो सकते हैं.

defaultReminders[]

object (Reminder)

कैलेंडर पर मौजूद इवेंट के लिए डिफ़ॉल्ट रिमाइंडर.

events[]

object (Event)

इवेंट की सूची.

यूनियन फ़ील्ड _next_page_token.

_next_page_token इनमें से सिर्फ़ एक हो सकता है:

nextPageToken

string

अगले पेज का टोकन. अगर कोई अगला पेज मौजूद नहीं है, तो इसे शामिल नहीं किया जाता.

रिमाइंडर

JSON के काेड में दिखाना
{

  "method": string

  "minutes": integer
}
फ़ील्ड

यूनियन फ़ील्ड _method.

_method इनमें से सिर्फ़ एक हो सकता है:

method

string

ज़रूरी है. डिलीवरी का तरीका. ये वैल्यू इस्तेमाल की जा सकती हैं:

  • email - रिमाइंडर ईमेल से भेजे जाते हैं.
  • popup - रिमाइंडर, यूज़र इंटरफ़ेस वाले पॉप-अप के ज़रिए भेजे जाते हैं.

यूनियन फ़ील्ड _minutes.

_minutes इनमें से सिर्फ़ एक हो सकता है:

minutes

integer

ज़रूरी है. रिमाइंडर को ट्रिगर करने के लिए, इतने मिनट पहले की जानकारी.

इवेंट

JSON के काेड में दिखाना
{
  "id": string,
  "status": string,
  "htmlLink": string,
  "created": string,
  "updated": string,
  "summary": string,
  "description": string,
  "location": string,
  "creator": {
    object (Principal)
  },
  "organizer": {
    object (Principal)
  },
  "start": {
    object (DateOrDateTime)
  },
  "end": {
    object (DateOrDateTime)
  },
  "recurrence": [
    string
  ],
  "recurringEventId": string,
  "originalStartTime": {
    object (DateOrDateTime)
  },
  "transparency": string,
  "visibility": string,
  "attendees": [
    {
      object (Attendee)
    }
  ],
  "conferenceUrl": string,
  "colorId": string,
  "overrideReminders": [
    {
      object (Reminder)
    }
  ],
  "attachments": [
    {
      object (Attachment)
    }
  ],
  "guestPermissions": {
    object (GuestPermissions)
  },
  "eventType": enum (EventType),
  "workingLocationProperties": {
    object (WorkingLocationProperties)
  },
  "availability": enum (Availability)
}
फ़ील्ड
id

string

यूनीक आइडेंटिफ़ायर.

status

string

ज़रूरी नहीं. स्थिति चुनें. ये वैल्यू इस्तेमाल की जा सकती हैं:

  • confirmed - इवेंट की पुष्टि हो गई है (डिफ़ॉल्ट).
  • tentative - इवेंट की पुष्टि अस्थायी तौर पर हो गई है.
  • cancelled - इवेंट रद्द कर दिया गया है या मिटा दिया गया है.

htmlLink

string

सिर्फ़ आउटपुट के लिए. Google Calendar के वेब यूज़र इंटरफ़ेस (यूआई) में, इस इवेंट का पूरा लिंक.

created

string

सिर्फ़ आउटपुट के लिए. बनाए जाने का समय (आईएसओ 8601).

updated

string

सिर्फ़ आउटपुट के लिए. बदलाव का आखिरी समय (आईएसओ 8601).

summary

string

टाइटल.

description

string

ज़रूरी नहीं. ब्यौरा. इसमें एचटीएमएल शामिल हो सकता है.

location

string

ज़रूरी नहीं. जगह की जानकारी पर टैप करें.

creator

object (Principal)

सिर्फ़ आउटपुट के लिए. क्रिएटर.

organizer

object (Principal)

सिर्फ़ आउटपुट के लिए. आयोजक. अगर कोई व्यक्ति इवेंट में शामिल होता है, तो उसे शामिल होने वाले लोगों की सूची में भी दिखाया जाता है.

start

object (DateOrDateTime)

शुरू होने का समय (शामिल है). बार-बार होने वाले इवेंट के लिए, पहले इंस्टेंस का इस्तेमाल किया जाता है..

end

object (DateOrDateTime)

खत्म होने का समय (शामिल नहीं है). बार-बार होने वाले इवेंट के लिए, पहले इंस्टेंस का इस्तेमाल किया जाता है.

recurrence[]

string

आरएफ़सी 5545 के मुताबिक, दोहराव के नियम RRULE, EXRULE, RDATE या EXDATE स्ट्रिंग के तौर पर. इसे किसी खास इवेंट के लिए नहीं दिखाया जाता. शुरू और खत्म होने का समय, start/end फ़ील्ड में सेट होना चाहिए.

recurringEventId

string

बार-बार होने वाले इवेंट के इंस्टेंस के लिए, बार-बार होने वाले पैरंट इवेंट का आईडी.

originalStartTime

object (DateOrDateTime)

बार-बार होने वाले इवेंट के ऑरिजिनल इंस्टेंस का शुरू होने का समय. यह वह समय है जब दोहराए जाने वाले इवेंट के डेटा के मुताबिक, यह इंस्टेंस शुरू होगा.

transparency
(deprecated)

string

ज़रूरी नहीं. इस्तेमाल बंद कर दिया गया है: इसके बजाय, availability का इस्तेमाल करें.

visibility

string

ज़रूरी नहीं. इवेंट किसको दिखे. ये वैल्यू इस्तेमाल की जा सकती हैं:

  • default - इससे कैलेंडर पर इवेंट के दिखने की डिफ़ॉल्ट सेटिंग का इस्तेमाल होता है. यह डिफ़ॉल्ट मान है.
  • public - इवेंट की जानकारी, कैलेंडर के सभी रीडर को दिखती है.
  • private - इवेंट में शामिल होने वाले लोग ही इवेंट की जानकारी देख सकते हैं.

attendees[]

object (Attendee)

मेहमानों को.

conferenceUrl

string

वीडियो कॉन्फ़्रेंस का लिंक.

colorId

string

इवेंट का रंग. इससे सिर्फ़ आपके कैलेंडर के व्यू पर असर पड़ता है. यह आईडी, कैलेंडर के कलर पैलेट में मौजूद किसी एंट्री को दिखाता है (स्ट्रिंग '1'-'11'):

  • 1: लैवेंडर
  • 2: सेज
  • 3: ग्रेप
  • 4: फ़्लमिंगो
  • 5: केला
  • 6: टैंजरीन
  • 7: Peacock
  • 8: ग्रेफ़ाइट
  • 9: ब्लूबेरी
  • 10: तुलसी जैसा हरा
  • 11: टमाटर.

overrideReminders[]

object (Reminder)

रिमाइंडर पर टैप करें। अगर इसे सेट नहीं किया गया है, तो कैलेंडर की डिफ़ॉल्ट सेटिंग लागू होती हैं.

attachments[]

object (Attachment)

फ़ाइल अटैचमेंट.

guestPermissions

object (GuestPermissions)

मेहमानों के लिए अनुमतियां.

eventType

enum (EventType)

ईवेंट प्रकार.

workingLocationProperties

object (WorkingLocationProperties)

काम करने की जगह की प्रॉपर्टी. यह फ़ील्ड सिर्फ़ तब भरा जाता है, जब event_type WORKING_LOCATION हो.

availability

enum (Availability)

ज़रूरी नहीं. उपलब्धता की सेटिंग.

मुख्य रकम

JSON के काेड में दिखाना
{
  "email": string,
  "displayName": string,
  "self": boolean
}
फ़ील्ड
email

string

ईमेल पर क्लिक करें.

displayName

string

नाम.

self

boolean

सिर्फ़ आउटपुट के लिए. इससे पता चलता है कि यह प्रिंसिपल, उस कैलेंडर से मेल खाती है जिस पर इवेंट की यह कॉपी दिखती है. डिफ़ॉल्ट: false.

DateOrDateTime

JSON के काेड में दिखाना
{
  "date": string,
  "dateTime": string,
  "timeZone": string
}
फ़ील्ड
date

string

आईएसओ 8601 फ़ॉर्मैट में, यूटीसी के हिसाब से आधी रात की तारीख (उदाहरण के लिए, '2019-11-20T00:00:00Z').

dateTime

string

ISO 8601 टाइमस्टैंप (उदाहरण के लिए, '2019-11-20T08:19:06-07:00').

timeZone

string

TZDB टाइमज़ोन का नाम.

मेहमान

JSON के काेड में दिखाना
{

  "id": string

  "email": string

  "displayName": string

  "organizer": boolean

  "self": boolean

  "resource": boolean

  "optionalAttendee": boolean

  "responseStatus": string

  "comment": string

  "additionalGuests": integer
}
फ़ील्ड

यूनियन फ़ील्ड _id.

_id इनमें से सिर्फ़ एक हो सकता है:

id

string

सिर्फ़ आउटपुट के लिए. प्रोफ़ाइल आईडी.

यूनियन फ़ील्ड _email.

_email इनमें से सिर्फ़ एक हो सकता है:

email

string

ज़रूरी है. मीटिंग में शामिल होने वाले व्यक्ति का ईमेल पता.

यूनियन फ़ील्ड _display_name.

_display_name इनमें से सिर्फ़ एक हो सकता है:

displayName

string

ज़रूरी नहीं. नाम.

यूनियन फ़ील्ड _organizer.

_organizer इनमें से सिर्फ़ एक हो सकता है:

organizer

boolean

सिर्फ़ आउटपुट के लिए. यह जानकारी कि मेहमान, आयोजक है या नहीं. डिफ़ॉल्ट: false.

यूनियन फ़ील्ड _self.

_self इनमें से सिर्फ़ एक हो सकता है:

self

boolean

सिर्फ़ आउटपुट के लिए. यह एंट्री उस कैलेंडर को दिखाती है जिस पर इवेंट की यह कॉपी दिखती है. डिफ़ॉल्ट: false.

यूनियन फ़ील्ड _resource.

_resource इनमें से सिर्फ़ एक हो सकता है:

resource

boolean

ज़रूरी नहीं. क्या शामिल होने वाला व्यक्ति कोई संसाधन है. उदाहरण के लिए, कमरा. बदला नहीं जा सकता. इसे सिर्फ़ तब सेट किया जा सकता है, जब शामिल होने वाले व्यक्ति को पहली बार जोड़ा जाता है. डिफ़ॉल्ट: false.

यूनियन फ़ील्ड _optional_attendee.

_optional_attendee इनमें से सिर्फ़ एक हो सकता है:

optionalAttendee

boolean

ज़रूरी नहीं. क्या मेहमान को शामिल करना ज़रूरी है. डिफ़ॉल्ट: false.

यूनियन फ़ील्ड _response_status.

_response_status इनमें से सिर्फ़ एक हो सकता है:

responseStatus

string

ज़रूरी नहीं. जवाब का स्टेटस. ये वैल्यू इस्तेमाल की जा सकती हैं:

  • needsAction - मेहमान ने न्योते का जवाब नहीं दिया है (नए इवेंट के लिए सुझाव दिया गया है).
  • declined - मेहमान ने न्योता अस्वीकार कर दिया है.
  • tentative - मेहमान ने न्योते को अभी के लिए स्वीकार किया है.
  • accepted - मेहमान ने न्योता स्वीकार कर लिया है.

यूनियन फ़ील्ड _comment.

_comment इनमें से सिर्फ़ एक हो सकता है:

comment

string

सिर्फ़ आउटपुट के लिए. जवाब वाली टिप्पणी.

यूनियन फ़ील्ड _additional_guests.

_additional_guests इनमें से सिर्फ़ एक हो सकता है:

additionalGuests

integer

ज़रूरी नहीं. अतिरिक्त मेहमानों की संख्या. डिफ़ॉल्ट: 0.

अटैचमेंट

JSON के काेड में दिखाना
{

  "fileUrl": string

  "title": string
}
फ़ील्ड

यूनियन फ़ील्ड _file_url.

_file_url इनमें से सिर्फ़ एक हो सकता है:

fileUrl

string

ज़रूरी है. अटैचमेंट का यूआरएल लिंक.

यूनियन फ़ील्ड _title.

_title इनमें से सिर्फ़ एक हो सकता है:

title

string

ज़रूरी नहीं. अटैचमेंट का टाइटल.

GuestPermissions

JSON के काेड में दिखाना
{

  "guestsCanInviteOthers": boolean

  "guestsCanModify": boolean

  "guestsCanSeeGuests": boolean
}
फ़ील्ड

यूनियन फ़ील्ड _guests_can_invite_others.

_guests_can_invite_others इनमें से सिर्फ़ एक हो सकता है:

guestsCanInviteOthers

boolean

ज़रूरी नहीं. मेहमानों को अन्य लोगों को न्योता भेजने की अनुमति है या नहीं.

यूनियन फ़ील्ड _guests_can_modify.

_guests_can_modify इनमें से सिर्फ़ एक हो सकता है:

guestsCanModify

boolean

ज़रूरी नहीं. इससे पता चलता है कि मेहमान इवेंट में बदलाव कर सकते हैं या नहीं.

यूनियन फ़ील्ड _guests_can_see_guests.

_guests_can_see_guests इनमें से सिर्फ़ एक हो सकता है:

guestsCanSeeGuests

boolean

ज़रूरी नहीं. मेहमान अन्य मेहमानों को देख सकते हैं या नहीं.

WorkingLocationProperties

JSON के काेड में दिखाना
{

  "type": enum (WorkingLocationType)

  "customLocationLabel": string
}
फ़ील्ड

यूनियन फ़ील्ड _type.

_type इनमें से सिर्फ़ एक हो सकता है:

type

enum (WorkingLocationType)

ज़रूरी नहीं. काम करने की जगह का टाइप.

यूनियन फ़ील्ड _custom_location_label.

_custom_location_label इनमें से सिर्फ़ एक हो सकता है:

customLocationLabel

string

ज़रूरी नहीं. कस्टम लोकेशन के लिए लेबल. अगर टाइप CUSTOM_LOCATION है, तो इसका इस्तेमाल करना ज़रूरी है.

EventType

ईवेंट प्रकार. स्पेस बनाने के बाद, इसमें बदलाव नहीं किया जा सकता.

Enums
EVENT_TYPE_UNSPECIFIED DEFAULT के तौर पर माना जाता है.
DEFAULT सामान्य इवेंट. डिफ़ॉल्ट मान.
OUT_OF_OFFICE 'अभी मैं छुट्टी पर हूं' इवेंट.
FOCUS_TIME फ़ोकस टाइम इवेंट.
WORKING_LOCATION काम करने की जगह से जुड़ा इवेंट.
BIRTHDAY पूरे दिन चलने वाला खास इवेंट, जो हर साल होता है.
FROM_GMAIL Gmail का इवेंट. इस तरह का इवेंट नहीं बनाया जा सकता.

WorkingLocationType

काम करने की जगह का टाइप.

Enums
WORKING_LOCATION_TYPE_UNSPECIFIED काम करने की जगह के टाइप की जानकारी नहीं दी गई है. इसे HOME_OFFICE माना जाएगा.
HOME_OFFICE होम ऑफ़िस.
CUSTOM_LOCATION कस्टम लोकेशन.

उपलब्धता

किसी इवेंट के लिए उपलब्धता की सेटिंग.

Enums
AVAILABILITY_UNSPECIFIED डिफ़ॉल्ट. BUSY के तौर पर माना जाता है.
AVAILABILITY_BUSY कैलेंडर में समय ब्लॉक करता है.
AVAILABILITY_FREE इससे समय ब्लॉक नहीं होता.

टूल एनोटेशन

बदलाव करने वाला हिंट: ❌ | एक ही बार लागू होने वाला हिंट: ✅ | सिर्फ़ पढ़ने वाला हिंट: ✅ | ओपन वर्ल्ड हिंट: ❌

अनुमति पाने के लिंक

इसके लिए, इनमें से किसी एक OAuth स्कोप की ज़रूरत होती है:

  • https://www.googleapis.com/auth/calendar
  • https://www.googleapis.com/auth/calendar.events
  • https://www.googleapis.com/auth/calendar.events.readonly
  • https://www.googleapis.com/auth/calendar.readonly