MCP Reference: calendarmcp.googleapis.com

Un server Model Context Protocol (MCP) funge da proxy tra un servizio esterno che fornisce contesto, dati o funzionalità a un modello linguistico di grandi dimensioni (LLM) o a un'applicazione AI. I server MCP collegano le applicazioni di AI a sistemi esterni come database e servizi web, traducendo le loro risposte in un formato che l'applicazione di AI può comprendere.

Strumenti MCP

Uno strumento MCP è una funzione o una funzionalità eseguibile che un server MCP espone a un LLM o a un'applicazione AI per eseguire un'azione nel mondo reale.

Il server MCP calendarmcp.googleapis.com dispone dei seguenti strumenti:

Strumenti MCP
list_events

Elenca gli eventi del calendario in un determinato calendario che soddisfano le condizioni specificate.

Funzionalità principali:

  • Qualsiasi ID calendario, che può essere il calendario principale dell'utente o altri.
  • Corrispondenza delle parole chiave.
  • Filtro dell'intervallo di tempo.
  • Recupera TUTTI gli eventi che corrispondono ai vincoli di tempo e parole chiave.

Utilizza invece lo strumento search_events se:

  • Devi trovare i primi K eventi più pertinenti anziché tutti gli eventi che soddisfano i vincoli.
  • Devi disporre delle funzionalità di ricerca semantica.
  • Stai cercando informazioni specifiche solo nel calendario principale dell'utente.

Utilizza questo strumento per query come:

  • Cosa c'è nel mio calendario domani?
  • Cosa è segnato sul mio calendario per il 14 luglio 2025?
  • Quali sono le mie riunioni della prossima settimana?
  • Ho qualche conflitto questo pomeriggio?

Esempio:

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.
get_event

Restituisce un singolo evento da un determinato calendario.

Utilizza questo strumento per query come:

  • Visualizza i dettagli della riunione del team.
  • Mostrami l'evento con ID evento123 nel mio calendario.

Esempio:

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

Restituisce i calendari nell'elenco dei calendari dell'utente.

Utilizza questo strumento per query come:

  • Quali sono tutti i miei calendari?

Esempio:

list_calendars()
# Returns all calendars the authenticated user has access to.
suggest_time

Suggerisce periodi di tempo in uno o più calendari. Per accedere al calendario principale, aggiungi "primary" nel campo attendee_emails.

Utilizza questo strumento per query come:

  • Quando saremmo tutti disponibili per una riunione?
  • Trova uno spazio di 30 minuti in cui siamo entrambi disponibili.
  • Controlla se jane.doe@google.com è disponibile lunedì mattina.

Esempio:

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.
create_event

Crea un evento nel calendario.

Utilizza questo strumento per query come:

  • Crea un evento sul mio calendario per domani alle 14:00 chiamato "Riunione con Jane".
  • Pianifica una riunione con john.doe@google.com lunedì prossimo dalle 10:00 alle 11:00.

Esempio:

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'.
update_event

Aggiorna un evento di calendario.

Utilizza questo strumento per query come:

  • Aggiorna l'evento "Riunione con Jane" in modo che si svolga un'ora dopo.
  • Aggiungi john.doe@google.com alla riunione di domani.

Esempio:

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'.
delete_event

Elimina un evento di calendario.

Utilizza questo strumento per query come:

  • Elimina l'evento con ID event123 dal mio calendario.

Per annullare o rifiutare un evento, utilizza lo strumento respond_to_event.

Esempio:

delete_event(
    event_id='event123'
)
# Deletes the event with id 'event123' on the user's primary calendar.
respond_to_event

Risponde a un evento.

Utilizza questo strumento per query come:

  • Accetta l'evento con ID event123 sul mio calendario.
  • Rifiuta la riunione con Giulia.
  • Annulla la mia prossima riunione.
  • Accetta provvisoriamente la riunione di pianificazione.

Esempio:

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.

Ottenere le specifiche dello strumento MCP

Per ottenere le specifiche dello strumento MCP per tutti gli strumenti di un server MCP, utilizza il metodo tools/list. L'esempio seguente mostra come utilizzare curl per elencare tutti gli strumenti e le relative specifiche attualmente disponibili nel server MCP.

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