Skip to main content
ClaudeWave

Scoped Calendar and Reminders access for scripts and AI agents on your Mac: a menu bar app with an MCP server, per-client grants and approvals.

MCP ServersRegistry oficial2 estrellas0 forks● SwiftApache-2.0Actualizado today
ClaudeWave Trust Score
95/100
✓ Verified
Passed
  • ✓Open-source license (Apache-2.0)
  • ✓Actively maintained (<30d)
  • ✓Clear description
  • ✓Topics declared
  • ✓Documented (README)
Last scanned: 10/9/2026
Install in Claude Code / Claude Desktop
Method: Manual
Claude Code CLI
git clone https://github.com/bereciartua/ek-bridge
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
💡 Clone https://github.com/bereciartua/ek-bridge and follow its README for install instructions.
Casos de uso

Resumen de MCP Servers

<p align="center">
  <img src="Resources/AppIcon-1024.png" width="128" height="128" alt="">
</p>
<h1 align="center">EK Bridge</h1>
<p align="center"><b>Give AI agents your calendar. Not all of it.</b><br>
A free, open-source Mac menu bar app that lets Claude, ChatGPT, Cursor and your scripts use only the calendars and reminder lists you choose, and asks you before they change anything.</p>

<p align="center">
  <a href="https://github.com/bereciartua/ek-bridge/releases/latest"><img alt="Latest release" src="https://img.shields.io/github/v/release/bereciartua/ek-bridge?label=release"></a>
  <img alt="macOS 14 or later" src="https://img.shields.io/badge/macOS-14%2B-black">
  <img alt="Notarized with a Developer ID" src="https://img.shields.io/badge/notarized-Developer%20ID-success">
  <a href="LICENSE"><img alt="License: Apache-2.0" src="https://img.shields.io/github/license/bereciartua/ek-bridge"></a>
  <a href="https://registry.modelcontextprotocol.io/v0/servers?search=ek-bridge"><img alt="Listed in the MCP Registry as io.github.bereciartua/ek-bridge" src="https://img.shields.io/badge/MCP%20Registry-listed-blue"></a>
  <a href="https://mcpservers.org/servers/bereciartua/ek-bridge"><img alt="Listed on mcpservers.org" src="https://mcpservers.org/badge.svg"></a>
</p>

<p align="center">
  <a href="https://github.com/bereciartua/ek-bridge/releases/latest/download/EKBridge.dmg"><b>Download for Mac</b></a> ·
  <a href="#get-started">Get started</a> ·
  <a href="docs/MCP.md">Agent setups</a> ·
  <a href="CHANGELOG.md">Changelog</a>
</p>

<p align="center">
<picture>
  <source media="(prefers-color-scheme: dark)" srcset="docs/images/overview-dark.png">
  <img alt="EK Bridge Overview: the bridge is on, Calendars and Reminders have Full Access, and three clients are listed with their access and last request." src="docs/images/overview-light.png" width="720">
</picture>
</p>

- **Choose what each agent can touch.** Pick the calendars and reminder lists each agent may use, and whether it may read, create, edit, delete or complete. A new agent starts with nothing.
- **Approve every change.** A panel shows exactly what an agent wants to write. Nothing changes until you click Allow.
- **See everything, switch it off in one click.** Activity explains every request. Pause or revoke an agent, or turn the whole bridge off from the menu bar.

