MCP Reference: calendarmcp.googleapis.com

Este es un servidor de MCP proporcionado por la API de Calendario de Google. El servidor proporciona herramientas para que los desarrolladores compilen aplicaciones basadas en LLM sobre Calendario.

Un servidor del 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 las 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 pueda entender.

Configuración del servidor

Debes configurar el servidor de MCP del Calendario antes de usarlo. Para obtener más información sobre el uso de los 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 una aplicación de IA (el host para el cliente de MCP) usa 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 Calendar 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 a una aplicación de IA para realizar una acción en el mundo real.

Herramientas

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

Herramientas de MCP
list_events

Enumera los eventos de calendario en un calendario determinado que satisfacen las condiciones especificadas.

Funciones clave:

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

En su lugar, usa la herramienta search_events en los siguientes casos:

  • Debes encontrar los eventos más relevantes (los 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é eventos tengo en mi calendario el 14 de julio de 2025?
  • ¿Cuáles son mis reuniones de la próxima semana?
  • ¿Tengo algún conflicto esta tarde?

Ejemplo:

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

Devuelve 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(
    event_id='event123'
)
# Returns the event details for the event with id `event123` on the user's primary calendar.
list_calendars

Devuelve los calendarios de 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 disponibles para una reunión?
  • Busca un horario de 30 minutos en el que ambos estén disponibles.
  • Consulta si jane.doe@google.com está disponible el lunes por la mañana.

Ejemplo:

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 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 Ana".
  • 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',
    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

Actualiza un evento de calendario.

Usa esta herramienta para consultas como las siguientes:

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

Ejemplo:

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

Borra un evento de calendario.

Usa esta herramienta para consultas como las siguientes:

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

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

Ejemplo:

delete_event(
    event_id='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(
    event_id='event123',
    response_status='accepted'
)
# Responds with status 'accepted' to the event with id 'event123' on the user's primary calendar.

Obtén las especificaciones de la herramienta de MCP

Para obtener las especificaciones de las herramientas de MCP para todas las herramientas en 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 de 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
}'