Corresync

MCP local-first para e-mails e calendários neutros em relação ao provedor, com contas isoladas e gravações protegidas.

Documentação

Corresync

Corresync: two correspondence flows around one local core

E-mail, calendários e tarefas. Um servidor MCP local e CLI.
Ferramentas neutras em relação ao provedor e locais-primeiro para agentes de IA, scripts e você.

CI status Latest release Go 1.26 Apache-2.0 license macOS, Linux, and Windows Model Context Protocol over stdio Current documentation Local-first architecture

Site · Primeiros passos · Provedores · Recursos · Segurança · Privacidade · Termos · Documentação técnica

corr reúne contas isoladas de e-mail, calendário e tarefas em um único terminal—e em um servidor local de Model Context Protocol. Gmail, Google Agenda e Google Tarefas estão disponíveis por meio de um cliente OAuth de Desktop em um projeto do Google Cloud que você controla. O OAuth do Google gerenciado pelo Corresync permanece inativo. As ferramentas canônicas de tarefas também incluem rotas explícitas para Microsoft To Do, Todoist, TickTick e VTODO via CalDAV; os adaptadores restantes de provedores de tarefas permanecem indisponíveis até que seus contratos sejam implementados.

  • Pesquise e-mails e monte uma agenda única entre contas sem apagar sua identidade ou a proveniência do provedor.
  • Use um modelo de tarefas estável e que preserva a proveniência à medida que adaptadores de provedores ficam disponíveis.
  • Salve pesquisas de e-mail privadas e locais da conta e janelas de calendário relativas, e execute-as ao vivo sem criar uma caixa de correio sombra ou cache de calendário.
  • Use as mesmas operações tipadas de uma CLI amigável, JSON estável ou um agente de IA.
  • Mantenha o login em um navegador visível, um fluxo OAuth explícito de cliente público ou um armazenamento de credenciais local aprovado.
  • Revise efeitos consequentes antes que aconteçam. Resultados remotos desconhecidos param para reconciliação em vez de serem repetidos automaticamente.

Como é a experiência

$ corr mail search --all-accounts \
    --query 'subject:"Quarterly plan"' --limit 3
● work · microsoft-owa   Ana Ruiz   Plan review
· personal · jmap       Finance    Plan receipt

$ corr agenda list --all-accounts \
    --start 2026-07-29T00:00:00Z \
    --end 2026-07-30T00:00:00Z

Conecte um agente ao mesmo núcleo local:

corr integrations detect
corr integrations plan codex claude-code
corr integrations setup codex claude-code
# Phase A also includes github-copilot, gemini-cli, qwen-code, qoder, kimi-code

Depois pergunte naturalmente:

Check my inboxes, calendars, and task lists and summarize what needs attention today.

Um provedor com falha torna-se uma falha parcial explícita. Resultados bem-sucedidos permanecem disponíveis, e gravações ainda exigem exatamente uma conta.

Escolha a rota que se encaixa

Rotas de e-mail, calendário e tarefas são selecionadas independentemente. Por exemplo, uma conta pode combinar e-mail IMAP/SMTP com um calendário CalDAV; sua rota de tarefas permanece uma escolha explícita separada.

RotaE-mailCalendárioTarefasAutenticação
Outlook WebLeituras e gravações tipadasCalendários selecionáveis; link do Teams com suporte do provedor—Perfil de navegador visível dedicado
Google (seu cliente OAuth)Leituras e gravações da API Gmail; sem exclusão permanenteCalendários selecionáveis; Google Meet quando anunciadoGoogle Tarefas por meio de uma concessão separada somente de tarefasSeu cliente OAuth de Desktop; credencial do cliente e concessões no chaveiro do SO
Microsoft GraphLeituras e gravações tipadasCalendários selecionáveis; criação tipada de links do TeamsMicrosoft To DoSeu cliente OAuth público autorizado; concessão no chaveiro do SO
Todoist——Operações tipadas do TodoistSeu cliente OAuth público autorizado; concessão no chaveiro do SO
TickTick——Operações tipadas do TickTickSeu cliente OAuth confidencial autorizado; identificador de segredo externo e concessão no chaveiro do SO
JMAPOperações tipadas de e-mail——Chaveiro do SO ou auxiliar de credenciais aprovado
IMAP / SMTPLeitura/gerenciamento IMAP e rascunho/envio SMTP——Chaveiro do SO ou auxiliar de credenciais aprovado
CalDAV—Operações tipadas de calendário e agendamento condicionalListas VTODO, pesquisa, sincronização e gravações revisadasChaveiro do SO ou auxiliar de credenciais aprovado

