# AllMyMeetings — Full Agent Context

> AllMyMeetings keeps Google Calendar, Microsoft Outlook / Microsoft 365, and Apple iCloud calendars in sync, so time booked in one calendar shows as busy in the others. Built by Wolfgang Solutions, LLC (United States). This file is generated from the running application, so the tool and resource lists below match what the MCP server exposes.

## Product overview

- **Website**: https://allmymeetings.com
- **Support**: conrad@allmymeetings.com
- **Sync timing**: Google Calendar and Outlook push change notifications (webhooks), and every Google/Microsoft calendar is also checked at least hourly. iCloud has no change notifications, so iCloud calendars are checked every five minutes. ICS feeds are read-only and checked on a schedule.
- **Privacy modes**: each sync copies full details, only a "Busy" block (Free/Busy), or a private Busy block. Attendees are never copied, so synced copies never send invitations.

## Pricing

- **Starter (free)**: $0 — 2 calendar accounts, 1 one-way sync in Free/Busy mode, 1 scheduling page
- **Pro**: $5/month, or $50/year billed annually — 4 calendar accounts, 6 syncs, bidirectional sync, all privacy modes, 3 scheduling pages
- **Business**: $15/month, or $150/year billed annually — unlimited calendar accounts, syncs, and scheduling pages, and 10x higher AI assistant (MCP) limits
- Pro is free for 14 days, with no card, starting when the user connects their first calendar. Afterwards the account stays on Starter unless the user picks a plan.

---

## Calendar MCP server

- **Endpoint**: `POST https://allmymeetings.com/mcp/calendar` (Streamable HTTP, JSON-RPC)
- **OAuth 2.1** (Claude, ChatGPT and other connector-style clients): add `https://allmymeetings.com/mcp/calendar` as a custom connector. The client reads the `WWW-Authenticate` header on the 401, fetches `https://allmymeetings.com/.well-known/oauth-protected-resource/mcp/calendar`, registers itself (dynamic client registration), and the user signs in and approves. Scope: `mcp:use` (read and write).
- **Personal access token** (any client that can send headers): the user creates one at https://allmymeetings.com/settings/api, read-only or read-write, expiring after 30, 90 or 365 days, and you send `Authorization: Bearer <token>`.
- Every plan, including Starter, can use the MCP server. Plan limits still apply to what you create (accounts, syncs, scheduling pages).

### Tools (21)

Tools marked **write** change data and are hidden from read-only tokens. `create-scheduling-link-tool` also needs a paid plan.

| Tool | Access | Description |
|------|--------|-------------|
| `get-account-tool` | read | Retrieve current account details, plan, and usage limits. |
| `upgrade-plan-tool` | write | Upgrade the account to a paid plan. Returns a Stripe checkout URL for the user to complete payment. |
| `get-plan-status-tool` | read | Poll the current plan and payment status for the account. Use after upgrade-plan-tool to confirm payment completed. |
| `initiate-calendar-connection-tool` | write | Start the OAuth flow for connecting a calendar provider. Returns an authorization URL the user must open in their browser to complete the connection. Poll get-calendar-connection-status-tool with the returned connection_id to check when the connection is complete. |
| `get-calendar-connection-status-tool` | read | Poll the status of a pending calendar connection initiated by initiate-calendar-connection-tool. Returns the connection status and calendar account details once connected. |
| `disconnect-calendar-tool` | write | Disconnect a calendar account and remove all associated sync pairs. |
| `create-sync-pair-tool` | write | Create a sync pair between two calendars. Use list-calendars-tool first to get calendar IDs. Direction can be one_way (source to destination) or bidirectional (two-way sync). Sync mode controls privacy: full_details copies everything, free_busy shows only busy blocks. |
| `list-sync-pairs-tool` | read | List all configured sync pairs for the authenticated user, including source/destination calendars, direction, mode, and last sync time. |
| `update-sync-pair-tool` | write | Update an existing sync pair. Can change direction, sync mode, label, or pause/resume the sync. |
| `delete-sync-pair-tool` | write | Delete a sync pair. Optionally removes all previously synced events from the destination calendar. |
| `get-availability-tool` | read | Check free/busy status across all connected calendars for a time range. Returns busy blocks and free slots. Use this to check if someone is available before scheduling. |
| `list-events-tool` | read | List events across all connected calendars within a time range. Returns a unified view of events from all calendar sources. Can optionally filter by provider. |
| `create-event-tool` | write | Create a new calendar event on a specific calendar. AllMyMeetings handles propagation to synced calendars automatically. Use list-calendars-tool first to get the target calendar ID. |
| `update-event-tool` | write | Update an existing calendar event. Only the fields provided will be changed. Changes will be propagated to synced calendars automatically. |
| `delete-event-tool` | write | Delete an event from a calendar. Can delete from a specific calendar or from all synced calendars. |
| `check-conflicts-tool` | read | Check for scheduling conflicts across all connected calendars for a proposed time block. Use before creating events to ensure no overlaps. |
| `create-scheduling-link-tool` | write | Create a scheduling page link (like Calendly) that others can use to book time on your calendar. Returns a public URL for sharing. |
| `get-sync-status-tool` | read | Check the health and status of all connected calendar accounts and sync pairs. Each account has a health of healthy, pending (first sync not done), stale (no successful sync for hours), failing (repeated sync errors) or disconnected (needs reconnecting); overall_status is "warning" only when an account is stale, failing or disconnected. last_synced_at is the last completed sync: Google and Microsoft calendars sync on change notifications plus at least hourly. An access token past its expiry is renewed automatically and is not an issue. |
| `list-calendars-tool` | read | List all calendars connected to the user account across all providers. Returns calendar IDs needed for creating sync pairs and events. |
| `force-sync-calendar-tool` | write | Force a full sync for a specific calendar, clearing the sync token so all events are re-fetched from the provider. Use this when events appear stale, deleted events still show, or the calendar is out of sync. Has a 5-minute cooldown between calls for the same calendar. |
| `set-calendar-enabled-tool` | write | Enable or disable syncing for a single calendar. Enabling a previously disabled calendar queues an initial sync and registers a webhook with the provider so future changes flow through automatically. Use the list-calendars tool first to find the calendar ID. |

