MCP Reference: calendarmcp.googleapis.com

Este é um servidor MCP fornecido pela API Google Calendar. O servidor oferece ferramentas para desenvolvedores criarem aplicativos de LLM com base no Google Agenda.

Um servidor do Protocolo de Contexto de Modelo (MCP) atua como um proxy entre um serviço externo que fornece contexto, dados ou recursos a um modelo de linguagem grande (LLM) ou aplicativo de IA. Os servidores MCP conectam aplicativos de IA a sistemas externos, como bancos de dados e serviços da Web, traduzindo as respostas em um formato que o aplicativo de IA possa entender.

Configuração do servidor

Você precisa configurar o servidor MCP do Google Agenda antes de usar. Para mais informações sobre como usar servidores remotos do MCP do Google e do Google Cloud, consulte Visão geral dos servidores do MCP no Google Cloud.

Endpoints de servidor

Um endpoint de serviço do MCP é o endereço de rede e a interface de comunicação (geralmente um URL) do servidor do MCP que um aplicativo de IA (o host do cliente do MCP) usa para estabelecer uma conexão segura e padronizada. É o ponto de contato para o LLM solicitar contexto, chamar uma ferramenta ou acessar um recurso. Os endpoints do Google MCP podem ser globais ou regionais.

O servidor MCP da API Calendar tem o seguinte endpoint global do MCP:

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

Ferramentas do MCP

Uma ferramenta do MCP é uma função ou capacidade executável que um servidor do MCP expõe a um LLM ou aplicativo de IA para realizar uma ação no mundo real.

Ferramentas

O servidor MCP calendarmcp.googleapis.com tem as seguintes ferramentas:

Ferramentas do MCP
list_events

Lista os eventos de uma determinada agenda que atendem às condições especificadas.

Principais recursos:

  • Qualquer ID de agenda, que pode ser a agenda principal do usuário ou outras.
  • Correspondência de palavra-chave.
  • Filtragem por período.
  • Recupera TODOS os eventos que correspondem às restrições de tempo e palavra-chave.

Use a ferramenta search_events se:

  • Você precisa encontrar os eventos mais relevantes (K principais) em vez de todos os eventos que atendem às restrições.
  • Você precisa de recursos de pesquisa semântica.
  • Você está pesquisando apenas na agenda principal do usuário informações específicas.

Use essa ferramenta para consultas como:

  • O que tem na minha agenda amanhã?
  • O que tem na minha agenda para 14 de julho de 2025?
  • Quais são minhas reuniões na semana que vem?
  • Tenho algum conflito de horário hoje à tarde?

Exemplo:

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

Retorna um único evento de uma determinada agenda.

Use essa ferramenta para consultas como:

  • Confira os detalhes da reunião da equipe.
  • Mostre o evento com o ID event123 na minha agenda.

Exemplo:

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

Retorna as agendas na lista de agendas do usuário.

Use essa ferramenta para consultas como:

  • Quais são todas as minhas agendas?

Exemplo:

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

Cria um evento da agenda.

Use essa ferramenta para consultas como:

  • Crie um evento na minha agenda para amanhã às 14h chamado "Reunião com Jane".
  • Agende uma reunião com john.doe@google.com na próxima segunda-feira, das 10h às 11h.

Exemplo:

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

Atualiza um evento da agenda.

Use essa ferramenta para consultas como:

  • Atualize o evento "Reunião com Jane" para uma hora depois.
  • Adicione john.doe@google.com à reunião de amanhã.

Exemplo:

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

Exclui um evento da agenda.

Use essa ferramenta para consultas como:

  • Exclua o evento com o ID event123 da minha agenda.

Para cancelar ou recusar um evento, use a ferramenta respond_to_event.

Exemplo:

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

Responde a um evento.

Use essa ferramenta para consultas como:

  • Aceite o evento com o ID event123 na minha agenda.
  • Recuse a reunião com a Jane.
  • Cancele minha próxima reunião.
  • Aceite provisoriamente a reunião de planejamento.

Exemplo:

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

Receber especificações da ferramenta MCP

Para receber as especificações de ferramentas do MCP de todas as ferramentas em um servidor MCP, use o método tools/list. O exemplo a seguir demonstra como usar curl para listar todas as ferramentas e especificações disponíveis no servidor MCP.

Solicitação 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
}'