MCP Tools Reference: calendarmcp.googleapis.com

Narzędzie: get_event

Zwraca pojedyncze wydarzenie z danego kalendarza.

Używaj tego narzędzia w przypadku zapytań takich jak:

  • Uzyskaj szczegóły spotkania zespołu.
  • Pokaż wydarzenie o identyfikatorze event123 w moim kalendarzu.

Przykład:

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

Poniższy przykład pokazuje, jak za pomocą znaku curl wywołać narzędzie get_event MCP.

Żądanie curl
curl --location 'https://calendarmcp.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "get_event",
    "arguments": {
      // provide these details according to the tool MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Schemat wejściowy

GetEventRequest

Zapis JSON
{
  "eventId": string,

  "calendarId": string
}
Pola
eventId

string

Wymagane. Identyfikator wydarzenia, które chcesz pobrać.

Pole zbiorcze _calendar_id.

Pole _calendar_id może mieć tylko jedną z tych wartości:

calendarId

string

Opcjonalnie. Identyfikator kalendarza, z którego ma pochodzić wydarzenie. Domyślnie jest to kalendarz główny użytkownika.

Schemat wyjściowy

Zdarzenie

Zapis 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)
    }
  ],
  "eventType": string,
  "conferenceUrl": string,
  "colorId": string,
  "overrideReminders": [
    {
      object (Reminder)
    }
  ]
}
Pola
id

string

Nieprzezroczysty identyfikator zdarzenia. Podczas tworzenia nowych wydarzeń jednorazowych lub cyklicznych możesz określić ich identyfikatory. Podane identyfikatory muszą być zgodne z tymi regułami:

  • Dozwolone znaki w identyfikatorze to znaki używane w kodowaniu base32hex, czyli małe litery a–v i cyfry 0–9.Więcej informacji znajdziesz w sekcji 3. 1.2 dokumentu RFC2938.
  • długość identyfikatora musi wynosić od 5 do 1024 znaków;
  • identyfikator musi być unikalny w przypadku każdego kalendarza;

Ze względu na globalny charakter systemu nie możemy zagwarantować, że kolizje identyfikatorów zostaną wykryte w momencie tworzenia zdarzenia. Aby zminimalizować ryzyko kolizji, zalecamy użycie sprawdzonego algorytmu UUID, takiego jak opisany w RFC4122.

Jeśli nie podasz identyfikatora, zostanie on wygenerowany automatycznie przez serwer.

Pamiętaj, że icalUID i identyfikator nie są identyczne i tylko jeden z nich powinien być podany w momencie tworzenia wydarzenia. Jedną z różnic w ich semantyce jest to, że w przypadku wydarzeń cyklicznych wszystkie wystąpienia jednego wydarzenia mają różne identyfikatory, ale wszystkie mają te same identyfikatory icalUID.

status

string

Stan zdarzenia. Opcjonalnie. Możliwe wartości to:

  • confirmed – wydarzenie zostało potwierdzone. Jest to stan domyślny.
  • tentative – wydarzenie jest wstępnie potwierdzone.
  • cancelled – wydarzenie zostało odwołane (usunięte). Metoda list zwraca anulowane wydarzenia tylko w przypadku synchronizacji przyrostowej (gdy określono syncToken lub updatedMin) lub jeśli flaga showDeleted ma wartość true. Metoda get zawsze je zwraca.

Stan anulowania reprezentuje 2 różne stany w zależności od typu zdarzenia:

  1. Anulowane wyjątki nieanulowanego wydarzenia cyklicznego wskazują, że ta instancja nie powinna być już prezentowana użytkownikowi. Klienci powinni przechowywać te zdarzenia przez cały okres istnienia nadrzędnego zdarzenia cyklicznego.W przypadku anulowanych wyjątków gwarantowane jest tylko wypełnienie pól id, recurringEventId i originalStartTime. Pozostałe pola mogą być puste.
  2. Wszystkie inne odwołane wydarzenia to usunięte wydarzenia. Klienci powinni usunąć lokalnie zsynchronizowane kopie. Takie odwołane wydarzenia znikną z czasem, więc nie możesz zakładać, że będą dostępne bezterminowo. W przypadku usuniętych wydarzeń gwarantujemy tylko wypełnienie pola id.

W kalendarzu organizatora anulowane wydarzenia nadal zawierają szczegóły (podsumowanie, lokalizację itp.), dzięki czemu można je przywrócić (cofnąć usunięcie). Podobnie wydarzenia, na które użytkownik został zaproszony i które ręcznie usunął, nadal dostarczają szczegółowych informacji. Żądania synchronizacji przyrostowej z parametrem showDeleted ustawionym na wartość false nie zwracają jednak tych szczegółów.

