Zovo Calendar MCP Server
Calendário compartilhado e agendamento da equipe: eventos, disponibilidade, lembretes. Local-first, plano gratuito, Pro por US$ 19 pagamento único.
Documentação
All servers · Buy Pro $19 · All 46 for $39 · Source
Duas formas de executá-lo, ambas gratuitas para começar. Abra mcp.zovo.one/mcp/connect, copie a URL do calendário e cole-a em qualquer cliente que aceite uma URL. Ela já contém um token gratuito, então não há nada para instalar, nenhuma conta e nenhum cabeçalho para configurar. A URL é https://mcp.zovo.one/mcp/calendar/t/<token>. O token não é opcional: o https://mcp.zovo.one/mcp/calendar puro conecta e lista suas ferramentas, mas responde a toda chamada de ferramenta com HTTP 401, então use o link de /mcp/connect ou envie Authorization: Bearer <token>. Ou baixe calendar.mcpb e clique duas vezes nele no Claude Desktop.
mcp-calendar
Seu aplicativo de calendário pode mostrar a próxima terça-feira. Ele não pode dizer para onde sua semana realmente foi, quais duas coisas você confirmou ao mesmo tempo, ou quantas horas faturáveis as reuniões do mês passado valeram. Este servidor lê o arquivo .ics que seu calendário já exporta e responde a essas perguntas: eventos em qualquer janela com séries recorrentes expandidas corretamente, blocos de ocupado mesclados e as lacunas livres reais dentro do seu horário de trabalho, todas as sobreposições duplas entre calendários de trabalho e pessoais de uma vez, uma .ics limpa apenas dos eventos que você selecionou, e o lançamento de tempo exato para uma reunião que você deveria ter faturado. Nenhuma conta é conectada, nada é sincronizado, e o arquivo de calendário permanece na sua máquina como texto simples.
Construído por theluckystrike.
No Registro Oficial de MCP (io.github.theluckystrike/calendar-ics-reader-events-freebusy-conflicts).
Listado no AI Product Index — endpoint remoto ao vivo em mcp.zovo.one/s/calendar, plano gratuito, sem cadastro.

