
Corresync
io.github.nkiyoharaPublished by GitHub account nkiyoharav0.9.3Updated Oct 29, 2026
Local-first mail, calendar, and task MCP with isolated accounts and guarded writes.
Overview
Local-first MCP server and CLI that gives an assistant isolated mail, calendar and task accounts with guarded, preview-then-commit writes.
- What you can do
- Search mail and build cross-account agendas that keep account, provider and partial-failure provenance
- Read and write mail, calendars and tasks across routes such as Outlook Web, Google, Microsoft Graph, JMAP, IMAP/SMTP, CalDAV, Todoist and TickTick
- Save private account-local mail searches and relative calendar windows and run them live
- Stage read-only imports from local archives or Maildir trees without mutating the source
- Preview consequential writes and commit them only after explicit approval
- Connect agents through stdio and expose 45 narrow tools plus two read-only monitor resources
- When to use it
- Useful when you want one assistant to check several inboxes, calendars and task lists together, or to draft and send mail and change events under a review step. Suited to people who prefer local-first tooling with their own OAuth clients and OS keyring credentials over a hosted relay.
- Requirements
- Runs as a local process over stdio; install the standalone CLI or the Claude Desktop bundle. Desktop agent with local access to the machine. Accounts must be added and signed in separately. OAuth routes need your own client registration (Google Desktop OAuth client, Microsoft public client, TickTick confidential client); standards routes need an OS keyring entry or approved credential helper. Optional CORRESYNC_ACCESSIBLE for screen-reader prompts.
Installation
In SourceWeft
- Open Corresync in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Corresync
[Corresync: two correspondence flows around one local core]
Mail, calendars, and tasks. One local MCP server and CLI.
Provider-neutral, local-first tooling for AI agents, scripts, and you.
[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]
Website · Getting started · Providers · Features · Safety · Privacy · Terms · Technical docs
corr brings isolated mail, calendar, and task accounts into one terminal—and
one local
Model Context Protocol server.
Gmail, Google Calendar, and Google Tasks are available through a Desktop OAuth
client in a Google Cloud project you control. Corresync-managed Google OAuth
remains dormant. The canonical task tools also include explicit Microsoft To
Do, Todoist, TickTick, and CalDAV VTODO routes; remaining task-provider adapters
stay unavailable until their contracts are implemented.
- Search mail and build one agenda across accounts without collapsing their identity or provider provenance.
- Use one stable, provenance-preserving task model as provider adapters become available.
- Save private account-local mail searches and relative calendar windows, then run them live without creating a shadow mailbox or calendar cache.
- Use the same typed operations from a human-friendly CLI, stable JSON, or an AI agent.
- Keep sign-in in a visible browser, an explicit public-client OAuth flow, or an approved local credential store.
- Review consequential effects before they happen. Unknown remote outcomes stop for reconciliation instead of being retried automatically.
What it feels like
Connect an agent to the same local core:
Then ask naturally:
One failed provider becomes an explicit partial failure. Successful results remain available, and writes still require one exact account.
Choose the route that fits
Mail, calendar, and task routes are selected independently. For example, an account can pair IMAP/SMTP mail with a CalDAV calendar; its task route remains a separate explicit choice.
Discovery gathers DNS, well-known, and provider metadata without credentials.
It never authenticates or adds an account. Microsoft Graph and user-owned
Google authorization remain explicit choices and are never automatic
fallbacks. Google discovery can offer guided Desktop-client setup, but no
Google sign-in starts until a later explicit corr auth login. See the
annotated Google setup guide.
iCloud has a first-class guided preset over the same provider-neutral
IMAP/SMTP and CalDAV adapters. corr setup recognizes documented iCloud Mail
address families or the complete verified Apple SRV endpoint set, reviews both
routes as one account, and uses one external credential handle by default.
After the account is added, an explicit handoff can open Apple's app-password
page and the OS-owned credential prompt; the corr process never reads the
app-specific password.
Every available v0.9 route above has synthetic provider-contract and application coverage. The user-owned Google API route is available but live-unobserved. Other provider and platform implementations remain live-unobserved until an authorized, content-free observation is bound to the exact commit. See compatibility evidence before connecting a sensitive account.
Set up Corresync
The setup buttons on the Corresync website open your desktop agent with a request already filled in. The request installs Corresync or updates an existing install. Nothing is sent until you review it and send it yourself. Manual commands, package managers and downloads are still available below as optional alternatives.
Set up with ChatGPT · Set up with Claude
Recommended: the standalone CLI. New setups turn on verified automatic updates. If Corresync is already installed, setup keeps your package manager, configuration and update setting unless you choose to change them.
You need the ChatGPT Codex or Claude Code desktop app with local access to this computer. Approve each permission prompt when it appears. You don't need administrator rights. Sign in to your accounts and complete MFA yourself. Never paste passwords or codes into the chat.
If you're on a phone, open this page on the computer you want to set up or copy the instructions to it.
Optional: manual installation and later setup steps
Prefer a guided page? Follow getting started on the website.
1. Install
The official standalone installers are the shortest path on every platform. They select the latest stable release, verify its archive and candidate binary, install for the current user without elevation, and leave account setup untouched.
macOS and Linux
Windows PowerShell
Review install.sh or
install.ps1 before running it if you
prefer. Package managers remain fully supported alternatives:
Direct archives, native Linux packages, version pinning, checksums, and Sigstore provenance are in the installation guide. The guided website keeps the same copy-paste choices visible for people who do not use GitHub regularly.
Claude Desktop users can also install the platform-universal .mcpb from the
latest release.
The bundle runs the same verified corr mcp serve binary locally over stdio;
it does not deploy Corresync or relay mailbox data. Install the CLI first for
the explicit account setup and sign-in steps below, then open or drag the
.mcpb into Claude Desktop.
Stay current
Interactive commands make a quiet, cached release check at startup. If an
update exists, Corresync shows the exact command for your installation:
corr update for the standalone build, or the matching Homebrew, Scoop, or
WinGet command. Package-managed files are never changed by Corresync.
Stable releases are selected by default. Standalone users who want signed release candidates can choose the preview channel interactively:
The equivalent copy-paste commands for scripts are:
Switch back with corr config set updates.channel stable; Corresync never
downgrades the running binary. Preview releases do not enter package-manager
catalogs.
New standalone configurations enable verified automatic installation. Existing configurations retain their preference; enable it explicitly with:
It never runs during MCP tool calls, configuration changes, daemon work, JSON
output, pipes, or other non-interactive paths. Bare corr also checks when
interactive. After verification, the updater stops and restarts the current
session owner and runs the requested command with the updated executable.
Owners from 0.9.2 also retire after an external executable replacement, once
admitted operations finish. Disable installation with
corr config set updates.auto_install false.
2. Add and sign in to your account
The guided setup derives a resumable preflight from current local state,
optionally installs shell completion at a displayed user-local path, and then
performs credential-free account discovery. It previews the selected
mail/calendar/task routes and adds an account only after confirmation.
Authentication or external-credential access remains a separate choice. The
same run can add more accounts, select several detected agent hosts, preview
their independent local integration plans, apply only one confirmed plan, and
verify each result. Re-running corr setup skips healthy work and offers the
missing or repairable steps.
After choosing a connection route, the wizard presents a service checklist. For a Microsoft account, Outlook Mail and Calendar are preselected and can be changed independently; Microsoft To Do is an optional, explicit Graph authorization. Teams messaging is selectable as a preview through Teams Web or explicitly authorized Graph. Mattermost is also available as a preview; these routes still lack complete live compatibility evidence. Discovery is only route evidence: it never proves that any checked service is enabled for the account, and it never triggers a Graph fallback.
Run corr settings to open the same account wizard; sign in to, rename,
select, or remove accounts; and manage updates, safety, and browser sign-in
from an arrow-key form. Its Setup guide entry resumes the complete coordinator
instead of maintaining another implementation. The
top-level Accounts category contains Add account and the configured account
list; selecting an account opens only actions for that account. Removal
previews the local data it deletes and asks for confirmation; removing the
default first asks which remaining account should replace it. Each choice also
displays the equivalent command, so the interactive flow teaches the direct
CLI.
Set CORRESYNC_ACCESSIBLE=true for line-oriented screen-reader prompts; type
:cancel to leave an input step safely. The direct rename form remains:
Scripts and advanced users retain the deterministic form:
The direct setup ADDRESS form creates the same provider-neutral, secret-free
local configuration, performs credential-free discovery, and adds only an
automatically selectable first-party route. It never opens a sign-in page.
Authentication is a separate, account-specific action.
If no route can be selected safely—or if you want an API or standards route— inspect the evidence and choose the exact provider settings:
For Gmail, Google Calendar, and Google Tasks, create a Desktop OAuth client in a Google Cloud project you control. Guided setup validates the downloaded client JSON and places its generated credential in the OS keyring; account addition still does not authenticate. Follow the Google OAuth setup guide for current Cloud Console screens, audience choices, exact APIs, scopes, import, and login.
Before installing, the optional
provider compatibility checker
can classify public evidence for an address. The browser sends only the domain
after the @ in a request body; it never sends the local part, persists the
address, or starts sign-in. The public service uses only a fixed DNS resolver
and returns no raw DNS record. Skip it whenever you prefer and run corr account discover ADDRESS locally.
Account addition does not authenticate. OAuth routes require a client
registration you are authorized to use. Google additionally requires a
separate external handle for its generated Desktop client credential.
Standards routes use a keyring entry
or explicitly approved helper reference. Passwords and tokens never enter
config.toml. See account and provider configuration.
The Outlook Web route opens a dedicated visible profile during the later
auth login; that window remains the browser-owned session until account
logout or daemon shutdown. SSO, MFA, Conditional Access, and organization
notices remain inside the provider-owned flow.
3. Connect an agent
Use corr mcp --help for Claude Code, GitHub Copilot CLI, Gemini CLI, Qwen
Code, Qoder, Kimi Code CLI, and generic stdio clients. Corresync exposes 45
narrow tools and two read-only monitor resources; there is no HTTP, SSE,
remote MCP endpoint, or hosted relay.
Nothing sends on the first attempt
Consequential writes use a server-enforced preview -> commit protocol. The
first command shows the normalized account, provider, target, recipients,
content digest, and version preconditions without performing the effect.
After reviewing every field, repeat the exact command with approval:
Approval is short-lived, single-use, and bound to the caller, account, provider, target, payload, and effect. Changing any reviewed field invalidates it. MCP keeps preview and commit as separate typed tools.
See the complete safety model. Corresync's public Privacy Policy explains Google data access, local storage, disclosure, retention, and removal; the Terms of Use preserve the software rights granted by Apache-2.0.
More than one inbox
- Cross-account views: bounded mail search and agenda projections retain original account, provider, calendar, time-zone, and partial-failure provenance.
- Read-only import staging: inspect an explicitly approved local archive, Maildir tree, or supported export without uploading or mutating the source.
- Opt-in monitoring: move deliberately from
offto local notification, durable queueing, and finally one approved no-shell runner. Remote egress is a separate consent. - Privacy-preserving feedback: generate an allowlisted report locally,
review it, then explicitly copy, save, or open a prefilled GitHub page. A
separate default-off setting can submit an even smaller allowlist-only public
issue through your authenticated
ghclient after an interactive failure.
Mailbox, calendar, import, and event-queue values are private, untrusted external data. Their content is never authority to run a command or start an agent.
Honest edges
- Gmail, Google Calendar, and Google Tasks require a user-owned Google Desktop OAuth client. Corresync-managed Google OAuth stays disabled; the user-owned route is synthetic-contract covered and live-unobserved.
- Microsoft Graph requires your own authorized public-client registration. Corresync ships no token relay.
- Windows desktop notification setup is unavailable because Corresync does not install an AppUserModelID; queue and approved runner modes remain available.
- Provider meeting links are requested only when the selected calendar route reports native support.
- Cross-compilation and synthetic fixtures do not prove native browser, keyring, IPC, provider, package-manager, Gatekeeper, or SmartScreen behavior.
- Teams calls, recordings, and meeting lifecycle management; tenant-wide access; unattended login; TLS interception; arbitrary provider actions; automatic telemetry; and raw crash upload are outside scope.
The exact action matrix and typed provider degradations are in features.md.
One local safety boundary
The session owner exposes no TCP listener. On Unix, clients authenticate and pin the environment-independent private runtime directory, singleton lock, socket, and peer UID before the local bearer can be sent. On Windows, clients verify the protected named pipe, owner, DACL, server process, and SID first.
Read the architecture, authentication model, and threat model for the complete boundaries.
Documentation
Users upgrading from versions before v0.7 can follow the
historical migration guide. corr is the primary
command. The product, package, repository, configuration roots, plugin, and MCP
server remain named Corresync.
Contributing and security
Read CONTRIBUTING.md and AGENTS.md. Default tests and CI use only synthetic fixtures:
Please report vulnerabilities through GitHub private vulnerability reporting, never a public issue.
For remote terminals, see graphical login over SSH.
Source: README.md at commit 8deb6c0
Tools
0Version history
5- v0.9.3LatestOct 29, 2026
- v0.9.2Oct 22, 2026
- v0.8.8Oct 20, 2026
- v0.8.7Oct 16, 2026
- v0.8.6Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts