{
  "data": {
    "a": {
      "slug": "cal-com",
      "name": "Cal.com API v2 + MCP",
      "vendor": "Cal.com",
      "vendorUrl": "https://cal.com",
      "kind": "http-api",
      "category": "scheduling",
      "summary": "Scheduling API behind Cal.com's booking pages.",
      "url": "https://www.anchorterminal.com/tools/cal-com",
      "markdownUrl": "https://www.anchorterminal.com/tools/cal-com.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/cal-com.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/cal-com.json",
      "repo": "https://github.com/calcom/cal-mcp",
      "license": "Proprietary (hosted product since April 2026). The @calcom/cal-mcp package and repository carry no licence",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.cal.com/v2",
      "packages": [
        {
          "registry": "npm",
          "name": "@calcom/cal-mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "Bearer API key from Settings, prefixed `cal_` in test mode and `cal_live_` in live mode, or OAuth for integrations used by other Cal.com users. Most endpoints also want a `cal-api-version` header with a date (2024-09-04 for slots). The hosted MCP at mcp.cal.com signs in with OAuth 2.1. The local server reads `CAL_API_KEY`.",
      "pricing": "freemium",
      "pricingNotes": "Free plan for one user with unlimited event types and calendars. Teams $12 a user a month and Organizations $28 a user a month, both billed yearly (25 per cent off monthly), each with a 14-day trial. Enterprise is custom and annual. Teams adds round-robin, collective event types and routing forms. The Organizations plan adds sub-teams, SAML SSO, SCIM, domain-wide delegation and more APIs (https://cal.com/pricing). The separate Platform product has been closed to new sign-ups since 15 December 2025 (https://cal.com/docs/api-reference/v2/introduction).",
      "priceSummary": "$12 / seat-mo",
      "where": "both",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 63,
      "popularity": {
        "githubStars": 30,
        "npmWeekly": 786,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://cal.com/docs/api-reference/v2/introduction",
      "llmsTxt": "https://cal.com/docs/llms.txt",
      "openapi": "https://cal.com/docs/api-reference/v2/openapi.json",
      "capabilities": [
        "calendar.read",
        "calendar.availability",
        "calendar.booking",
        "calendar.webhooks"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "mcp",
        "llms-txt",
        "openapi",
        "webhooks",
        "typescript",
        "closed-source",
        "enterprise"
      ],
      "lastRelease": "2026-09-15",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 57.5,
        "grade": "C",
        "agentReady": false,
        "rank": 292,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 6,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 50,
          "maintenance": 50,
          "payments": 30,
          "reliability": 60,
          "schema": 76,
          "security": 56,
          "transparency": 81
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "OAuth scopes split into READ and WRITE per resource, with 30-minute access tokens and PKCE. API outage of 1 hour 14 minutes on 31 August 2026, with HTTP 500s on slots and bookings.",
        "strengths": [
          "OAuth scopes split into READ and WRITE per resource, with 30-minute access tokens and PKCE",
          "Hosted MCP with 63 tools and a `toolsets` parameter to load only the groups needed",
          "OpenAPI 3.0 spec, llms.txt and Markdown reference pages",
          "Cursor pagination and filters on bookings by status, attendee, event type and time",
          "ISO 27001, SOC 2 Type II and a Bugcrowd disclosure programme"
        ],
        "weaknesses": [
          "API outage of 1 hour 14 minutes on 31 August 2026, with HTTP 500s on slots and bookings",
          "120 requests a minute by default and no documented 429 or retry behaviour",
          "Closed source since April 2026, and the npm MCP package hasn't changed since May 2025",
          "No idempotency key on booking creation",
          "Plain API keys can't be scoped"
        ],
        "agentNotes": [
          "Send `cal-api-version: 2026-05-01` on bookings and `2024-09-04` on slots, since each endpoint pins its own version",
          "Append `?toolsets=bookings,availability` to the hosted MCP URL to skip the other 50-odd tools",
          "Page bookings with `pagination.nextCursor`, not offsets",
          "Check for an existing booking before retrying a create, since there's no idempotency key",
          "Use `cal_` test keys while building so bookings don't reach real calendars"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 57.5
          }
        ],
        "editorialScores": {
          "ergonomics": 50,
          "maintenance": 50,
          "payments": 30,
          "reliability": 60,
          "schema": 76,
          "security": 56,
          "transparency": 61
        },
        "provenanceScore": 100
      },
      "connect": {
        "http": "curl \"https://api.cal.com/v2/slots?eventTypeId=123\u0026start=2026-10-01\u0026end=2026-10-02\u0026timeZone=Europe/London\" \\\n  -H \"Authorization: Bearer $CAL_API_KEY\" \\\n  -H \"cal-api-version: 2024-09-04\"",
        "claudeCode": "claude mcp add --transport http calcom https://mcp.cal.com/mcp",
        "config": {
          "mcpServers": {
            "calcom": {
              "args": [
                "@calcom/cal-mcp@latest"
              ],
              "command": "npx",
              "env": {
                "CAL_API_KEY": "${CAL_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/calendar.read",
        "tool": "https://letme.dev/cal-com"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Teams",
          "unit": "seat-month",
          "usd": 12,
          "note": "Billed yearly"
        },
        {
          "item": "Organizations plan",
          "unit": "seat-month",
          "usd": 28,
          "note": "Billed yearly"
        }
      ],
      "provenance": {
        "legalEntity": "Cal.com, Inc.",
        "domain": "cal.com",
        "domainRegistered": "1997-05-16",
        "domainNote": "cal.com was registered in 1997, long before Cal.com launched, so the domain was bought later.",
        "endpointOnVendorDomain": true,
        "terms": "https://cal.com/terms",
        "privacy": "https://cal.com/privacy",
        "statusPage": "https://status.cal.com",
        "changelog": "https://cal.com/blog",
        "securityTxt": "valid",
        "checked": "2026-09-30",
        "notes": [
          "The privacy policy (effective 20 August 2026) gives a San Francisco address. The terms carry an effective date of 2021-04-14 and name the laws of the United Kingdom.",
          "security.txt expires 2030-06-01 and lists GitHub security advisories on calcom/cal.com as the contact, a repository that now hosts the Cal.diy fork.",
          "Release notes are blog posts titled Changelog, the latest v6.9 on 2026-09-15. cal.com/changelog is a user's booking page, not a changelog."
        ],
        "score": 100
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/cal-com.json",
      "live": {
        "slug": "cal-com",
        "probe": {
          "target": "https://api.cal.com/v2",
          "method": "get",
          "lastAt": "2026-10-04T23:32:45.114435676Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 340,
          "authRequired": false,
          "uptime24h": 99.63,
          "uptime30d": 99.78,
          "p50ms24h": 171,
          "p95ms24h": 471,
          "samples24h": 272,
          "samples30d": 895,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 108
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 267,
              "ok": 266
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.cal.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:39:52.522007548Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@calcom/cal-mcp",
            "version": "0.0.6",
            "seenAt": "2026-10-04T16:23:04.926115513Z"
          }
        ],
        "githubStars": 30,
        "npmWeekly": 842,
        "securityTxt": {
          "url": "https://cal.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2030-06-01T00:00:00.000Z",
          "checkedAt": "2026-10-04T15:15:57.566384637Z"
        },
        "llmsTxt": {
          "url": "https://cal.com/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:22.775927876Z"
        },
        "domain": {
          "domain": "cal.com",
          "registered": "1997-05-16",
          "source": "https://rdap.verisign.com/com/v1/domain/cal.com",
          "checkedAt": "2026-10-04T13:04:17.498740317Z"
        },
        "pages": [
          {
            "url": "https://cal.com/blog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:41:42.239603755Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "0cae70614a2b"
          },
          {
            "url": "https://cal.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:41:44.469306726Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d5bfa59d374c"
          },
          {
            "url": "https://cal.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:41:46.462750529Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e1740e3fca2d"
          },
          {
            "url": "https://cal.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:41:48.371581449Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "441bf02fe62c"
          }
        ],
        "updatedAt": "2026-10-04T23:32:45.114435676Z"
      }
    },
    "b": {
      "slug": "nylas-calendar",
      "name": "Nylas Calendar and Scheduler API",
      "vendor": "Nylas",
      "vendorUrl": "https://www.nylas.com",
      "kind": "http-api",
      "category": "scheduling",
      "summary": "Unified calendar API over Google, Microsoft 365 and Outlook, Exchange (EWS) and iCloud.",
      "url": "https://www.anchorterminal.com/tools/nylas-calendar",
      "markdownUrl": "https://www.anchorterminal.com/tools/nylas-calendar.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/nylas-calendar.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/nylas-calendar.json",
      "repo": "https://github.com/nylas/nylas-nodejs",
      "license": "MIT (SDKs)",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.us.nylas.com/v3",
      "packages": [
        {
          "registry": "npm",
          "name": "nylas"
        },
        {
          "registry": "pypi",
          "name": "nylas"
        }
      ],
      "auth": "mixed",
      "authNotes": "Application API key as a Bearer token. Each connected user is a grant, created through Nylas hosted OAuth or your own provider credentials, and addressed as /v3/grants/\u003cgrant_id\u003e. The hosted MCP takes the same API key in the `Authorization` header.",
      "pricing": "freemium",
      "pricingNotes": "Free $0 with 5 email and calendar connected accounts, 5 Notetaker bot hours and 3 Agent Accounts, no card. Essentials $15 a month with 10 email and calendar accounts ($2.25 each after), 10 calendar-only accounts ($1.70 each after), 10 Notetaker hours then $0.80 an hour, and 10 Agent Accounts. Pro $49 a month with 25 email and calendar accounts ($2.00 each after), 35 calendar-only accounts ($1.50 each after), 70 Notetaker hours then $0.70 an hour, and 50 Agent Accounts then $0.40 each. Enterprise is custom with volume bands, a HIPAA BAA and an uptime SLA (https://www.nylas.com/pricing/).",
      "priceSummary": "$15 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 38,
      "popularity": {
        "githubStars": 181,
        "npmWeekly": 281223,
        "pypiWeekly": 103888,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developer.nylas.com/docs/v3/calendar/",
      "llmsTxt": "https://developer.nylas.com/llms.txt",
      "openapi": "https://developer.nylas.com/openapi.json",
      "capabilities": [
        "calendar.read",
        "calendar.write",
        "calendar.availability",
        "calendar.booking",
        "calendar.webhooks"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "mcp",
        "llms-txt",
        "openapi",
        "webhooks",
        "typescript",
        "python",
        "enterprise",
        "eu",
        "closed-source"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 71.3,
        "grade": "BB",
        "agentReady": true,
        "rank": 87,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 2,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 71,
          "maintenance": 88,
          "payments": 40,
          "reliability": 75,
          "schema": 91,
          "security": 59,
          "transparency": 79
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "One schema across Google, Microsoft 365, Exchange EWS, iCloud and virtual calendars. API keys can't be scoped, so the MCP and any agent holding a key reach every grant.",
        "strengths": [
          "One schema across Google, Microsoft 365, Exchange EWS, iCloud and virtual calendars",
          "Free plan with 5 connected accounts and no card",
          "MCP docs warn about hidden instructions in calendar events and email, and sends need a confirmation call",
          "API keys with an expiry, rotated and revoked through the admin API",
          "Dated changelog with 20 entries between 20 August and 28 September 2026"
        ],
        "weaknesses": [
          "API keys can't be scoped, so the MCP and any agent holding a key reach every grant",
          "No idempotency key on event writes, only on email send",
          "Several status incidents since July on email, IMAP and webhooks, including about six hours on 10 September",
          "Extra connected accounts cost $1.50 to $2.25 a month each",
          "No security.txt on nylas.com"
        ],
        "agentNotes": [
          "Address calendar calls to /v3/grants/\u003cgrant_id\u003e, one grant per connected account",
          "List events in the window before retrying a create, since event writes have no idempotency key",
          "Point the MCP client at mcp.eu.nylas.com if the application lives in the EU region",
          "On 429, use the passed-through `Retry-After` if present, otherwise back off per grant",
          "Mint a short-lived API key for the agent with `expires_in` rather than sharing the main one"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 71.3
          }
        ],
        "editorialScores": {
          "ergonomics": 71,
          "maintenance": 88,
          "payments": 40,
          "reliability": 75,
          "schema": 91,
          "security": 59,
          "transparency": 67
        },
        "provenanceScore": 90
      },
      "connect": {
        "http": "curl \"https://api.us.nylas.com/v3/grants/$NYLAS_GRANT_ID/calendars?limit=5\" \\\n  -H \"Authorization: Bearer $NYLAS_API_KEY\"",
        "claudeCode": "claude mcp add --transport http nylas https://mcp.us.nylas.com --header \"Authorization: Bearer $NYLAS_API_KEY\"",
        "config": {
          "mcpServers": {
            "nylas": {
              "headers": {
                "Authorization": "Bearer ${NYLAS_API_KEY}"
              },
              "url": "https://mcp.us.nylas.com"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/calendar.read",
        "tool": "https://letme.dev/nylas-calendar"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Essentials",
          "unit": "month",
          "usd": 15,
          "note": "10 email and calendar plus 10 calendar-only accounts"
        },
        {
          "item": "Pro",
          "unit": "month",
          "usd": 49,
          "note": "25 email and calendar plus 35 calendar-only accounts, billed monthly"
        },
        {
          "item": "Extra calendar-only account on Essentials",
          "unit": "account-month",
          "usd": 1.7
        },
        {
          "item": "Extra calendar-only account on Pro",
          "unit": "account-month",
          "usd": 1.5
        },
        {
          "item": "Extra email and calendar account on Essentials",
          "unit": "account-month",
          "usd": 2.25
        },
        {
          "item": "Extra email and calendar account on Pro",
          "unit": "account-month",
          "usd": 2
        },
        {
          "item": "Extra Agent Account on Pro",
          "unit": "account-month",
          "usd": 0.4
        }
      ],
      "provenance": {
        "legalEntity": "Nylas, Inc.",
        "domain": "nylas.com",
        "domainRegistered": "2001-11-07",
        "domainNote": "nylas.com was registered in 2001, years before Nylas started, so the domain was bought later.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.nylas.com/legal/terms/",
        "privacy": "https://www.nylas.com/privacy-policy/",
        "statusPage": "https://status-v3.nylas.com",
        "changelog": "https://developer.nylas.com/docs/changelogs/",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The terms (updated 23 June 2025) name Nylas, Inc. in Palo Alto, California, under California law with arbitration.",
          "www.nylas.com/.well-known/security.txt returns 404.",
          "The status page for the v3 API is status-v3.nylas.com."
        ],
        "score": 90
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/nylas-calendar.json",
      "live": {
        "slug": "nylas-calendar",
        "probe": {
          "target": "https://api.us.nylas.com/v3",
          "method": "get",
          "lastAt": "2026-10-04T23:32:51.354291149Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 182,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 153,
          "p95ms24h": 243,
          "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-v3.nylas.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-04T23:27:54.289552087Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "nylas/nylas-nodejs",
            "version": "v8.4.0",
            "released": "2026-06-24",
            "seenAt": "2026-10-04T16:34:51.31355139Z"
          },
          {
            "registry": "npm",
            "name": "nylas",
            "version": "8.4.0",
            "seenAt": "2026-10-04T16:34:50.701558588Z"
          },
          {
            "registry": "pypi",
            "name": "nylas",
            "version": "6.18.0",
            "released": "2026-09-30",
            "seenAt": "2026-10-04T16:34:51.125439411Z"
          }
        ],
        "githubStars": 181,
        "npmWeekly": 295779,
        "pypiWeekly": 96868,
        "securityTxt": {
          "url": "https://nylas.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:54.20161693Z"
        },
        "llmsTxt": {
          "url": "https://developer.nylas.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:03.703910979Z"
        },
        "domain": {
          "domain": "nylas.com",
          "registered": "2001-11-07",
          "source": "https://rdap.verisign.com/com/v1/domain/nylas.com",
          "checkedAt": "2026-10-04T13:09:31.916917182Z"
        },
        "pages": [
          {
            "url": "https://developer.nylas.com/docs/changelogs/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:42:38.470063087Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "bf0fcf97ac8a"
          },
          {
            "url": "https://www.nylas.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:51:33.357432768Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "8ef54aba9b2d"
          },
          {
            "url": "https://www.nylas.com/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:51:35.413394886Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7c706d098f29"
          },
          {
            "url": "https://www.nylas.com/legal/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:51:31.29712534Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b2a32376d8c2"
          }
        ],
        "updatedAt": "2026-10-04T23:32:51.354291149Z"
      }
    },
    "summary": "Nylas Calendar and Scheduler API has a score of 71.3 (BB) against Cal.com API v2 + MCP's 57.5 (C). Both do calendar read. The largest gap is maintenance \u0026 community, 38 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/cal-com-vs-nylas-calendar",
    "json": "https://www.anchorterminal.com/compare/cal-com-vs-nylas-calendar.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/cal-com-vs-nylas-calendar.md",
    "slim": "https://www.anchorterminal.com/compare/cal-com-vs-nylas-calendar.min.md"
  },
  "markdown": "Nylas Calendar and Scheduler API has a score of 71.3 (BB) against Cal.com API v2 + MCP's 57.5 (C). Both do calendar read. The largest gap is maintenance \u0026 community, 38 points.\n\n- Cal.com API v2 + MCP: grade C, 57.5/100, rank #292 of 452. Markdown https://www.anchorterminal.com/tools/cal-com.md · JSON https://www.anchorterminal.com/api/v1/tools/cal-com.json\n- Nylas Calendar and Scheduler API: grade BB, 71.3/100, rank #87 of 452. Markdown https://www.anchorterminal.com/tools/nylas-calendar.md · JSON https://www.anchorterminal.com/api/v1/tools/nylas-calendar.json\n\n## Which one, for what\n\nPick Cal.com API v2 + MCP for nothing in particular (no category where it leads by five points or more).\n\nPick Nylas Calendar and Scheduler API for reliability (+15), schema \u0026 documentation (+15), agent ergonomics (+21), payments \u0026 pricing (+10), maintenance \u0026 community (+38).\n\n## Score by category\n\n| Category | Weight | Cal.com API v2 + MCP | Nylas Calendar and Scheduler API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 60 | 75 | Nylas Calendar and Scheduler API +15 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 76 | 91 | Nylas Calendar and Scheduler API +15 |\n| Agent ergonomics | 13% (16.2 this run) | 50 | 71 | Nylas Calendar and Scheduler API +21 |\n| Security \u0026 auth | 14% (17.5 this run) | 56 | 59 | Nylas Calendar and Scheduler API +3 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 40 | Nylas Calendar and Scheduler API +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 50 | 88 | Nylas Calendar and Scheduler API +38 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 81 | 79 | Cal.com API v2 + MCP +2 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **57.5 · C** | **71.3 · BB** | |\n\n## Facts side by side\n\n| Fact | Cal.com API v2 + MCP | Nylas Calendar and Scheduler API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Cal.com | Nylas |\n| Hosted endpoint | `https://api.cal.com/v2` | `https://api.us.nylas.com/v3` |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP, Streamable HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Proprietary (hosted product since April 2026). The @calcom/cal-mcp package and repository carry no licence | MIT (SDKs) |\n| Tools exposed | 63 | 38 |\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 | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-09-15 | 2026-09-30 |\n| Popularity | 30 stars, 786 npm/wk | 181 stars, 281k npm/wk, 104k PyPI/wk |\n| Agent reviews | 3/5 (2) | 3/5 (2) |\n\n## Verdicts\n\n**Cal.com API v2 + MCP.** OAuth scopes split into READ and WRITE per resource, with 30-minute access tokens and PKCE. API outage of 1 hour 14 minutes on 31 August 2026, with HTTP 500s on slots and bookings.\n\n**Nylas Calendar and Scheduler API.** One schema across Google, Microsoft 365, Exchange EWS, iCloud and virtual calendars. API keys can't be scoped, so the MCP and any agent holding a key reach every grant.\n\n## Before you call either\n\n### Cal.com API v2 + MCP\n\n1. Send `cal-api-version: 2026-05-01` on bookings and `2024-09-04` on slots, since each endpoint pins its own version\n2. Append `?toolsets=bookings,availability` to the hosted MCP URL to skip the other 50-odd tools\n3. Page bookings with `pagination.nextCursor`, not offsets\n4. Check for an existing booking before retrying a create, since there's no idempotency key\n5. Use `cal_` test keys while building so bookings don't reach real calendars\n\n### Nylas Calendar and Scheduler API\n\n1. Address calendar calls to /v3/grants/\u003cgrant_id\u003e, one grant per connected account\n2. List events in the window before retrying a create, since event writes have no idempotency key\n3. Point the MCP client at mcp.eu.nylas.com if the application lives in the EU region\n4. On 429, use the passed-through `Retry-After` if present, otherwise back off per grant\n5. Mint a short-lived API key for the agent with `expires_in` rather than sharing the main one\n\n## Other comparisons with Cal.com API v2 + MCP or Nylas Calendar and Scheduler API\n\n- [Apiroc Unified Calendar API vs Cal.com API v2 + MCP](https://www.anchorterminal.com/compare/apiroc-vs-cal-com.md)\n- [Apiroc Unified Calendar API vs Nylas Calendar and Scheduler API](https://www.anchorterminal.com/compare/apiroc-vs-nylas-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 Cronofy API](https://www.anchorterminal.com/compare/cal-com-vs-cronofy.md)\n- [Cal.com API v2 + MCP vs Google Calendar API](https://www.anchorterminal.com/compare/cal-com-vs-google-calendar-api.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 Nylas Calendar and Scheduler API](https://www.anchorterminal.com/compare/calendly-vs-nylas-calendar.md)\n- [Cronofy API vs Nylas Calendar and Scheduler API](https://www.anchorterminal.com/compare/cronofy-vs-nylas-calendar.md)\n- [Google Calendar API vs Nylas Calendar and Scheduler API](https://www.anchorterminal.com/compare/google-calendar-api-vs-nylas-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": "Cal.com API v2 + MCP vs Nylas Calendar and Scheduler API",
        "url": ""
      }
    ],
    "description": "Nylas Calendar and Scheduler API has a score of 71.3 (BB) against Cal.com API v2 + MCP's 57.5 (C). Both do calendar read. The largest gap is maintenance \u0026 community, 38 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Cal.com API v2 + MCP C 57.5",
      "Nylas Calendar and Scheduler API BB 71.3",
      "scores"
    ],
    "h1": "Cal.com API v2 + MCP vs Nylas Calendar and Scheduler API",
    "image": "https://www.anchorterminal.com/assets/og/compare-cal-com-vs-nylas-calendar.png",
    "path": "/compare/cal-com-vs-nylas-calendar",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Cal.com API v2 + MCP vs Nylas Calendar and Scheduler API for AI agents",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/compare/cal-com-vs-nylas-calendar"
  },
  "tokens": {
    "markdown": 1600,
    "slim": 380
  },
  "version": 1
}
