MCP Tools Reference: calendarmcp.googleapis.com

Herramienta: suggest_time

Sugiere períodos en uno o más calendarios. Para acceder al calendario principal, agrega "primary" en el campo attendee_emails.

Usa esta herramienta para consultas como las siguientes:

  • ¿Cuándo estamos todos libres para una reunión?
  • Busca un horario de 30 minutos en el que ambos estemos disponibles.
  • Verifica si jane.doe@google.com está libre el lunes por la mañana.

Ejemplo:

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.
        

En el siguiente ejemplo, se muestra cómo usar curl para invocar la herramienta MCP suggest_time.

Solicitud de 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

Mensaje de solicitud de SuggestTime.

SuggestTimeRequest

Representación JSON
{
  "attendeeEmails": [
    string
  ],
  "startTime": string,
  "endTime": string,

  "timeZone": string

  "durationMinutes": integer

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

string

Obligatorio. Son los correos electrónicos de los asistentes para los que se debe buscar tiempo libre.

startTime

string

Obligatorio. Es el inicio del intervalo para la consulta con el formato ISO 8601.

endTime

string

Obligatorio. Es el final del intervalo para la consulta con el formato ISO 8601.

Campo de unión _time_zone.

_time_zone puede ser una de las siguientes opciones:

timeZone

string

Es opcional. Es la zona horaria que se usa para los valores de tiempo. Este campo acepta nombres de la base de datos de zonas horarias de IANA, por ejemplo, America/Los_Angeles. El valor predeterminado es la zona horaria del calendario principal del usuario.

Campo de unión _duration_minutes.

_duration_minutes puede ser una de las siguientes opciones:

durationMinutes

integer

Es opcional. Es la duración mínima de un horario libre en minutos. El valor predeterminado es de 30 minutos.

Campo de unión _preferences.

_preferences puede ser una de las siguientes opciones:

preferences

object (Preferences)

Son las preferencias para las que se debe buscar el horario sugerido.

Preferencias

Representación JSON
{

  "startHour": string

  "endHour": string

  "excludeWeekends": boolean

  "pageSize": integer
}
Campos

Campo de unión _start_hour.

_start_hour puede ser una de las siguientes opciones:

startHour

string

Es la hora de inicio preferida del día (p.ej., 09:00).

Campo de unión _end_hour.

_end_hour puede ser una de las siguientes opciones:

endHour

string

Es la hora de finalización preferida del día (p.ej., 17:00).

Campo de unión _exclude_weekends.

_exclude_weekends puede ser una de las siguientes opciones:

excludeWeekends

boolean

Indica si se deben excluir los fines de semana.

Campo de unión _page_size.

_page_size puede ser una de las siguientes opciones:

pageSize

integer

Es la cantidad máxima de horarios que se mostrarán. El valor predeterminado es 5.

Esquema de salida

Mensaje de respuesta de SuggestTime.

SuggestTimeResponse

Representación JSON
{
  "timeSlots": [
    {
      object (TimeSlot)
    }
  ]
}
Campos
timeSlots[]

object (TimeSlot)

Es la lista de horarios sugeridos.

TimeSlot

Representación JSON
{
  "startTime": string,
  "endTime": string,
  "durationMinutes": integer
}
Campos
startTime

string

Es la hora de inicio del horario libre como una marca de tiempo con formato ISO 8601.

endTime

string

Es la hora de finalización del horario libre como una marca de tiempo con formato ISO 8601.

durationMinutes

integer

Es la duración del horario libre en minutos.

Anotaciones de herramientas

Sugerencia destructiva: ❌ | Sugerencia idempotente: ✅ | Sugerencia de solo lectura: ✅ | Sugerencia de mundo abierto: ❌