name = "google-calendar"
main = "src/worker.ts"
compatibility_date = "2025-06-18"
workers_dev = true
compatibility_flags = ["nodejs_compat"]
[vars]
# MCP protocol
MCP_PROTOCOL_VERSION = "2025-06-18"
MCP_TITLE = "Google Calendar"
MCP_VERSION = "1.0.0"
# Auth configuration
AUTH_ENABLED = "true"
AUTH_STRATEGY = "oauth"
AUTH_REQUIRE_RS = "false"
AUTH_ALLOW_DIRECT_BEARER = "false"
# Google OAuth provider
PROVIDER_ACCOUNTS_URL = "https://accounts.google.com"
OAUTH_AUTHORIZATION_URL = "https://accounts.google.com/o/oauth2/v2/auth"
OAUTH_TOKEN_URL = "https://oauth2.googleapis.com/token"
OAUTH_REVOCATION_URL = "https://oauth2.googleapis.com/revoke"
# Google Calendar scopes
OAUTH_SCOPES = "https://www.googleapis.com/auth/calendar.events https://www.googleapis.com/auth/calendar.readonly"
# Extra params for Google (offline access to get refresh token)
OAUTH_EXTRA_AUTH_PARAMS = "access_type=offline&prompt=consent"
# Redirect configuration
# Update these to match your Workers deployment URL
OAUTH_REDIRECT_ALLOW_ALL = "true"
OAUTH_REDIRECT_ALLOWLIST = "alice://oauth/callback,https://claude.ai/api/mcp/auth_callback,https://claude.com/api/mcp/auth_callback,http://localhost:*/oauth/callback,http://127.0.0.1:*/oauth/callback"
OAUTH_REDIRECT_URI = "alice://oauth/callback"
# Environment
NODE_ENV = "production"
# DO NOT store secrets in [vars]; set via `wrangler secret put`
#
# Required secrets:
# wrangler secret put PROVIDER_CLIENT_ID
# wrangler secret put PROVIDER_CLIENT_SECRET
#
# Required for KV encryption (HIGHLY RECOMMENDED):
# # Generate a 32-byte base64url key:
# openssl rand -base64 32 | tr -d '=' | tr '+/' '-_'
# wrangler secret put TOKENS_ENC_KEY
#
# Without TOKENS_ENC_KEY, provider tokens are stored unencrypted in KV!
[[kv_namespaces]]
binding = "TOKENS"
# Create with: wrangler kv:namespace create TOKENS
# Replace with your KV namespace ID:
id = "YOUR_KV_NAMESPACE_ID"
# Preview KV namespace (for wrangler dev)
# [[kv_namespaces]]
# binding = "TOKENS"
# preview_id = "YOUR_PREVIEW_KV_NAMESPACE_ID"