Importe o .ics que seu calendário exporta e pergunte o que está acontecendo, quando você está livre e o que conflita, zero configuração, tudo local.
Instalação em 60 segundos
A publicação no npm para @theluckystrike/mcp-calendar está pendente. Até lá, o pacote .mcpb de um clique ou um clone + build é o caminho funcional, ambos verificados abaixo.
Um clique (.mcpb): baixe calendar.mcpb do lançamento mais recente e clique duas vezes no Claude Desktop: https://github.com/theluckystrike/mcp-servers/releases/latest
(claude_desktop_config.json):
{
"mcpServers": {
"calendar": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-calendar"]
}
}
}
Claude Code:
claude mcp add calendar -- npx -y @theluckystrike/mcp-calendar
(.cursor/mcp.json):
{
"mcpServers": {
"calendar": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-calendar"]
}
}
}
O formulário npx acima começa a funcionar no momento em que o pacote é publicado. Até lá, use o pacote .mcpb acima, ou compile a partir do código-fonte com exatamente estes quatro comandos:
git clone https://github.com/theluckystrike/mcp-servers.git && cd mcp-servers
npm install
npm run build -w packages/mcp-license -w servers/timezone -w servers/calendar
Em seguida, aponte o command do seu cliente para node com um argumento: o caminho absoluto para servers/calendar/dist/index.js.
Para executar no modo Pro, defina MCP_LICENSE_KEY no mesmo bloco de configuração, ou chame license_activate uma vez com sua chave.
Obtendo o .ics do seu calendário
| Aplicativo | Onde |
|---|---|
| Google Calendar | Configurações -> Importar e exportar -> Exportar. Você recebe um zip; importe o .ics dentro dele. |
| Apple Calendar | Arquivo -> Exportar -> Exportar... |
| Outlook (desktop) | Arquivo -> Salvar calendário, formato iCalendar (.ics) |
| Outlook / Microsoft 365 (web) | Configurações -> Calendário -> Calendários compartilhados -> Publicar, depois use o link ICS (Pro) |
| Qualquer outro | Qualquer URL de feed publicado terminando em .ics, ou webcal:// (Pro) |
Então: ics_import {path: "~/Downloads/mike@example.com.ics", name: "work"}
Ferramentas
| Ferramenta | O que faz |
|---|---|
ics_import | Lê um arquivo .ics (path), conteúdo colado (text) ou um feed público (url, Pro) e o mantém localmente sob um nome. Importar o mesmo nome novamente o substitui. |
calendars_list | Cada calendário importado: nome, fonte, contagem de eventos, tamanho, quando foi importado. |
events_list | Cada evento entre duas datas com séries recorrentes expandidas para ocorrências reais, ordenado, no seu próprio fuso horário. Cada linha carrega um id. |
events_search | Eventos cujo título, descrição, local, organizador ou participantes contêm uma frase. |
free_busy | Blocos de ocupado mesclados e as lacunas livres dentro do seu horário de trabalho, dia a dia. Eventos marcados como livre/transparente não contam como ocupado. |
conflicts | Cada par de eventos que se sobrepõe, com a sobreposição em minutos — em todos os calendários, então uma chamada de cliente conflitando com uma corrida escolar é detectada. Uma janela maior é encurtada para os 31 dias livres e respondida, nunca recusada. |
next_event | A próxima coisa que ainda não começou, e quanto tempo falta para ela. |
event_export | Escreve eventos selecionados (por id, ou uma janela inteira) em um novo .ics que você pode enviar. Horários em UTC, então chega corretamente em qualquer cliente. |
event_to_time_entry | Transforma uma reunião nos argumentos exatos para o entry_add do rastreador de tempo, então uma chamada se torna tempo faturável sem redigitá-la. |
ics_forget | Remove um calendário e sua cópia local. |
license_status / license_activate | Mostra o nível; ativa uma chave Pro offline. |
O recurso calendar://today dá a agenda de hoje em uma única leitura. O prompt plan_my_day percorre todo o ciclo: o que está acontecendo, o que conflita, onde estão as lacunas livres, e quais reuniões concluídas devem ser faturadas.
O que o analisador trata
Escrito contra exportações reais, não apenas a especificação: quebra de linha (CRLF, LF puro e CR puro, e quebras que o Exchange coloca dentro de um caractere multibyte, que são reunidas nos bytes antes da decodificação), escape \n \, \; \\, eventos de dia inteiro com um DTEND exclusivo, DURATION em vez de DTEND, horários TZID e UTC, horários flutuantes, RRULE para HOURLY, DAILY, WEEKLY, MONTHLY e YEARLY com COUNT, UNTIL (inclusivo), INTERVAL, BYDAY incluindo ordinais (2MO, -1FR), BYMONTHDAY, BYMONTH e BYSETPOS, EXDATE, RDATE, substituições RECURRENCE-ID (a instância movida substitui a original em vez de aparecer duas vezes), STATUS:CANCELLED, TRANSP:TRANSPARENT, e blocos VALARM dentro de um evento. Um evento que não pode ser lido é ignorado e contado em vez de custar o resto do arquivo.
FREQ=MINUTELY e FREQ=SECONDLY são deliberadamente não expandidos: uma dessas regras preenche qualquer janela com milhares de ocorrências e enterra o resto da semana. Esses eventos são listados em sua primeira ocorrência e o motivo é dito claramente. Uma regra sem COUNT e sem UNTIL é expandida apenas até a janela que você pediu.
Exportações escritas por este servidor mantêm eventos de dia inteiro como valores DATE, então um feriado sai como o mesmo dia em que chegou, em vez de um bloco com horário no dia anterior no fuso da sua máquina.
VTIMEZONE é deliberadamente ignorado. As regras de DST inline de um arquivo são tão atuais quanto o aplicativo que o escreveu; o TZID é mantido e cada deslocamento é calculado a partir dos dados ICU dentro da sua compilação Node, que é o que mantém uma reunião semanal de Varsóvia às 10:00 às 10:00 local através da mudança de relógio de março.
Gratuito vs Pro
| Gratuito | Pro ($19 pagamento único) | |
|---|---|---|
| Calendários mantidos | 2 | ilimitado |
| Janela por pergunta | até 31 dias | qualquer janela |
conflicts sobre uma janela maior | respondido para os primeiros 31 dias, limite nomeado | qualquer janela |
| Eventos por exportação | 50 | ilimitado |
| Importar de uma URL ou feed webcal | -- | sim |
| Todo o resto | completo | completo |
Obter Pro, ou $39 para todos os servidores do conjunto, vitalício. Ou o pacote de 46 servidores por $39.
Privacidade
Tudo é local. O arquivo de calendário que você importa é copiado para ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/calendar/ e lido de lá; excluir esse diretório redefine o servidor. Há exatamente uma chamada de rede em todo o servidor, e apenas quando você mesmo passa um url: ele busca esse endereço uma vez, com um timeout de 12 segundos, um limite de 5 MB, e uma recusa em endereços loopback, privados e de metadados de nuvem. Nada é enviado, nenhuma conta é vinculada, e chaves de licença verificam offline.
Combina com
- mcp-timezone, este servidor lê seu fuso horário e o mecanismo
.icsdele: converta um horário de reunião, encontre horários entre países, escreva um convite. - mcp-time-tracker,
event_to_time_entryentrega a ele uma reunião concluída; ele rastreia e relata as horas. - mcp-invoice, transforme essas horas rastreadas em uma fatura numerada.
- office-suite, vários servidores em uma única instalação, uma entrada de configuração.
FAQ
Não. Não há OAuth, nenhum token e nenhuma sincronização. Você exporta um arquivo (ou cola uma URL de feed público no Pro) e ele é lido localmente. Isso também significa que uma importação é um instantâneo: reimporte quando o calendário tiver avançado.
Sim, e isso é a maior parte do código. Uma série semanal é expandida no relógio de parede, então uma reunião de Varsóvia às 10:00 permanece às 10:00 através da mudança de DST em vez de derivar para 11:00. Mensal no dia 31 pula fevereiro em vez de rolar para março, UNTIL inclui a ocorrência que cai exatamente nele, e uma única instância movida substitui a original.
Não é: RFC 5545 torna DTEND exclusivo para um evento de dia inteiro, então 1–3 de junho significa os dias 1 e 2. Este servidor segue a especificação, que é o que seu aplicativo de calendário também faz.
Ele escreve arquivos .ics com event_export, que você pode importar em qualquer lugar. Ele nunca modifica o calendário que leu.
5 MB, que são alguns milhares de eventos. Exporte um intervalo de datas mais estreito se um histórico completo for maior que isso.
Primeiros cinco minutos
Três prompts que pontuaram 3 de 3, medidos na rodada 18, 2026-09-05. Cole um como está escrito.
Here is my work calendar. Import it as Work. [1,594-byte .ics pasted as text, 8 events, week of 2026-09-07, Europe/Warsaw]
Cole isso no Claude com o servidor conectado.
O que fez, medido na rodada 18, 2026-09-05: Um ics_import {name: Work, text: <8 events>}.
What is on my calendar next week?
Cole isso no Claude com o servidor conectado.
O que fez, medido na rodada 18, 2026-09-05: Um events_list {calendar: Work, from: 2026-09-07, to: 2026-09-14}; o próprio modelo estreitou a janela bruta de 9 linhas (que derramava uma linha na ocorrência da reunião de segunda-feira seguinte) de volta para Seg 9/7-Dom 9/13 para 'próxima semana'.
Where do I have a free two-hour block next week between 9 and 17 Warsaw time?
Cole isso no Claude com o servidor conectado.
O que fez, medido na rodada 18, 2026-09-05: Um free_busy {calendars: [Work], zone: Europe/Warsaw, work_start: 09:00, work_end: 17:00}.
No plano gratuito para este caminho: 2 calendários, janelas de até 31 dias, exportações de até 50 eventos, verificações de conflito respondidas sobre os primeiros 31 dias de qualquer janela.
Configure no seu cliente
Caminho de configuração exato, entrada e avisos: Claude Desktop · Claude Code · Cursor · VS Code · Windsurf · Cline · conectores Claude.ai e Claude Desktop · todos os clientes
Comparado com as alternativas
MCP Calendar vs mcp-ical e google-calendar-mcp - qual servidor MCP escolher · todas as comparações
Guias
Como rastrear horas faturáveis dentro do Claude Code e do Cursor · Criar um PDF de fatura a partir de uma mensagem de chat com um servidor MCP · Fazer perguntas sobre um arquivo Excel ou CSV a partir do Cursor ou do Claude · Acompanhar o preço de um produto com o Claude e ser avisado quando ele cair · O que o plano gratuito inclui e o que o Pro adiciona · Registrar despesas e quilometragem no Claude, dividir o IVA, repassar para uma fatura · Converter moedas no Claude com taxas reais do BCE, sem chave de API · Gerar propostas e contratos em Word a partir de uma mensagem de chat · Encontrar um horário de reunião entre fusos horários sem fazer a aritmética · Escrever um currículo e uma carta de apresentação a partir do chat, sem inventar nada · Cobrar um retentor em um cronograma sem um SaaS de faturamento · Montar um contrato a partir da sua própria biblioteca de cláusulas, no chat · Conectar servidores MCP ao Claude.ai, Claude Desktop, Cursor e VS Code sem instalar nada · Mesclar, dividir e carimbar PDFs a partir do chat, e por que alguns voltam como números de glifos · Ler um calendário .ics no Claude: livre e ocupado, conflitos e reuniões faturáveis · Executar um quadro kanban no Claude, com rastreamento de tempo na mesma tarefa · Redimensionar, compactar e adicionar marca d'água em imagens a partir de uma mensagem de chat · Categorizar e conciliar uma exportação CSV do banco a partir do chat · Enviar um orçamento a partir do chat e transformar o "sim" em fatura · Colocar um QR code de pagamento SEPA em uma fatura a partir do chat · Compactar e descompactar arquivos com segurança a partir do Claude ou do Cursor · Depósitos de clientes e retentores a partir do chat, aplicados às suas faturas reais · Ativos fixos e depreciação a partir do chat, com as taxas publicadas pelas autoridades fiscais · Diárias e ajudas de viagem a partir do chat, com as tabelas de taxas publicadas pelas autoridades fiscais · Um razão contábil de partidas dobradas a partir de todos os servidores que você já executa · Cronogramas de empréstimos e arrendamentos a partir do chat, fechando exatamente em zero · Ordens de serviço e cartões de trabalho a partir do chat, e por que o markup vai no custo unitário · Listas de preços e tabelas de tarifas a partir do chat, e a lacuna de escala de 100x entre a fatura e o orçamento · Ordens de alteração e o valor do contrato em andamento a partir do chat, e por que uma linha alterada são dois itens · Um fundo de caixa pequeno a partir do chat, e por que o cheque não é a soma dos comprovantes · Extratos de clientes e cobranças a partir do chat, com vencimento em qualquer data que você indicar · Notas de crédito e ordens de compra a partir do chat, contra suas faturas reais · Uma instalação, todos os servidores: o pacote de suíte de escritório · Fechar um mês no chat: fatura, nota de crédito, retentor, conciliação bancária, extrato · Servidor MCP não aparecendo no Claude Desktop: as seis verificações que o encontram · Onde está o claude_desktop_config.json e o que vai nele · claude mcp add: todas as flags e o escopo que silenciosamente perde seu servidor · Servidores MCP no Windows: spawn npx ENOENT, barras invertidas e o PATH · Instalando esses servidores MCP quando o npx ainda não funciona · Configuração do MCP no Cursor: mcp.json, o campo de tipo obrigatório e onde os servidores aparecem · Quais servidores MCP funcionam sem nenhuma rede · Faturando um cliente da UE com reverse charge, a partir de uma mensagem de chat · Orçamento, depósito, fatura, extrato: todo o ciclo em uma única conversa · Este projeto está dando lucro? Horas contra custos, sem planilha · Montando um pacote de ano fiscal para seu contador a partir do chat · Mantendo um registro de quilometragem no chat, com a taxa que você realmente reivindica · Conciliando um CSV do banco contra o que você faturou e gastou · Repassando despesas de clientes, com markup e o IVA tratado honestamente · Cobrando uma fatura não paga: envelhecimento e depois a carta · Uma nota de venda a partir do chat, com os identificadores verificados e as linhas de assinatura impressas · Precificando um trabalho a partir de uma tabela de tarifas, e o que fazer quando o escopo muda · Calculando sua taxa horária a partir do que você realmente faturou · Convertendo CSV para xlsx e vice-versa sem abrir o Excel · Fazendo perguntas a uma planilha em linguagem simples · Mesclando uma pasta de recibos em um único PDF a partir do chat · Dividindo um único scan grande em documentos separados · Enviando um mês de papelada como um único arquivo, com segurança · Servidores MCP no VS Code: o erro de uma palavra que quebra toda configuração · Servidores MCP no Windsurf e no Cline: dois padrões que desperdiçam uma tarde · Servidor MCP local ou URL hospedada: qual escolher e o que você abre mão · O que esses servidores MCP realmente fazem no plano gratuito · Escolhendo um servidor MCP para faturamento: as sete perguntas que valem a pena fazer · Quando você precisa de um servidor MCP e quando um prompt é suficiente · Locais do arquivo de configuração MCP e chaves JSON, para cada cliente · Por que um servidor MCP não aparece, em ordem de probabilidade · Como a pesquisa do registro MCP realmente funciona, medida · O que realmente está no registro MCP: 6.000 linhas contadas · stdio ou streamable HTTP: qual transporte MCP e o que quebra · Versões do protocolo MCP: o que cada uma mudou · Cada campo em uma entrada de configuração de servidor MCP, por cliente · Escopos de configuração MCP: qual definição vence quando um servidor é definido duas vezes · Onde cada cliente MCP grava seus logs · Enviando um servidor MCP: um pacote para baixar ou uma URL para colar · O que há dentro de um pacote MCP .mcpb · Cobrando por um servidor MCP: como o licenciamento realmente funciona · Quanto texto um servidor MCP pode retornar e quanto ele pode descrever · O que verificar antes de deixar um servidor MCP rodar · Por que um diretório diz que seu servidor MCP hospedado não está respondendo · O registro MCP vincula uma URL remota a um nome de servidor · Letras maiúsculas no seu nome de usuário do GitHub mudam sua classificação no registro MCP · Quantos servidores MCP já têm sua palavra no nome · Referência de campos do server.json para o registro MCP · Quando uma ferramenta MCP falha, não retorne um erro JSON-RPC · structuredContent e outputSchema no MCP, e o que DEVE ser mantido · Regras para nomear uma ferramenta MCP e a colisão que ninguém planeja · MCP não tem sessão, então como duas chamadas de ferramenta compartilham estado · x-mcp-header: espelhando parâmetros de ferramenta em cabeçalhos HTTP · Como um diretório pontua um servidor MCP e por que sua pior ferramenta decide isso · O que os rastreadores de IA buscam que o Googlebot não busca, medido em 141 URLs · A API de Inspeção de URL do Search Console muda sua resposta entre chamadas · Quais servidores MCP funcionam colando uma URL, sem nada instalado · Onde encontrar servidores MCP que custam dinheiro e como você realmente paga · Fazendo um assistente preencher um orçamento ou estimativa para um cliente · Existe um servidor MCP para um livro de caixa pequeno ou um razão de caixa · Conversão de moedas em um assistente e qual servidor MCP usar · Compactando e descompactando arquivos de um assistente, e o que as proteções fazem · Produzindo um cronograma de entrega ou um documento de ordem de serviço a partir de um chat · Um servidor MCP enviará a fatura por e-mail para meu cliente · Um assistente pode ler uma foto de um recibo e registrar a despesa · Qual servidor MCP pode gerar PDFs de fatura a partir de uma mensagem de chat? · Um servidor MCP pode ler um PDF de extrato bancário e categorizar as transações? · Melhores servidores MCP para contabilidade e papelada de pequenas empresas em 2026 · Diretório de Fornecedores MCP: evite que listas de fornecedores apodreçam em uma planilha · Contrato de Serviço MCP: pare de copiar um modelo de contrato apodrecido da internet · Registro de Manutenção MCP: saiba qual serviço está vencido sem que ninguém precise lembrar · Registro de Quilometragem MCP: mantenha o registro dedutível no momento da viagem, não em abril · Melhores práticas de condições de pagamento de faturas: Net 30, data de vencimento e multas por atraso · Como categorizar transações bancárias · Modelo de registro de caixa pequeno · Todos os guias
Mais servidores
MCP Barcode · MCP Zip · MCP Billing Docs · MCP Deposits · Calculadora de Diárias MCP — Ajudas de Viagem para Funcionários a partir do Claude · Servidor MCP para Registro de Ativos Fixos — Depreciação a partir do Claude · Servidor MCP para Extratos de Conta — Saldos de Clientes a partir do Claude · Servidor MCP para Livro de Caixa — Recebimentos, Pagamentos e Saldos a partir do Claude