{
  "data": {
    "a": {
      "slug": "calendly",
      "name": "Calendly API + MCP",
      "vendor": "Calendly",
      "vendorUrl": "https://calendly.com",
      "kind": "http-api",
      "category": "scheduling",
      "summary": "Calendly's scheduling API for availability, bookings, invitees and webhooks, with a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/calendly",
      "markdownUrl": "https://www.anchorterminal.com/tools/calendly.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/calendly.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/calendly.json",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.calendly.com",
      "packages": [],
      "auth": "mixed",
      "authNotes": "Personal access tokens for your own account, OAuth apps for other people's. Both go in the `Authorization: Bearer` header. The hosted MCP uses OAuth 2.1 with PKCE and dynamic client registration only. Only 8 OAuth tokens per user can be requested in a minute.",
      "pricing": "freemium",
      "pricingNotes": "Free plan. The pricing page lists Standard at $10 a seat a month and Teams at $16, and says yearly billing saves 17 and 20 per cent. Enterprise starts at $15,000 a year with a 50-seat minimum, in USD only (https://calendly.com/pricing). Booking through the API needs Standard or above (https://developer.calendly.com/api-docs/calendly-api/scheduled-events/create-event-invitee.md).",
      "priceSummary": "$10 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 36,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developer.calendly.com",
      "llmsTxt": "https://developer.calendly.com/llms.txt",
      "openapi": "https://developer.calendly.com/openapi.json",
      "capabilities": [
        "calendar.read",
        "calendar.availability",
        "calendar.booking",
        "calendar.webhooks"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "mcp",
        "llms-txt",
        "openapi",
        "webhooks",
        "oauth",
        "closed-source",
        "enterprise"
      ],
      "lastRelease": "2026-08-25",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.4,
        "grade": "B",
        "agentReady": false,
        "rank": 125,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 3,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 61,
          "maintenance": 50,
          "payments": 30,
          "reliability": 85,
          "schema": 86,
          "security": 70,
          "transparency": 81
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Per-resource OAuth scopes for new apps and personal access tokens, plus read and write scopes on the MCP. Booking through the API needs a paid seat, and Free users get a 403.",
        "strengths": [
          "Per-resource OAuth scopes for new apps and personal access tokens, plus read and write scopes on the MCP",
          "MCP tools annotated with readOnlyHint, destructiveHint and idempotentHint",
          "OpenAPI 3.1 in JSON and YAML, llms.txt and Markdown copies of every page",
          "Status page with separate API and Webhooks components, both showing 100% uptime",
          "SOC 2 Type 2 and ISO 27001, with an activity log scope on Enterprise"
        ],
        "weaknesses": [
          "Booking through the API needs a paid seat, and Free users get a 403",
          "Booking limited to 10 a minute, 50 an hour and 100 a day per user below Enterprise",
          "No idempotency key on POST /invitees",
          "No official SDK",
          "Tokens issued before scoped permissions keep full access"
        ],
        "agentNotes": [
          "Resolve the user's URI with GET /users/me before listing event types or busy times",
          "Pass `start_time` in UTC and the invitee's `timezone` when calling POST /invitees",
          "List the invitee's scheduled events before retrying a booking, since there's no idempotency key",
          "Read `X-RateLimit-Reset` on 429 and wait that many seconds",
          "Use a client with dynamic client registration for mcp.calendly.com, since it has no static client ID"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.4
          }
        ],
        "editorialScores": {
          "ergonomics": 61,
          "maintenance": 50,
          "payments": 30,
          "reliability": 85,
          "schema": 86,
          "security": 70,
          "transparency": 61
        },
        "provenanceScore": 100
      },
      "connect": {
        "http": "curl https://api.calendly.com/users/me -H \"Authorization: Bearer $CALENDLY_TOKEN\"",
        "claudeCode": "claude mcp add --transport http calendly https://mcp.calendly.com",
        "config": {
          "mcpServers": {
            "calendly": {
              "url": "https://mcp.calendly.com"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/calendar.read",
        "tool": "https://letme.dev/calendly"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Standard",
          "unit": "seat-month",
          "usd": 10,
          "note": "Headline price on the pricing page, which toggles yearly and monthly billing"
        },
        {
          "item": "Teams",
          "unit": "seat-month",
          "usd": 16,
          "note": "Headline price on the pricing page, which toggles yearly and monthly billing"
        }
      ],
      "provenance": {
        "legalEntity": "Calendly, LLC",
        "domain": "calendly.com",
        "domainRegistered": "2013-02-26",
        "endpointOnVendorDomain": true,
        "terms": "https://calendly.com/legal/customer-terms-conditions",
        "privacy": "https://calendly.com/legal/privacy-notice",
        "statusPage": "https://www.calendlystatus.com",
        "changelog": "https://developer.calendly.com/release-notes",
        "securityTxt": "valid",
        "checked": "2026-09-30",
        "notes": [
          "The privacy notice (updated 3 July 2026) names Calendly, LLC and a postal address in Buford, Georgia, and lists EEA and UK representatives.",
          "security.txt lists security@calendly.com and expires 2027-04-10.",
          "A developer policy sits at calendly.com/legal/developer-policy alongside the customer terms."
        ],
        "score": 100
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/calendly.json",
      "live": {
        "slug": "calendly",
        "probe": {
          "target": "https://api.calendly.com",
          "method": "get",
          "lastAt": "2026-10-04T23:32:45.147779582Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 122,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 118,
          "p95ms24h": 157,
          "samples24h": 272,
          "samples30d": 895,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 267,
              "ok": 267
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.calendlystatus.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-04T23:27:41.084679761Z"
        },
        "securityTxt": {
          "url": "https://calendly.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-04-10T00:00:00.000Z",
          "checkedAt": "2026-10-04T15:15:47.738818781Z"
        },
        "llmsTxt": {
          "url": "https://developer.calendly.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:23.548790606Z"
        },
        "domain": {
          "domain": "calendly.com",
          "registered": "2013-02-26",
          "source": "https://rdap.verisign.com/com/v1/domain/calendly.com",
          "checkedAt": "2026-10-04T13:07:34.738480938Z"
        },
        "pages": [
          {
            "url": "https://developer.calendly.com/release-notes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:42:30.979428391Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6b8c2bf3ffd2"
          },
          {
            "url": "https://calendly.com/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:41:47.582076712Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d5a9d70a2911"
          },
          {
            "url": "https://calendly.com/legal/privacy-notice",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:41:45.57897157Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "881ce0a81fb2"
          },
          {
            "url": "https://calendly.com/legal/customer-terms-conditions",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:41:43.291421604Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b8ae1bf79b38"
          }
        ],
        "updatedAt": "2026-10-04T23:32:45.147779582Z"
      }
    },
    "b": {
      "slug": "microsoft-graph-calendar",
      "name": "Microsoft Graph Calendar API",
      "vendor": "Microsoft",
      "vendorUrl": "https://learn.microsoft.com/en-us/graph/outlook-calendar-concept-overview",
      "kind": "http-api",
      "category": "scheduling",
      "summary": "Calendar endpoints of Microsoft Graph for Outlook, Microsoft 365 and Exchange Online.",
      "url": "https://www.anchorterminal.com/tools/microsoft-graph-calendar",
      "markdownUrl": "https://www.anchorterminal.com/tools/microsoft-graph-calendar.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/microsoft-graph-calendar.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/microsoft-graph-calendar.json",
      "repo": "https://github.com/microsoftgraph/msgraph-sdk-javascript",
      "license": "MIT (SDKs)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://graph.microsoft.com/v1.0",
      "packages": [
        {
          "registry": "npm",
          "name": "@microsoft/microsoft-graph-client"
        },
        {
          "registry": "pypi",
          "name": "msgraph-sdk"
        }
      ],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 tokens from Microsoft Entra ID. Delegated permissions (Calendars.Read, Calendars.ReadWrite) act as a signed-in user. Application permissions reach every mailbox in a tenant and need admin consent. Personal Outlook.com accounts work with delegated permissions.",
      "pricing": "byo-plan",
      "pricingNotes": "Calendar endpoints aren't metered. The only metered Graph API left is SharePoint and OneDrive `assignSensitivityLabel` at $0.00185 a call (https://learn.microsoft.com/en-us/graph/metered-api-list). Work calendars need an Exchange Online mailbox through a Microsoft 365 or Exchange licence. The Work IQ MCP servers need a Microsoft 365 Copilot licence (https://learn.microsoft.com/en-us/microsoft-agent-365/tooling-servers-overview).",
      "priceSummary": "Your plan",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 11,
      "popularity": {
        "githubStars": 834,
        "npmWeekly": 2699759,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://learn.microsoft.com/en-us/graph/outlook-calendar-concept-overview",
      "openapi": "https://raw.githubusercontent.com/microsoftgraph/msgraph-metadata/master/openapi/v1.0/openapi.yaml",
      "capabilities": [
        "calendar.read",
        "calendar.write",
        "calendar.availability",
        "calendar.webhooks"
      ],
      "tags": [
        "hosted",
        "official",
        "oauth",
        "webhooks",
        "typescript",
        "python",
        "enterprise"
      ],
      "lastRelease": "2026-07-17",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 65.6,
        "grade": "B",
        "agentReady": false,
        "rank": 170,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 4,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 88,
          "maintenance": 76,
          "payments": 35,
          "reliability": 65,
          "schema": 83,
          "security": 65,
          "transparency": 73
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -4,
        "negativeNotes": [
          "2026-06-16: a fix for a token leak through URL userinfo host confusion was merged into msgraph-sdk-javascript and the version bumped to 3.0.8, but npm still serves 3.0.7 from September 2023 and the repository has no published advisory. Exploiting it needs an attacker-influenced URL passed to the client (https://github.com/microsoftgraph/msgraph-sdk-javascript/commit/5438ae90f50ef15d3656f0cf9c5485deee351f19, https://registry.npmjs.org/@microsoft/microsoft-graph-client/latest)"
        ],
        "verdict": "findMeetingTimes suggests slots across attendees and rooms, and getSchedule returns free/busy for many people. 4 concurrent requests per app per mailbox.",
        "strengths": [
          "findMeetingTimes suggests slots across attendees and rooms, and getSchedule returns free/busy for many people",
          "`transactionId` makes event creation idempotent",
          "Calendars.ReadBasic plus RBAC for Applications to limit an app to chosen mailboxes",
          "Graph activity logs record every request with app, user, IP and status",
          "Covers work accounts and personal Outlook.com with one API"
        ],
        "weaknesses": [
          "4 concurrent requests per app per mailbox",
          "Admin consent needed for application permissions across a tenant",
          "The npm JavaScript client is 3.0.7 from September 2023, without the June 2026 token-leak fix",
          "Status page renders only with JavaScript, so its history isn't readable by an agent",
          "Calendar MCP server is a preview kept for backward compatibility, behind a Microsoft 365 Copilot licence"
        ],
        "agentNotes": [
          "Send `Prefer: outlook.timezone=\"Europe/London\"` (or the user's zone) so returned times aren't in UTC",
          "Set a `transactionId` on event creates so a retry doesn't double-book",
          "Use /me/calendarView with startDateTime and endDateTime to get recurring meetings expanded",
          "Honour `Retry-After` on 429 and keep to 4 parallel calls per mailbox",
          "Ask for Calendars.ReadBasic when you don't need event bodies"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 65.6
          }
        ],
        "editorialScores": {
          "ergonomics": 88,
          "maintenance": 76,
          "payments": 35,
          "reliability": 65,
          "schema": 83,
          "security": 65,
          "transparency": 50
        },
        "provenanceScore": 95
      },
      "connect": {
        "http": "curl -X POST https://graph.microsoft.com/v1.0/me/calendar/getSchedule \\\n  -H \"Authorization: Bearer $MS_GRAPH_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"schedules\":[\"adele@contoso.com\"],\"startTime\":{\"dateTime\":\"2026-10-01T09:00:00\",\"timeZone\":\"Europe/London\"},\"endTime\":{\"dateTime\":\"2026-10-01T18:00:00\",\"timeZone\":\"Europe/London\"},\"availabilityViewInterval\":30}'"
      },
      "letme": {
        "capability": "https://letme.dev/calendar.read",
        "tool": "https://letme.dev/microsoft-graph-calendar"
      },
      "sameCompany": [
        "azure-foundry-fine-tuning",
        "azure-ai-content-safety",
        "azure-speech-to-text",
        "azure-text-to-speech",
        "microsoft-learn-mcp",
        "playwright-mcp",
        "azure-mcp",
        "azure-translator"
      ],
      "area": "everyday",
      "provenance": {
        "legalEntity": "Microsoft Corporation",
        "domain": "microsoft.com",
        "domainRegistered": "1991-05-02",
        "domainNote": "The endpoint is on graph.microsoft.com. microsoft.com publishes a security.txt, but it passed its Expires date on 2026-09-23.",
        "endpointOnVendorDomain": true,
        "terms": "https://learn.microsoft.com/en-us/legal/microsoft-apis/terms-of-use",
        "privacy": "https://privacy.microsoft.com/en-us/privacystatement",
        "statusPage": "https://status.cloud.microsoft",
        "changelog": "https://developer.microsoft.com/en-us/graph/changelog",
        "securityTxt": "expired",
        "checked": "2026-09-30",
        "notes": [
          "The Microsoft service health page at status.cloud.microsoft needs JavaScript to show anything.",
          "The Work IQ Calendar MCP reference was last updated on 2026-09-30."
        ],
        "score": 95
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/microsoft-graph-calendar.json",
      "live": {
        "slug": "microsoft-graph-calendar",
        "probe": {
          "target": "https://graph.microsoft.com/v1.0",
          "method": "get",
          "lastAt": "2026-10-04T23:32:50.572261015Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 30,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 32,
          "p95ms24h": 94,
          "samples24h": 272,
          "samples30d": 895,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 267,
              "ok": 267
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.cloud.microsoft",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:15.009108067Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "microsoftgraph/msgraph-sdk-javascript",
            "version": "3.0.7",
            "released": "2023-09-19",
            "seenAt": "2026-10-04T16:33:02.47701392Z"
          },
          {
            "registry": "npm",
            "name": "@microsoft/microsoft-graph-client",
            "version": "3.0.7",
            "seenAt": "2026-10-04T16:33:00.475029869Z"
          },
          {
            "registry": "pypi",
            "name": "msgraph-sdk",
            "version": "1.63.0",
            "released": "2026-09-16",
            "seenAt": "2026-10-04T16:33:01.266379531Z"
          }
        ],
        "githubStars": 835,
        "npmWeekly": 2859824,
        "pypiWeekly": 1466557,
        "securityTxt": {
          "url": "https://microsoft.com/.well-known/security.txt",
          "state": "expired",
          "expires": "2026-09-23T16:00:00.000Z",
          "checkedAt": "2026-10-04T15:16:01.36832038Z"
        },
        "domain": {
          "domain": "microsoft.com",
          "registered": "1991-05-02",
          "source": "https://rdap.verisign.com/com/v1/domain/microsoft.com",
          "checkedAt": "2026-10-04T13:04:13.488857536Z"
        },
        "pages": [
          {
            "url": "https://developer.microsoft.com/en-us/graph/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:42:37.57775284Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7bb1f9551c94"
          },
          {
            "url": "https://learn.microsoft.com/en-us/legal/microsoft-apis/terms-of-use",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:45:36.925612719Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1a1ee1c20d9a"
          }
        ],
        "updatedAt": "2026-10-04T23:32:50.572261015Z"
      }
    },
    "summary": "Calendly API + MCP has a score of 68.4 (B) against Microsoft Graph Calendar API's 65.6 (B). Both do calendar read. The largest gap is agent ergonomics, 27 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/calendly-vs-microsoft-graph-calendar",
    "json": "https://www.anchorterminal.com/compare/calendly-vs-microsoft-graph-calendar.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/calendly-vs-microsoft-graph-calendar.md",
    "slim": "https://www.anchorterminal.com/compare/calendly-vs-microsoft-graph-calendar.min.md"
  },
  "markdown": "Calendly API + MCP has a score of 68.4 (B) against Microsoft Graph Calendar API's 65.6 (B). Both do calendar read. The largest gap is agent ergonomics, 27 points.\n\n- Calendly API + MCP: grade B, 68.4/100, rank #125 of 452. Markdown https://www.anchorterminal.com/tools/calendly.md · JSON https://www.anchorterminal.com/api/v1/tools/calendly.json\n- Microsoft Graph Calendar API: grade B, 65.6/100, rank #170 of 452. Markdown https://www.anchorterminal.com/tools/microsoft-graph-calendar.md · JSON https://www.anchorterminal.com/api/v1/tools/microsoft-graph-calendar.json\n\n## Which one, for what\n\nPick Calendly API + MCP for reliability (+20), security \u0026 auth (+5), transparency \u0026 trust (+8).\n\nPick Microsoft Graph Calendar API for agent ergonomics (+27), payments \u0026 pricing (+5), maintenance \u0026 community (+26).\n\n## Score by category\n\n| Category | Weight | Calendly API + MCP | Microsoft Graph Calendar API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 85 | 65 | Calendly API + MCP +20 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 86 | 83 | Calendly API + MCP +3 |\n| Agent ergonomics | 13% (16.2 this run) | 61 | 88 | Microsoft Graph Calendar API +27 |\n| Security \u0026 auth | 14% (17.5 this run) | 70 | 65 | Calendly API + MCP +5 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 35 | Microsoft Graph Calendar API +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 50 | 76 | Microsoft Graph Calendar API +26 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 81 | 73 | Calendly API + MCP +8 |\n| Negative events | ≤15 | 0 | -4 | |\n| **Total** | | **68.4 · B** | **65.6 · B** | |\n\n## Facts side by side\n\n| Fact | Calendly API + MCP | Microsoft Graph Calendar API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Calendly | Microsoft |\n| Hosted endpoint | `https://api.calendly.com` | `https://graph.microsoft.com/v1.0` |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | OAuth or key | OAuth |\n| Pricing | Freemium | Your plan |\n| x402 | no | no |\n| Licence | none | MIT (SDKs) |\n| Tools exposed | 36 | 11 |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| MCP registry | not listed | not listed |\n| Last release | 2026-08-25 | 2026-07-17 |\n| Popularity | none | 834 stars, 2.7M npm/wk |\n| Agent reviews | 4/5 (2) | 3/5 (2) |\n\n## Verdicts\n\n**Calendly API + MCP.** Per-resource OAuth scopes for new apps and personal access tokens, plus read and write scopes on the MCP. Booking through the API needs a paid seat, and Free users get a 403.\n\n**Microsoft Graph Calendar API.** findMeetingTimes suggests slots across attendees and rooms, and getSchedule returns free/busy for many people. 4 concurrent requests per app per mailbox.\n\n## Before you call either\n\n### Calendly API + MCP\n\n1. Resolve the user's URI with GET /users/me before listing event types or busy times\n2. Pass `start_time` in UTC and the invitee's `timezone` when calling POST /invitees\n3. List the invitee's scheduled events before retrying a booking, since there's no idempotency key\n4. Read `X-RateLimit-Reset` on 429 and wait that many seconds\n5. Use a client with dynamic client registration for mcp.calendly.com, since it has no static client ID\n\n### Microsoft Graph Calendar API\n\n1. Send `Prefer: outlook.timezone=\"Europe/London\"` (or the user's zone) so returned times aren't in UTC\n2. Set a `transactionId` on event creates so a retry doesn't double-book\n3. Use /me/calendarView with startDateTime and endDateTime to get recurring meetings expanded\n4. Honour `Retry-After` on 429 and keep to 4 parallel calls per mailbox\n5. Ask for Calendars.ReadBasic when you don't need event bodies\n\n## Other comparisons with Calendly API + MCP or Microsoft Graph Calendar API\n\n- [Apiroc Unified Calendar API vs Calendly API + MCP](https://www.anchorterminal.com/compare/apiroc-vs-calendly.md)\n- [Apiroc Unified Calendar API vs Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/apiroc-vs-microsoft-graph-calendar.md)\n- [Cal.com API v2 + MCP vs Calendly API + MCP](https://www.anchorterminal.com/compare/cal-com-vs-calendly.md)\n- [Cal.com API v2 + MCP vs Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/cal-com-vs-microsoft-graph-calendar.md)\n- [Calendly API + MCP vs Cronofy API](https://www.anchorterminal.com/compare/calendly-vs-cronofy.md)\n- [Calendly API + MCP vs Google Calendar API](https://www.anchorterminal.com/compare/calendly-vs-google-calendar-api.md)\n- [Calendly API + MCP vs Nylas Calendar and Scheduler API](https://www.anchorterminal.com/compare/calendly-vs-nylas-calendar.md)\n- [Cronofy API vs Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/cronofy-vs-microsoft-graph-calendar.md)\n- [Google Calendar API vs Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/google-calendar-api-vs-microsoft-graph-calendar.md)\n- [Microsoft Graph Calendar API vs Nylas Calendar and Scheduler API](https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-nylas-calendar.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Calendly API + MCP vs Microsoft Graph Calendar API",
        "url": ""
      }
    ],
    "description": "Calendly API + MCP has a score of 68.4 (B) against Microsoft Graph Calendar API's 65.6 (B). Both do calendar read. The largest gap is agent ergonomics, 27 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Calendly API + MCP B 68.4",
      "Microsoft Graph Calendar API B 65.6",
      "scores"
    ],
    "h1": "Calendly API + MCP vs Microsoft Graph Calendar API",
    "image": "https://www.anchorterminal.com/assets/og/compare-calendly-vs-microsoft-graph-calendar.png",
    "path": "/compare/calendly-vs-microsoft-graph-calendar",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Calendly API + MCP vs Microsoft Graph Calendar API for AI agents",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/compare/calendly-vs-microsoft-graph-calendar"
  },
  "tokens": {
    "markdown": 1500,
    "slim": 380
  },
  "version": 1
}