**Works with** Claude Code, Claude Desktop, Codex and Cursor ([tested live](docs/TESTING.md#live-mcp-matrix)), and any other MCP client, with ready-made setups for VS Code (Copilot), Gemini CLI, Zed, Cline, JetBrains AI Assistant and Devin Desktop. claude.ai and ChatGPT can connect through [Remote Access](#from-cloud-agents-experimental), which is experimental.

## What you can ask

Once an agent is connected, ask in plain words. It can act only inside the calendars and lists you gave it.

| You ask | The agent uses |
| --- | --- |
| "What's on my Work calendar this week, and where are my free hours?" | `read_events` |
| "Move Thursday's design review to Friday at 3, same length." | `read_events`, then `update_event` (which asks you first) |
| "Remind me to renew my passport next Monday at 9." | `create_reminder` in the list you granted |
| "Block 9:30–10:30 every weekday for focus time." | `create_event` with a repeat rule |

Twelve tools cover events and reminders, with every field Calendar supports: time zones, repeats, alerts, locations, notes and links. Each agent sees only the tools its access allows. The [MCP guide](docs/MCP.md#tools) has the full reference.

## Get started

1. **Install.** Download [`EKBridge.dmg`](https://github.com/bereciartua/ek-bridge/releases/latest/download/EKBridge.dmg), open it and drag EK Bridge to **Applications**. If you open it from the disk image or Downloads instead, it offers to move itself there. Or use [Homebrew](https://brew.sh):

   ```sh
   brew install --cask bereciartua/tap/ek-bridge
   ```

2. **Open the app.** It opens on a short setup checklist; later, you'll find it in the menu bar. First, allow Calendar and/or Reminders access; you need only the one your agent uses.
3. **Add your agent.** Click **New Client…**, name it after the agent and choose **Connects from ▸ AI agent (MCP)**. Then tick the calendars and lists it may use, and **Save**. Grant Read only where the agent needs it: what it reads goes to its AI provider.
4. **Turn on the bridge and the MCP server** from the checklist.
5. **Copy the setup.** On the client's **Connect** tab, pick your agent and copy the command or config into it. The status changes to **Connected** when the agent's first request arrives.

<picture>
  <source media="(prefers-color-scheme: dark)" srcset="docs/images/connect-agent-dark.png">
  <img alt="Connect ▸ AI agent on a client page: Claude Code is selected with the recommended direct HTTP method, a claude mcp add-json command to copy, a Connected status, a hidden token with Reset, and the server URL." src="docs/images/connect-agent-light.png" width="720">
</picture>

That's it: ask your agent one of the questions above. Setups for every agent and troubleshooting are in the [MCP guide](docs/MCP.md).

EK Bridge needs **macOS 14 or later**, on Apple silicon or Intel. It's notarized by Apple and keeps itself up to date (you click to install each update). Release notes and checksums are on [Releases](https://github.com/bereciartua/ek-bridge/releases/latest). Upgrading from EventKit Bridge, its earlier name? See [Setup](docs/SETUP.md#upgrading-from-eventkit-bridge-070-or-earlier). EK Bridge is a personal project in **public preview**, with best-effort support.

## How you stay in control

EK Bridge is the only app that holds your Calendar and Reminders permission. Your agents talk to it, never to your calendars directly, and it checks every request against what you allowed.

### Each agent gets only what you tick

Every agent has its own key and its own access: Read, Create, Edit and Delete for each calendar, plus Complete for each reminder list. Share Work, keep Family to yourself.

<picture>
  <source media="(prefers-color-scheme: dark)" srcset="docs/images/access-dark.png">
  <img alt="A client's Access table: Work has Read, Create and Edit; Home has Read; Family and a Google team calendar have nothing; Birthdays and US Holidays are read-only calendars. Changes are set to Ask me first." src="docs/images/access-light.png" width="640">
</picture>

### You approve each change

By default, before an agent writes anything, a small panel shows every field it wants to set. Click **Allow** or **Deny**, or let one agent work for 15 minutes. A request you don't answer is refused after 45 seconds. For a script you trust, you can turn asking off.

<picture>
  <source media="(prefers-color-scheme: dark)" srcset="docs/images/approval-panel-dark.png">
  <img alt="The Ask before changes panel: Claude Code wants to add a weekly event to Work in Europe/Madrid, with rows for when, repeats, where with a map pin, notes, the link with its host in bold, alerts and show as, Deny and Allow buttons, a 45-second countdown and a checkbox to allow changes for 15 minutes." src="docs/images/approval-panel-light.png" width="400">
</picture>

### You can see everything, and stop anything

**Activity** lists every request and explains its result in plain words, including the ones that were refused. **Pause** an agent to refuse its requests while keeping its setup, **Revoke** it to cut it off for good, or turn the whole bridge off from the menu bar.

### Under the hood

- **Local by default.** Everything is off until you turn it on. The MCP server listens only on `127.0.0.1`. No account, no analytics, no server of ours.
- **A key per agent.** Each agent has its own 256-bit token, stored only as a hash; scripts sign their requests with their own Ed25519 key.
- **Safe writes.** Edits and deletes need the latest version of an item. Every written field is read back, and a mismatch is rolled back.
- **Cloud only through your tunnel.** A cloud agent can reach the bridge only through Remote Access and a tunnel you run, for agents you allowed, and never while your Mac is asleep, offline or logged out.
- **Signed updates.** Updates come from GitHub, signed by the developer and checked before they install.
- **Open source.** Read the code, the [threat model](docs/ARCHITECTURE.md) and the [test record](docs/TESTING.md).

**What it doesn't protect against:** another program running as your macOS user can read the same key files. Access settings separate the agents you connect; they aren't a defense against malware already on your Mac. Details are in [Security boundary](#security-boundary).

## FAQ

<details>
<summary><b>Is it free?</b></summary>

Yes. EK Bridge is open source under the Apache License 2.0, with no account or trial.
</details>

<details>
<summary><b>Does my calendar data leave my Mac?</b></summary>

EK Bridge itself sends nothing anywhere; [Privacy](#privacy) lists every connection it makes. What an agent reads through it goes to that agent and its AI provider, under their terms, so grant Read only where the agent needs it.
</details>

<details>
<summary><b>Does it always ask before a change?</b></summary>

For AI agents, yes by default. You can turn asking off per client, for example for a script you trust, or allow one agent's changes for 15 minutes at a time. See [Ask before changes](docs/MCP.md#ask-before-changes).
</details>

<details>
<summary><b>Which calendars work?</b></summary>

The accounts that appear in the Calendar and Reminders apps, such as iCloud, Google, Exchange, CalDAV and On My Mac. The live tests so far ran on iCloud; see [Testing](docs/TESTING.md).
</details>

<details>
<summary><b>Can I use it with ChatGPT or claude.ai?</b></summary>

Yes, through Remote Access, which forwards cloud agents to your Mac through a tunnel you run, such as Tailscale Funnel. It's off by default and experimental, and your Mac has to be awake and online. See [From cloud agents](#from-cloud-a
ai-agentscalendareventkitmacosmcpmcp-servermenu-bar-appmodel-context-protocolremindersswiftswiftui

Lo que la gente pregunta sobre ek-bridge

¿Qué es bereciartua/ek-bridge?

+

bereciartua/ek-bridge es mcp servers para el ecosistema de Claude AI. Scoped Calendar and Reminders access for scripts and AI agents on your Mac: a menu bar app with an MCP server, per-client grants and approvals. Tiene 2 estrellas en GitHub y su última actualización registrada es del 2026-10-09.

¿Cómo se instala ek-bridge?

+

Puedes instalar ek-bridge clonando el repositorio (https://github.com/bereciartua/ek-bridge) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar bereciartua/ek-bridge?

+

Nuestro agente de seguridad ha analizado bereciartua/ek-bridge y le ha asignado un Trust Score de 95/100 (tier: Verified). Revisa el desglose completo de comprobaciones superadas y flags en esta página.

¿Quién mantiene bereciartua/ek-bridge?

+

bereciartua/ek-bridge es mantenido por bereciartua. La última actividad registrada en GitHub es del 2026-10-09, con 1 issues abiertos.

¿Hay alternativas a ek-bridge?

+

Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.

Despliega ek-bridge en tu cloud

Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.

¿Mantienes este repo? Añade un badge a tu README

Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.

Featured on ClaudeWave: bereciartua/ek-bridge
[![Featured on ClaudeWave](https://claudewave.com/api/badge/bereciartua-ek-bridge)](https://claudewave.com/repo/bereciartua-ek-bridge)
<a href="https://claudewave.com/repo/bereciartua-ek-bridge"><img src="https://claudewave.com/api/badge/bereciartua-ek-bridge" alt="Featured on ClaudeWave: bereciartua/ek-bridge" width="320" height="64" /></a>

Más MCP Servers

Alternativas a ek-bridge