### Resources (4)

| URI | Description |
|-----|-------------|
| `amm://events/today` | Today's events across all connected calendars. |
| `amm://events/week` | This week's events across all connected calendars. |
| `amm://availability/today` | Today's free/busy availability blocks across all connected calendars. |
| `amm://sync/status` | Current sync health status for all connected calendars and sync pairs. |

### Example

```
POST https://allmymeetings.com/mcp/calendar
Authorization: Bearer <access token>
Content-Type: application/json

{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}
```

## Signup MCP server (no authentication)

- **Endpoint**: `POST https://allmymeetings.com/mcp/signup`
- Lets an agent start an account for the user it is helping. The user confirms by email; no token is returned. Rate limited.

| Tool | Description |
|------|-------------|
| `create-account-tool` | Start creating an AllMyMeetings account for the user you are helping. Creates a pending account and emails that address a link to confirm ownership and finish setup. It does NOT return an API token — the user confirms via email, then connects the calendar MCP server by signing in with OAuth or with a personal access token from /settings/api. Use this only for the person prompting you, with an email address they control. |

---

## Discovery endpoints

- MCP server card: https://allmymeetings.com/.well-known/mcp/server-card.json
- API catalog (RFC 9727): https://allmymeetings.com/.well-known/api-catalog
- OAuth protected resource metadata (RFC 9728): https://allmymeetings.com/.well-known/oauth-protected-resource/mcp/calendar
- OAuth authorization server metadata (RFC 8414): https://allmymeetings.com/.well-known/oauth-authorization-server
- Agent skills index: https://allmymeetings.com/.well-known/agent-skills/index.json
- OpenAPI 3.1: https://allmymeetings.com/openapi.json
- Short summary: https://allmymeetings.com/llms.txt

## Pages

| Page | URL |
|------|-----|
| Homepage | https://allmymeetings.com |
| Pricing | https://allmymeetings.com/pricing |
| Features | https://allmymeetings.com/features |
| MCP setup guide | https://allmymeetings.com/mcp |
| For AI assistant users | https://allmymeetings.com/for/ai-users |
| Developers | https://allmymeetings.com/developers |
| Security & data | https://allmymeetings.com/security |
| About | https://allmymeetings.com/about |
| Changelog | https://allmymeetings.com/changelog |
| Compare | https://allmymeetings.com/compare |
| Sign up | https://allmymeetings.com/register |

## Articles

- [How to Keep a Team's Calendars in Sync Across Google and Microsoft 365](https://allmymeetings.com/blog/how-to-sync-team-calendars-google-workspace-microsoft-365)
- [How to Sync iCloud Calendar with Outlook (2026 Guide)](https://allmymeetings.com/blog/how-to-sync-icloud-calendar-with-outlook)
- [AI Calendar Assistants Need Better Google and Outlook Sync](https://allmymeetings.com/blog/ai-calendar-assistants-google-outlook-sync)
- [How to Share Your Availability Without Sharing Your Full Calendar](https://allmymeetings.com/blog/share-availability-without-sharing-calendar)
- [AllMyMeetings Launches Its Calendar MCP Server](https://allmymeetings.com/blog/allmymeetings-mcp-server)
- [How to Set Up Calendar Sync with Claude (MCP Walkthrough)](https://allmymeetings.com/blog/sync-calendars-with-mcp)
- [Best Calendar Sync Apps in 2026: Complete Comparison](https://allmymeetings.com/blog/best-calendar-sync-apps-2026)
- [How to Sync Google Calendar with Outlook (2026 Guide)](https://allmymeetings.com/blog/how-to-sync-google-calendar-with-outlook)
- [How to Sync iCloud Calendar with Google Calendar (2026 Guide)](https://allmymeetings.com/blog/how-to-sync-icloud-with-google-calendar)
- [How to Stop Double-Booking Across Multiple Calendars](https://allmymeetings.com/blog/stop-double-booking-across-calendars)
- [Best CalendarBridge Alternatives in 2026](https://allmymeetings.com/compare/calendarbridge-alternatives)
- [OneCal vs AllMyMeetings: Which Calendar Sync Tool Is Right for You?](https://allmymeetings.com/compare/oncal-vs-allmymeetings)
- [Calendar Sync for Consultants & Freelancers](https://allmymeetings.com/for/consultants-and-freelancers)
- [Calendar Sync for Remote Teams](https://allmymeetings.com/for/remote-teams)

## Legal

- Privacy Policy: https://allmymeetings.com/privacy
- Terms of Service: https://allmymeetings.com/terms
- Cookies: https://allmymeetings.com/cookies
- CCPA: https://allmymeetings.com/ccpa
- DPA: https://allmymeetings.com/dpa
- Acceptable Use: https://allmymeetings.com/acceptable-use
