MCP Tools Reference: calendarmcp.googleapis.com

Herramienta: suggest_time

Sugiere períodos en uno o más calendarios.

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

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

Esquema de entrada

Es el 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. Correos electrónicos de los asistentes para los que se debe buscar tiempo libre.

startTime

string

Obligatorio. Es el inicio del intervalo de la consulta (ISO 8601).

endTime

string

Obligatorio. Es el final del intervalo de la consulta (ISO 8601).

Campo de unión _time_zone.

_time_zone puede ser una de las siguientes opciones:

timeZone

string

Opcional. Zona horaria para los horarios de búsqueda (ID de IANA, por ejemplo, Europe/Zurich). El valor predeterminado es el desplazamiento de start_time. Si no hay ninguno, se usa la zona horaria principal del usuario.

Campo de unión _duration_minutes.

_duration_minutes puede ser una de las siguientes opciones:

durationMinutes

integer

Opcional. Es la duración mínima del horario disponible en minutos. Valor predeterminado: 30.

Campo de unión _preferences.

_preferences puede ser una de las siguientes opciones:

preferences

object (Preferences)

Preferencias para encontrar horarios sugeridos.

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

Hora de inicio preferida en formato "HH:mm" (formato de 24 horas).

Campo de unión _end_hour.

_end_hour puede ser una de las siguientes opciones:

endHour

string

Hora de finalización preferida en formato "HH:mm" (formato de 24 horas).

Campo de unión _exclude_weekends.

_exclude_weekends puede ser una de las siguientes opciones:

excludeWeekends

boolean

Excluye 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 espacios que se devolverán. Valor predeterminado: 5.

Esquema de salida

Es el mensaje de respuesta para SuggestTime.

SuggestTimeResponse

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

object (TimeSlot)

Son los horarios sugeridos.

TimeSlot

Representación JSON
{
  "startTime": string,
  "endTime": string,
  "durationMinutes": integer,
  "start": {
    object (DateOrDateTime)
  },
  "end": {
    object (DateOrDateTime)
  }
}
Campos
startTime
(deprecated)

string

Obsoleto: Usa start en su lugar.

endTime
(deprecated)

string

Obsoleto: Usa end en su lugar.

durationMinutes
(deprecated)

integer

Obsoleto: Usa start y end para calcular la duración.

start

object (DateOrDateTime)

Es la hora de inicio del intervalo.

end

object (DateOrDateTime)

Es la hora de finalización del intervalo.

DateOrDateTime

Representación JSON
{
  "date": string,
  "dateTime": string,
  "timeZone": string
}
Campos
date

string

Fecha ISO 8601 a la medianoche (UTC; por ejemplo, '2019-11-20T00:00:00Z').

dateTime

string

Marca de tiempo ISO 8601 (por ejemplo, '2019-11-20T08:19:06-07:00').

timeZone

string

Nombre de la zona horaria de TZDB.

Anotaciones de herramientas

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

Alcances de la autorización

Se necesita uno de los siguientes alcances de OAuth:

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