Getting started

Install to first answer, in four clear steps.

Install corr, connect multiple work or personal email and calendar accounts, register the local MCP server with your agent, and ask something that spans them. Each account keeps a separate identity and authorization even when a search or agenda combines results. Outlook Web sign-in stays browser-owned; API and standards grants stay behind your OS keyring. Agents never receive Corresync-managed credentials, and the MCP connection is local stdio—no hosted relay.

  1. Install corr

    Pick your platform. Installing gives you the corr command—no account is added and nothing signs in until you do.

    macOS · Linux

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

    Installs the verified stable release for your current user. Review install.sh first if you like; no account or MCP client is changed.

    Windows · PowerShell

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

    Installs without elevation and updates only your user PATH. Review install.ps1 first; organization policy still takes precedence.

    Other installation methods

    Prefer a package manager? It keeps ownership of upgrades and removal.

    Windows · WinGet

    winget install --id nkiyohara.Corresync --exact

    Microsoft-reviewed manifest, managed by WinGet.

    macOS · Linux · Homebrew

    brew install nkiyohara/corresync/corresync

    Homebrew builds the latest stable tagged source.

    Windows · Scoop

    scoop bucket add corresync https://github.com/nkiyohara/scoop-corresync
    scoop install corresync/corresync

    Uses the checksum-pinned Corresync Scoop bucket.

    Linux releases also include .deb, .rpm, and .apk packages. Direct archives, checksums, Sigstore provenance, and the Claude Desktop .mcpb are available from the latest release.

    Verify

    corr --version

    Optional · keep standalone installs current

    corr config set updates.auto_install true

    Interactive starts already check quietly and show the right update command. This opt-in automatically installs only signed, verified standalone releases; Homebrew, Scoop, and WinGet stay under their package manager. Updates never run during MCP tool calls, configuration changes, or machine-readable output, and become active on the next corr start.

    Optional · follow signed previews

    corr config set updates.channel preview
    corr update

    Stable is the default. Preview uses the same signed, verified standalone update path; return with corr config set updates.channel stable. Corresync never downgrades, and previews do not enter package-manager catalogs.

    macOS release binaries are Developer ID-signed and Apple-notarized. Windows binaries are not yet Authenticode-signed—verify downloads instead of overriding Gatekeeper or SmartScreen. Direct archives, packages, checksums, and signed provenance are available on the release page.

  2. Set up your mail and calendar account

    Start with one command. The guided setup asks for your email address, discovers likely mail and calendar services without credentials, explains the choices, and shows a final review before anything is added.

    Sign-in or access to an external credential is always a separate, clearly labelled choice after that review. The wizard can then run a bounded connection check or add another account. corr settings opens the same keyboard-friendly flow; set CORRESYNC_ACCESSIBLE=true for line-oriented screen-reader prompts, and type :cancel to leave an input step safely.

    Outlook Web works with provider-owned browser sign-in. Microsoft Graph, JMAP, IMAP/SMTP, and CalDAV are also available when your provider supports them and you explicitly choose the required route or credential owner. Discovery itself never opens a browser, reads a keyring, or asks an administrator for consent.

    Using iCloud? corr setup recognises iCloud Mail and Calendar together for @icloud.com, @me.com, and @mac.com addresses, or from complete verified service records for a custom iCloud domain. After you approve the account, it explains Apple’s two-factor authentication and app-specific password requirement. Your operating system asks for that password directly; Corresync never receives it.

    Using Google? Create a Desktop OAuth client in a Google Cloud project you control. Guided setup validates the downloaded JSON and imports the generated credential into your OS keyring before an explicit browser login.

    Guided setup · recommended

    corr setup

    The wizard checks your current local state, optionally adds shell completion, and resumes at the first unfinished step. It previews every account route, keeps authentication separate, then lets you select several detected agents and reviews one local integration plan before applying and verifying each host.

    Advanced or scripted setup

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

    These commands stay non-interactive and are suitable for scripts.

    iCloud Mail + Calendar · available now

    The guided preset adds both services, can share one reviewed credential handle, and shows their last-authenticated status without reading content. Read Apple’s app-specific password guide before connecting.

    Gmail · Google Calendar · Google Tasks

    Follow the illustrated Google OAuth guide to create a Desktop client, choose only the services you need, and keep both the client credential and account grant in the OS keyring.

  3. Connect the agent you already use

    One command registers Corresync as a local stdio MCP server in the client’s own configuration, with absolute paths and no remote endpoint. Restart the client afterwards.

    Codex

    corr mcp setup codex

    Verify with codex mcp get corresync.

    Claude Code

    corr mcp setup claude-code

    User or project scope; verify with claude mcp get corresync.

    GitHub Copilot CLI

    corr mcp setup github-copilot

    Verify with copilot mcp get corresync.

    Gemini CLI

    corr mcp setup gemini-cli

    Verify with gemini mcp list.

    Qwen Code

    corr mcp setup qwen-code

    Verify with qwen mcp list.

    Qoder

    corr mcp setup qoder

    Verify with qodercli mcp list.

    Kimi Code CLI

    corr mcp config kimi-code

    Prints the registration to add to Kimi’s MCP configuration.

    Any MCP client

    corr mcp serve

    Generic stdio transport—point any client at this command.

    Every client reaches the same 43 narrow tools and two read-only monitor resources—see what agents can and cannot do. Codex and Claude Code users can also install the bundled plugin and Agent Skill.

  4. Ask across everything

    Reads span accounts without merging them; writes are deliberately different. Try these first:

    • “Search every account for the message from Ana about the quarterly plan.”
    • “What’s on all my calendars tomorrow morning?”
    • “Draft a reply to Ana—I’ll review the preview before anything sends.”

    Each result keeps its account and provider, and a failed route surfaces as an explicit partial failure instead of hiding what succeeded.

    When the agent—or you—asks to send, Corresync returns a review of the exact message. Only approving that exact payload (same account, recipients, and bytes) commits it: --approve in the CLI, or the separate mail_send_commit tool over MCP. Approval is short-lived and single-use.

    review before effect
    $ corr mail send --account work \
        --to ana@example.invalid \
        --subject 'Quarterly plan' \
        --body-file reply.txt
    
    REVIEW · send new message
      account   work · microsoft-owa
      to        ana@example.invalid
      body      text/plain · 412 B
    
    Nothing sent.
    
    $ corr mail send … --approve
    SENT · one attempt · review 9f2c1a…

Where next

Go deeper when you need to.

Providers and limits

What each route can and cannot do, stated per capability. Compare routes.

The safety model

Credentials, isolation, preview→commit, and what is deliberately absent. Read the guarantees.

Everything you can do

Mail, calendar, agents, scripting, import, and monitoring in plain language. Tour the features.

Before you connect a sensitive account: provider routes ship with deterministic synthetic contract coverage. Google authorization and bounded reads have one commit-bound macOS arm64 observation; other provider and write surfaces remain live-unobserved.

How evidence works

That’s the whole loop

Install, sign in, connect, ask.

Everything else is detail you can read when you want it.