Jeśli organizator wydarzenia zmieni się (np. w wyniku operacji przenoszenia), a pierwotny organizator nie znajduje się na liście uczestników, pozostanie po nim anulowane wydarzenie, w którym tylko pole identyfikatora będzie na pewno wypełnione.

htmlLink

string

Bezwzględny link do tego wydarzenia w interfejsie internetowym Kalendarza Google. Tylko do odczytu.

created

string

Czas utworzenia wydarzenia (sygnatura czasowa w formacie ISO 8601). Tylko do odczytu.

updated

string

Czas ostatniej modyfikacji głównych danych wydarzenia (sygnatura czasowa w formacie ISO 8601). Aktualizowanie przypomnień o wydarzeniach nie spowoduje zmiany tego ustawienia. Tylko do odczytu.

summary

string

Nazwa wydarzenia,

description

string

Opis wydarzenia. Może zawierać kod HTML. Opcjonalnie.

location

string

Położenie geograficzne wydarzenia w formie dowolnego tekstu. Opcjonalnie.

creator

object (Principal)

Twórca wydarzenia. Tylko do odczytu.

organizer

object (Principal)

Organizator wydarzenia. Jeśli organizator jest też uczestnikiem, jest to oznaczone osobnym wpisem w uczestnikach z polem organizator ustawionym na wartość Prawda. Tylko do odczytu.

start

object (DateOrDateTime)

Czas rozpoczęcia wydarzenia (włącznie z wartościami granicznymi). W przypadku wydarzenia cyklicznego jest to czas rozpoczęcia pierwszego wystąpienia.

end

object (DateOrDateTime)

Godzina zakończenia wydarzenia (wyłącznie). W przypadku wydarzenia cyklicznego jest to czas zakończenia pierwszego wystąpienia.

recurrence[]

string

Lista wierszy RRULE, EXRULE, RDATE i EXDATE dla wydarzenia cyklicznego zgodnie ze specyfikacją RFC5545. Pamiętaj, że w tym polu nie można używać wierszy DTSTART i DTEND. Czas rozpoczęcia i zakończenia wydarzenia jest określony w polach rozpoczęcia i zakończenia. To pole jest pomijane w przypadku pojedynczych wydarzeń lub wystąpień wydarzeń cyklicznych.

recurringEventId

string

W przypadku wystąpienia wydarzenia cyklicznego jest to identyfikator wydarzenia cyklicznego, do którego należy to wystąpienie. Niezmienna.

originalStartTime

object (DateOrDateTime)

W przypadku wystąpienia wydarzenia cyklicznego jest to czas, w którym to wydarzenie powinno się rozpocząć zgodnie z danymi o powtarzaniu w wydarzeniu cyklicznym zidentyfikowanym przez recurringEventId. Unikalnie identyfikuje wystąpienie w serii wydarzeń cyklicznych, nawet jeśli zostało ono przeniesione na inny czas. Niezmienna.

transparency

string

Czy wydarzenie blokuje czas w kalendarzu. Opcjonalnie. Możliwe wartości to:

  • opaque – wartość domyślna. Wydarzenie blokuje czas w kalendarzu. Odpowiada to ustawieniu „Pokaż mnie jako zajętego” w interfejsie Kalendarza.
  • transparent – wydarzenie nie blokuje czasu w kalendarzu. Odpowiada to ustawieniu „Pokaż mnie jako” na „Dostępny” w interfejsie Kalendarza.
visibility

string

Widoczność wydarzenia. Opcjonalnie. Możliwe wartości to:

  • default – używa domyślnej widoczności wydarzeń w kalendarzu. Jest to wartość domyślna.
  • public – wydarzenie jest publiczne, a szczegóły wydarzenia są widoczne dla wszystkich osób, które mają dostęp do kalendarza.
  • private – wydarzenie jest prywatne i tylko uczestnicy mogą wyświetlać jego szczegóły.
  • confidential – wydarzenie jest prywatne. Ta wartość jest podawana ze względu na zgodność.
attendees[]

object (Attendee)

Uczestnicy wydarzenia.

eventType

string

Konkretny typ zdarzenia. Po utworzeniu wydarzenia nie można zmienić tego ustawienia. Możliwe wartości to:

  • birthday – specjalne wydarzenie całodniowe, które powtarza się co roku.
  • default – zwykłe wydarzenie lub nieokreślone.
  • focusTime – wydarzenie typu czas skupienia.
  • fromGmail – wydarzenie z Gmaila. Nie można utworzyć tego typu wydarzenia.
  • outOfOffice – wydarzenie poza biurem.
  • workingLocation – zdarzenie związane z lokalizacją miejsca pracy.
conferenceUrl

string

Link do spotkania w Google Meet dotyczącego wydarzenia.

colorId

string

Identyfikator koloru zdarzenia (ciąg znaków 111):

  • 1. Lawendowy
  • 2. Sage
  • 3. Winogrona
  • 4: Flaming
  • 5. Banan
  • 6. Mandarynka
  • 7. Paw
  • 8. Grafit
  • 9. Jagoda
  • 10. Bazylia
  • 11. Pomidor.

