MCP Reference: calendarmcp.googleapis.com

Este es un servidor de MCP que proporciona la API de Calendario de Google. El servidor proporciona herramientas para que los desarrolladores creen aplicaciones de LLM sobre el Calendario.

Un servidor de Protocolo de contexto del modelo (MCP) actúa como proxy entre un servicio externo que proporciona contexto, datos o capacidades a un modelo de lenguaje grande (LLM) o una aplicación de IA. Los servidores de MCP conectan aplicaciones de IA a sistemas externos, como bases de datos y servicios web, y traducen sus respuestas a un formato que la aplicación de IA puede comprender.

Configuración del servidor

Debes configurar el servidor de MCP de Calendario antes de usarlo. Para obtener más información sobre el uso de servidores de MCP remotos de Google y Google Cloud, consulta Descripción general de los servidores de MCP de Google Cloud.

Extremos del servidor

Un extremo de servicio de MCP es la dirección de red y la interfaz de comunicación (por lo general, una URL) del servidor de MCP que usa una aplicación de IA (el host para el cliente de MCP) para establecer una conexión segura y estandarizada. Es el punto de contacto para que el LLM solicite contexto, llame a una herramienta o acceda a un recurso. Los extremos de MCP de Google pueden ser globales o regionales.

El servidor de MCP de la API de Calendario tiene el siguiente extremo de MCP global:

  • https://calendarmcp.googleapis.com/mcp/v1

Herramientas de MCP

Una herramienta de MCP es una función o capacidad ejecutable que un servidor de MCP expone a un LLM o una aplicación de IA para realizar una acción en el mundo real.

Herramientas

El servidor de MCP calendarmcp.googleapis.com tiene las siguientes herramientas:

Herramientas de MCP
list_events

Muestra los eventos del calendario en un calendario determinado que satisfacen las condiciones dadas.

Funciones clave:

  • Cualquier ID de calendario, que puede ser el calendario principal del usuario o cualquier otro.
  • Concordancia de palabras clave
  • Filtrado de rango de tiempo
  • Recupera TODOS los eventos que coinciden con las restricciones de tiempo y palabras clave.

Usa la herramienta search_events en su lugar si sucede lo siguiente:

  • Necesitas encontrar los eventos más relevantes (K principales) en lugar de todos los eventos que satisfacen las restricciones.
  • Necesitas capacidades de búsqueda semántica.
  • Solo buscas información específica en el calendario principal del usuario.

Usa esta herramienta para consultas como las siguientes:

  • ¿Qué tengo en mi calendario mañana?
  • ¿Qué tengo en mi calendario para el 14 de julio de 2025?
  • ¿Qué reuniones tengo la próxima semana?
  • ¿Tengo algún conflicto esta tarde?

Ejemplo:

list_events(
    startTime='2024-09-17T06:00:00',
    endTime='2024-09-17T12:00:00',
    pageSize=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

Muestra un solo evento de un calendario determinado.

Usa esta herramienta para consultas como las siguientes:

  • Obtén detalles de la reunión del equipo.
  • Muéstrame el evento con el ID event123 en mi calendario.

Ejemplo:

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

Muestra los calendarios en la lista de calendarios del usuario.

Usa esta herramienta para consultas como las siguientes:

  • ¿Cuáles son todos mis calendarios?

Ejemplo:

list_calendars()
# Returns all calendars the authenticated user has access to.
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 espacio 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.
create_event

Crea un evento de calendario.

Usa esta herramienta para consultas como las siguientes:

  • Crea un evento en mi calendario para mañana a las 2 p.m. llamado "Reunión con Jane".
  • Programa una reunión con john.doe@google.com el próximo lunes de 10 a.m. a 11 a.m.

Ejemplo:

create_event(
    summary='Meeting with Jane',
    startTime='2024-09-17T14:00:00',
    endTime='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

Actualiza un evento de calendario.

Usa esta herramienta para consultas como las siguientes:

  • Actualiza el evento "Reunión con Jane" para que sea una hora más tarde.
  • Agrega john.doe@google.com a la reunión de mañana.

Ejemplo:

update_event(
    eventId='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

Borra un evento de calendario.

Usa esta herramienta para consultas como las siguientes:

  • Borra el evento con el ID event123 en mi calendario.

Para cancelar o rechazar un evento, usa la herramienta respond_to_event en su lugar.

Ejemplo:

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

Responde a un evento.

Usa esta herramienta para consultas como las siguientes:

  • Acepta el evento con el ID event123 en mi calendario.
  • Rechaza la reunión con Jane.
  • Cancela mi próxima reunión.
  • Acepta provisoriamente la reunión de planificación.

Ejemplo:

respond_to_event(
    eventId='event123',
    responseStatus='accepted'
)
# Responds with status 'accepted' to the event with id 'event123' on the user's primary calendar.

Obtén especificaciones de herramientas de MCP

Para obtener las especificaciones de las herramientas de MCP para todas las herramientas de un servidor de MCP, usa el método tools/list. En el siguiente ejemplo, se muestra cómo usar curl para enumerar todas las herramientas y sus especificaciones disponibles actualmente en el servidor de MCP.

Solicitud curl
curl --location 'https://calendarmcp.googleapis.com/mcp/v1' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'