MCP Tools Reference: calendarmcp.googleapis.com

Ferramenta: suggest_time

Sugere períodos em um ou mais calendários. Para acessar a agenda principal, adicione "primary" ao campo "attendee_emails".

Use essa ferramenta para consultas como:

  • Quando todos nós podemos nos reunir?
  • Encontre um horário de 30 minutos em que os dois estejam disponíveis.
  • Verifique se jane.doe@google.com está livre na manhã de segunda-feira.

Exemplo:

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.
        

O exemplo a seguir demonstra como usar curl para invocar a ferramenta suggest_time MCP.

Solicitação 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": "suggest_time",
    "arguments": {
      // provide these details according to the tool MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Esquema de entrada

Mensagem de solicitação para SuggestTime.

SuggestTimeRequest

Representação JSON
{
  "attendeeEmails": [
    string
  ],
  "startTime": string,
  "endTime": string,

  "timeZone": string

  "durationMinutes": integer

  "preferences": {
    object (Preferences)
  }
}
Campos
attendeeEmails[]

string

Obrigatório. Os e-mails dos convidados para encontrar horários livres.

startTime

string

Obrigatório. O início do intervalo para a consulta formatada conforme ISO 8601.

endTime

string

Obrigatório. O fim do intervalo para a consulta formatada de acordo com a ISO 8601.

Campo de união _time_zone.

_time_zone pode ser apenas de um dos tipos a seguir:

timeZone

string

Opcional. Fuso horário usado para os valores de tempo. Esse campo aceita nomes do banco de dados de fuso horário da IANA, por exemplo, America/Los_Angeles. O padrão é o fuso horário da agenda principal do usuário.

Campo de união _duration_minutes.

_duration_minutes pode ser apenas de um dos tipos a seguir:

durationMinutes

integer

Opcional. Duração mínima de um período livre em minutos. O padrão é de 30 minutos.

Campo de união _preferences.

_preferences pode ser apenas de um dos tipos a seguir:

preferences

object (Preferences)

As preferências para encontrar o horário sugerido.

Preferências

Representação JSON
{

  "startHour": string

  "endHour": string

  "excludeWeekends": boolean

  "pageSize": integer
}
Campos

Campo de união _start_hour.

_start_hour pode ser apenas de um dos tipos a seguir:

startHour

string

A hora de início preferida do dia (por exemplo, 09:00).

Campo de união _end_hour.

_end_hour pode ser apenas de um dos tipos a seguir:

endHour

string

A hora de término preferida do dia (por exemplo, 17:00).

Campo de união _exclude_weekends.

_exclude_weekends pode ser apenas de um dos tipos a seguir:

excludeWeekends

boolean

Se os fins de semana devem ser excluídos.

Campo de união _page_size.

_page_size pode ser apenas de um dos tipos a seguir:

pageSize

integer

Número máximo de intervalos de tempo a serem retornados. O padrão é 5.

Esquema de saída

Mensagem de resposta para SuggestTime.

SuggestTimeResponse

Representação JSON
{
  "timeSlots": [
    {
      object (TimeSlot)
    }
  ]
}
Campos
timeSlots[]

object (TimeSlot)

Lista de períodos sugeridos.

TimeSlot

Representação JSON
{
  "startTime": string,
  "endTime": string,
  "durationMinutes": integer
}
Campos
startTime

string

O horário de início do período livre como um carimbo de data/hora formatado em ISO 8601.

endTime

string

O horário de término do período livre como um carimbo de data/hora formatado em ISO 8601.

durationMinutes

integer

A duração do período livre em minutos.

Anotações de ferramentas

Dica destrutiva: ❌ | Dica idempotente: ✅ | Dica somente leitura: ✅ | Dica de mundo aberto: ❌