W Kalendarzu Google kolory wydarzeń pełnią funkcję kategorii, które można ustawić dla każdego wydarzenia lub serii. Użytkownicy mogą przypisywać niestandardowe etykiety do kolorów w interfejsie internetowym (np. 1:1s, Break), ale interfejs API udostępnia tylko identyfikatory numeryczne, a nie te etykiety. Wpływa tylko na widok kalendarza użytkownika – każdy uczestnik kontroluje kolor wydarzenia.

overrideReminders[]

object (Reminder)

Przypomnienia zdefiniowane dla tego wydarzenia, które zastępują domyślne przypomnienia dla kalendarza. Jeśli nie zostanie ustawiony, używane będą domyślne przypomnienia w kalendarzu.

Podmiot zabezpieczeń

Zapis JSON
{
  "email": string,
  "displayName": string,
  "self": boolean
}
Pola
email

string

Adres e-mail podmiotu zabezpieczeń (kalendarza).

displayName

string

Nazwa podmiotu zabezpieczeń (jeśli jest dostępna).

self

boolean

Czy ten podmiot odpowiada kalendarzowi, w którym pojawia się ta kopia wydarzenia. Tylko do odczytu. Wartość domyślna to False (fałsz).

DateOrDateTime

Zapis JSON
{
  "date": string,
  "dateTime": string,
  "timeZone": string
}
Pola
date

string

Data w formacie ISO 8601 o północy UTC, np. 2019-11-20T00:00:00Z. Jeśli to pole jest ustawione, nie można ustawić pola date_time.

dateTime

string

Sygnatura czasowa w formacie ISO 8601, np. 2019-11-20T08:19:06-07:00 lub 2019-11-20T08:19:06Z. Jeśli to pole jest ustawione, nie można ustawić pola date.

timeZone

string

Nazwa strefy czasowej TZDB, jeśli jest dostępna.

Uczestnik

Zapis JSON
{
  "id": string,
  "email": string,
  "displayName": string,
  "organizer": boolean,
  "self": boolean,
  "resource": boolean,
  "optionalAttendee": boolean,
  "responseStatus": string,
  "comment": string,
  "additionalGuests": integer
}
Pola
id

string

Identyfikator profilu uczestnika (jeśli jest dostępny).

email

string

Adres e-mail uczestnika, jeśli jest dostępny. To pole musi być obecne podczas dodawania uczestnika. Musi to być prawidłowy adres e-mail zgodny ze standardem RFC5322. Wymagane podczas dodawania uczestnika.

displayName

string

Imię i nazwisko uczestnika (jeśli są dostępne). Opcjonalnie.

organizer

boolean

Określa, czy uczestnik jest organizatorem wydarzenia. Tylko do odczytu. Wartość domyślna to False (fałsz).

self

boolean

Określa, czy ten wpis reprezentuje kalendarz, w którym pojawia się ta kopia wydarzenia. Tylko do odczytu. Wartość domyślna to False (fałsz).

resource

boolean

Określa, czy uczestnik jest zasobem. Można ustawić tylko wtedy, gdy uczestnik jest dodawany do wydarzenia po raz pierwszy. Kolejne modyfikacje są ignorowane. Opcjonalnie. Wartość domyślna to False (fałsz).

optionalAttendee

boolean

Określ, czy uczestnik jest opcjonalny. Opcjonalnie. Wartość domyślna to False (fałsz).

responseStatus

string

Stan odpowiedzi uczestnika. Możliwe wartości to:

  • needsAction – uczestnik nie odpowiedział na zaproszenie (zalecane w przypadku nowych wydarzeń).
  • declined – uczestnik odrzucił zaproszenie.
  • tentative – uczestnik wstępnie zaakceptował zaproszenie.
  • accepted – uczestnik zaakceptował zaproszenie.
comment

string

Komentarz uczestnika do odpowiedzi. Opcjonalnie.

additionalGuests

integer

Liczba dodatkowych gości. Opcjonalnie. Wartość domyślna to 0.

Przypomnienie

Zapis JSON
{

  "method": string

  "minutes": integer
}
Pola

Pole zbiorcze _method.

Pole _method może mieć tylko jedną z tych wartości:

method

string

Wymagane. Sposób dostarczania przypomnienia do użytkownika. Możliwe wartości to:

  • email – przypomnienia są wysyłane e-mailem.
  • popup – przypomnienia są wysyłane w wyskakującym okienku interfejsu.

Pole zbiorcze _minutes.

Pole _minutes może mieć tylko jedną z tych wartości:

minutes

integer

Wymagane. Liczba minut przed wydarzeniem, kiedy ma zostać wysłane przypomnienie.

Adnotacje narzędzi

Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