A descoberta coleta metadados de DNS, well-known e do provedor sem credenciais. Ela nunca autentica nem adiciona uma conta. A autorização do Microsoft Graph e do Google de propriedade do usuário permanece uma escolha explícita e nunca é um fallback automático. A descoberta do Google pode oferecer configuração guiada de cliente Desktop, mas nenhum login do Google começa até um corr auth login explícito posterior. Consulte o guia anotado de configuração do Google.

O iCloud tem um preset guiado de primeira classe sobre os mesmos adaptadores IMAP/SMTP e CalDAV neutros em relação ao provedor. O corr setup reconhece famílias documentadas de endereços de e-mail do iCloud ou o conjunto completo de endpoints SRP verificados da Apple, revisa ambas as rotas como uma única conta e usa um identificador de credencial externo por padrão. Após a conta ser adicionada, uma transferência explícita pode abrir a página de senha de app da Apple e o prompt de credencial de propriedade do SO; o processo corr nunca lê a senha específica do app.

Toda rota v0.9 disponível acima tem cobertura sintética de contrato de provedor e de aplicação. A rota da API do Google de propriedade do usuário está disponível, mas não observada ao vivo. Outras implementações de provedores e plataformas permanecem não observadas ao vivo até que uma observação autorizada e sem conteúdo seja vinculada ao commit exato. Consulte evidências de compatibilidade antes de conectar uma conta sensível.

Da instalação à primeira leitura

Prefere uma página guiada? Siga primeiros passos no site.

1. Instalar

Os instaladores oficiais autônomos são o caminho mais curto em todas as plataformas. Eles selecionam a versão estável mais recente, verificam o arquivo e o binário candidato, instalam para o usuário atual sem elevação e deixam a configuração da conta intocada.

macOS e Linux

curl -LsSf https://corresync.org/install.sh | sh
corr --version

Windows PowerShell

powershell -NoProfile -Command "irm https://corresync.org/install.ps1 | iex"
corr --version

Revise install.sh ou install.ps1 antes de executá-lo, se preferir. Gerenciadores de pacotes continuam sendo alternativas totalmente suportadas:

# Homebrew · macOS or Linux
brew install nkiyohara/corresync/corresync

# WinGet · Windows
winget install --id nkiyohara.Corresync --exact

# Scoop · Windows
scoop bucket add corresync https://github.com/nkiyohara/scoop-corresync
scoop install corresync/corresync

Arquivos diretos, pacotes Linux nativos, fixação de versão, somas de verificação e proveniência Sigstore estão no guia de instalação. O site guiado mantém as mesmas opções de copiar e colar visíveis para pessoas que não usam GitHub regularmente.

Usuários do Claude Desktop também podem instalar o .mcpb universal de plataforma do último lançamento. O pacote executa o mesmo binário corr mcp serve verificado localmente via stdio; ele não implanta o Corresync nem retransmite dados de caixa de correio. Instale a CLI primeiro para as etapas explícitas de configuração de conta e login abaixo, depois abra ou arraste o .mcpb para o Claude Desktop.

Mantenha-se atualizado

Comandos interativos fazem uma verificação de lançamento silenciosa e em cache na inicialização. Se uma atualização existir, o Corresync mostra o comando exato para sua instalação: corr update para a compilação autônoma, ou o comando correspondente do Homebrew, Scoop ou WinGet. Arquivos gerenciados por pacotes nunca são alterados pelo Corresync.

Lançamentos estáveis são selecionados por padrão. Usuários autônomos que desejam candidatos a lançamento assinados podem escolher o canal de pré-visualização interativamente:

corr settings

Os comandos equivalentes de copiar e colar para scripts são:

corr config set updates.channel preview
corr update

Volte com corr config set updates.channel stable; o Corresync nunca faz downgrade do binário em execução. Lançamentos de pré-visualização não entram nos catálogos de gerenciadores de pacotes.

Usuários autônomos podem optar pela instalação automática verificada:

corr config set updates.auto_install true

Ela nunca é executada durante chamadas de ferramentas MCP, mudanças de configuração, trabalho do daemon, saída JSON, pipes ou outros caminhos não interativos. O comando atual continua normalmente e o novo binário fica ativo na próxima inicialização do corr.

2. Adicionar e entrar na sua conta

corr setup

A configuração guiada deriva um pré-voo retomável do estado local atual, opcionalmente instala a conclusão de shell em um caminho local do usuário exibido e depois realiza a descoberta de conta sem credenciais. Ela pré-visualiza as rotas selecionadas de e-mail/calendário/tarefas e adiciona uma conta somente após confirmação. Autenticação ou acesso a credenciais externas permanece uma escolha separada. A mesma execução pode adicionar mais contas, selecionar vários hosts de agentes detectados, pré-visualizar seus planos de integração local independentes, aplicar apenas um plano confirmado e verificar cada resultado. Reexecutar o corr setup pula trabalho saudável e oferece as etapas ausentes ou reparáveis.

