Google Advanced Protection blocks most OAuth apps from accessing your calendar. CalendarMCP is the only AI calendar integration with a working solution.
Error 400: policy_enforced Access blocked: This app's request is not allowed for your account. If you think this should work, contact the app developer.
This means Google Advanced Protection is blocking the OAuth flow. No amount of reconfiguring the OAuth app will fix this. You need a different authentication approach.
Google Advanced Protection (GAP) is a high-security program for accounts that face elevated risk of targeted attacks. It is used by journalists, activists, executives, politicians, and others.
When GAP is enabled, Google enforces strict restrictions on which apps can access your data. Third-party OAuth apps are blocked by default. Even apps that have gone through Google's standard verification process are rejected.
Service accounts are a different Google authentication mechanism. Instead of asking you to authorize an app via OAuth, you share your calendar directly with a service account identity.
This sidesteps GAP entirely. GAP can block OAuth app authorization. It cannot block you from sharing your own calendar with another Google identity.
App requests permission via browser redirect. GAP blocks this at the authorization screen. You cannot proceed.
You share your calendar with a specific email address. No OAuth involved. GAP has no mechanism to block calendar sharing.
Instead of clicking "Connect via Google OAuth" on the homepage, click "Using Google Advanced Protection? Set up via service account".
The setup page shows you the CalendarMCP service account email address. It looks like calendarmcp@chromosome-474619.iam.gserviceaccount.com. Copy it.
In Google Calendar:
Back on the setup page, enter your Google Calendar ID (your Google email address). CalendarMCP will verify it can access your calendar. If verification passes, you get an API key.
Use the API key exactly like any other CalendarMCP key:
claude mcp add calendar https://calendarmcp.ai/api/mcp --header "Authorization: Bearer cal_your_api_key"Works with Google Advanced Protection. Takes about 5 minutes.