MCP Reference: calendarmcp.googleapis.com

Este é um servidor MCP fornecido pela API Google Agenda. O servidor oferece ferramentas para que os desenvolvedores criem aplicativos LLM na 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 para 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 da Agenda antes de usar. Para mais informações sobre como usar servidores MCP remotos do Google e do Google Cloud, consulte Visão geral dos servidores MCP do Google Cloud.

Endpoints do servidor

Um endpoint de serviço MCP é o endereço de rede e a interface de comunicação (geralmente um URL) do servidor MCP que um aplicativo de IA (o host do cliente 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 MCP do Google podem ser globais ou regionais.

O servidor MCP da API Agenda tem o seguinte endpoint MCP global:

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

Ferramentas do MCP

Uma ferramenta MCP é uma função ou capacidade executável que um servidor 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 da agenda em um determinado calendário que atendem às condições fornecidas.

Principais recursos:

  • Qualquer ID da Agenda, que pode ser a agenda principal do usuário ou outras.
  • Filtragem de período.
  • Recupera TODOS os eventos que correspondem às restrições de tempo.

Se disponível, use a ferramenta search_events para pesquisas na agenda principal do usuário se:

  • Você está consultando eventos que correspondem a um tópico, categoria ou intenção específica (por exemplo, "reuniões de almoço", "sincronizações de projetos").
  • 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 ou de palavras-chave.

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 próxima semana?
  • Tenho algum conflito de horário hoje à tarde?
  • Quais reuniões o João tem amanhã?

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:

  • Receber detalhes da reunião da equipe.
  • Mostrar 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 uma ou mais agendas. Para acessar a agenda principal, adicione "principal" no campo attendee_emails.

Use essa ferramenta para consultas como:

  • Quando todos nós estamos livres para uma reunião?
  • Encontre um horário de 30 minutos em que nós 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:

  • Criar um evento na minha agenda para amanhã às 14h chamado "Reunião com Jane".
  • Agendar 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:

  • Atualizar o evento "Reunião com Jane" para ser uma hora depois.
  • Adicionar 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:

  • Excluir o evento com o ID event123 na 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:

  • Aceitar o evento com o ID event123 na minha agenda.
  • Recusar a reunião com Jane.
  • Cancelar minha próxima reunião.
  • Aceitar 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 da ferramenta 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 momento 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
}'