Depois de escolher uma rota de conexão, o assistente apresenta uma lista de verificação de serviços. Para uma conta Microsoft, Outlook Mail e Calendário são pré-selecionados e podem ser alterados independentemente; Microsoft To Do é uma autorização Graph opcional e explícita. Mensagens do Teams são mostradas como em breve enquanto o portão de lançamento v0.9 está fechado e não podem ser selecionadas, persistidas ou abertas. A descoberta é apenas evidência de rota: ela nunca prova que qualquer serviço marcado está habilitado para a conta e nunca aciona um fallback do Graph.

Execute o corr settings para abrir o mesmo assistente de conta; entre, renomeie, selecione ou remova contas; e gerencie atualizações, segurança e login no navegador por meio de um formulário com teclas de seta. Sua entrada do guia de Configuração retoma o coordenador completo em vez de manter outra implementação. A categoria de nível superior Contas contém Adicionar conta e a lista de contas configuradas; selecionar uma conta abre apenas ações para essa conta. A remoção pré-visualiza os dados locais que exclui e pede confirmação; remover a padrão primeiro pergunta qual conta restante deve substituí-la. Cada escolha também exibe o comando equivalente, então o fluxo interativo ensina a CLI direta. Defina CORRESYNC_ACCESSIBLE=true para prompts de leitor de tela orientados por linha; digite :cancel para sair de uma etapa de entrada com segurança. O formulário direto de renomear permanece:

corr account rename personal work

Scripts e usuários avançados mantêm a forma determinística:

corr setup you@example.com --alias personal
corr auth login --account personal
corr doctor --account personal

O formulário direto setup ADDRESS cria a mesma configuração local neutra em relação ao provedor e sem segredos, realiza descoberta sem credenciais e adiciona apenas uma rota de primeira parte automaticamente selecionável. Ele nunca abre uma página de login. Autenticação é uma ação separada e específica da conta.

Se nenhuma rota puder ser selecionada com segurança—ou se você quiser uma rota de API ou padrão— inspecione as evidências e escolha as configurações exatas do provedor:

corr account discover reader@example.invalid
corr account add reader@example.invalid --help

Para Gmail, Google Agenda e Google Tarefas, crie um cliente OAuth de Desktop em um projeto do Google Cloud que você controla. A configuração guiada valida o JSON do cliente baixado e coloca sua credencial gerada no chaveiro do SO; a adição da conta ainda não autentica. Siga o guia de configuração OAuth do Google para telas atuais do Cloud Console, escolhas de público, APIs exatas, escopos, importação e login.

Antes de instalar, o verificador opcional de compatibilidade de provedor pode classificar evidências públicas para um endereço. O navegador envia apenas o domínio após o @ em um corpo de solicitação; ele nunca envia a parte local, persiste o endereço ou inicia o login. O serviço público usa apenas um resolvedor DNS fixo e não retorna nenhum registro DNS bruto. Pule-o sempre que preferir e execute corr account discover ADDRESS localmente.

Adicionar uma conta não autentica. Rotas OAuth exigem um registro de cliente que você está autorizado a usar. O Google adicionalmente exige um identificador externo separado para sua credencial de cliente Desktop gerada. Rotas padrão usam uma entrada do chaveiro ou referência de auxiliar explicitamente aprovada. Senhas e tokens nunca entram no config.toml. Consulte configuração de conta e provedor. A rota Outlook Web abre um perfil visível dedicado durante o auth login posterior; essa janela permanece a sessão de propriedade do navegador até o logout da conta ou o desligamento do daemon. SSO, MFA, Acesso Condicional e avisos da organização permanecem dentro do fluxo de propriedade do provedor.

3. Conectar um agente

corr mcp setup codex

Use corr mcp --help para Claude Code, GitHub Copilot CLI, Gemini CLI, Qwen Code, Qoder, Kimi Code CLI e clientes stdio genéricos. O Corresync expõe 45 ferramentas específicas e dois recursos de monitoramento somente leitura; não há HTTP, SSE, endpoint MCP remoto ou relay hospedado.

Nada é enviado na primeira tentativa

Gravações consequentes usam um protocolo preview -> commit imposto pelo servidor. O primeiro comando mostra a conta normalizada, provedor, destino, destinatários, resumo do conteúdo e pré-condições de versão sem executar o efeito.

printf 'Synthetic body.\n' | \
  corr mail send \
    --account work \
    --to reader@example.invalid \
    --subject 'Review example' \
    --body-file -

Após revisar cada campo, repita o comando exato com aprovação:

printf 'Synthetic body.\n' | \
  corr mail send \
    --account work \
    --to reader@example.invalid \
    --subject 'Review example' \
    --body-file - \
    --approve

A aprovação tem vida curta, é de uso único e está vinculada ao chamador, conta, provedor, destino, payload e efeito. Alterar qualquer campo revisado a invalida. O MCP mantém pré-visualização e confirmação como ferramentas tipadas separadas.

Consulte o modelo de segurança completo. A Política de Privacidade pública do Corresync explica acesso a dados do Google, armazenamento local, divulgação, retenção e remoção; os Termos de Uso preservam os direitos de software concedidos pela Apache-2.0.

Mais de uma caixa de entrada

  • Visualizações entre contas: busca limitada de e-mails e projeções de agenda preservam a proveniência original de conta, provedor, calendário, fuso horário e falhas parciais.
  • Preparação de importação somente leitura: inspecione um arquivo local explicitamente aprovado, árvore Maildir ou exportação suportada sem enviar ou modificar a origem.
  • Monitoramento opcional: avance deliberadamente de off para notificação local, fila durável e, finalmente, um runner aprovado sem shell. Egresso remoto é um consentimento separado.
  • Feedback que preserva privacidade: gere um relatório em lista de permissões localmente, revise-o e, em seguida, copie, salve ou abra explicitamente uma página do GitHub pré-preenchida. Uma configuração separada, desativada por padrão, pode enviar um problema público ainda menor, apenas com lista de permissões, através do seu cliente gh autenticado após uma falha interativa.

Valores de caixa de correio, calendário, importação e fila de eventos são dados externos privados e não confiáveis. Seu conteúdo nunca é autoridade para executar um comando ou iniciar um agente.

Limites honestos

  • Gmail, Google Calendar e Google Tasks exigem um cliente OAuth do Google Desktop de propriedade do usuário. O OAuth do Google gerenciado pelo Corresync permanece desativado; a rota de propriedade do usuário é coberta por contrato sintético e não observada ao vivo.
  • Microsoft Graph exige seu próprio registro de cliente público autorizado. O Corresync não inclui relay de token.
  • A configuração de notificação de desktop no Windows não está disponível porque o Corresync não instala um AppUserModelID; os modos de fila e runner aprovado permanecem disponíveis.
  • Links de reunião do provedor são solicitados apenas quando a rota de calendário selecionada relata suporte nativo.
  • Compilação cruzada e fixtures sintéticos não comprovam comportamento nativo de navegador, keyring, IPC, provedor, gerenciador de pacotes, Gatekeeper ou SmartScreen.
  • Chat, canais, chamadas, gravações e gerenciamento do ciclo de vida de reuniões do Teams; acesso em todo o locatário; login não assistido; interceptação TLS; ações arbitrárias de provedor; telemetria automática; e upload bruto de crash estão fora do escopo.

A matriz exata de ações e degradações tipadas de provedores está em features.md.

Um único limite de segurança local

AI agents ───────── MCP over stdio ─┐
                                    ├── typed use cases + effect policy
Humans and scripts ──────── corr ───┘              │
                                                   │ authenticated local IPC
                                            session owner
                                            ├── browser-owned sessions
                                            ├── explicit OAuth + keyring
                                            └── standards adapters

O proprietário da sessão não expõe listener TCP. No Unix, os clientes autenticam e fixam o diretório de runtime privado independente do ambiente, bloqueio de instância única, socket e UID do par antes que o bearer local possa ser enviado. No Windows, os clientes verificam primeiro o pipe nomeado protegido, proprietário, DACL, processo do servidor e SID.

Leia a arquitetura, modelo de autenticação e modelo de ameaças para os limites completos.

Documentação

Eu quero…Comece aqui
Instalar e verificar uma versãoInstalação
Adicionar contas e escolher rotasConfiguração
Entender navegador, OAuth e login por padrõesAutenticação
Aprender comandos CLIGuia CLI
Conectar um cliente de IAGuia MCP
Comparar ações e degradações de provedoresMatriz de recursos
Consumir saída de máquina estávelContrato JSON
Integrar contratos públicos/locais versionadosPolítica de versionamento
Verificar alegações de compatibilidadeMatriz de evidências
Revisar privacidade e tratamento de dados do GooglePolítica de Privacidade
Revisar termos de uso e licença de código abertoTermos de Uso
Conectar o Google com seu próprio cliente DesktopConfiguração OAuth do Google
Revisar o plano de cliente gerenciado inativoRunbook de verificação do Google
Revisar todos os guiasMapa de documentação

Usuários que atualizam de versões anteriores à v0.7 podem seguir o guia de migração histórico. corr é o comando principal. O produto, pacote, repositório, raízes de configuração, plugin e servidor MCP permanecem nomeados Corresync.

Contribuição e segurança

Leia CONTRIBUTING.md e AGENTS.md. Testes padrão e CI usam apenas fixtures sintéticos:

mise exec -- task verify

Por favor, relate vulnerabilidades através do relatório privado de vulnerabilidades do GitHub, nunca em um problema público.