{
  "data": {
    "category": {
      "area": "everyday",
      "capabilities": [
        "calendar.read",
        "calendar.write",
        "calendar.availability",
        "calendar.booking",
        "calendar.webhooks"
      ],
      "description": "APIs that read and write calendars across Google and Microsoft, find free time and book meetings, with booking pages and reminders. Compared on the providers covered, availability logic, webhooks and price per connected account.",
      "indexed": [
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/42min-meetings.json",
          "kind": "mcp",
          "name": "42min",
          "slug": "42min-meetings",
          "url": "https://www.anchorterminal.com/tools/42min-meetings"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/addcal.json",
          "kind": "mcp",
          "name": "AddCal",
          "slug": "addcal",
          "url": "https://www.anchorterminal.com/tools/addcal"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/aetherwealth-mcp.json",
          "kind": "mcp",
          "name": "Aether Wealth",
          "slug": "aetherwealth-mcp",
          "url": "https://www.anchorterminal.com/tools/aetherwealth-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/agentrynku-gpw.json",
          "kind": "mcp",
          "name": "Agent Rynku - Warsaw Stock Exchange (GPW) data for your agent",
          "slug": "agentrynku-gpw",
          "url": "https://www.anchorterminal.com/tools/agentrynku-gpw"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/astrocal-mcp-server.json",
          "kind": "mcp",
          "name": "Astrocal",
          "slug": "astrocal-mcp-server",
          "url": "https://www.anchorterminal.com/tools/astrocal-mcp-server"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/awardtravelfinder-mcp.json",
          "kind": "mcp",
          "name": "Award Travel Finder",
          "slug": "awardtravelfinder-mcp",
          "url": "https://www.anchorterminal.com/tools/awardtravelfinder-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/bowmark.json",
          "kind": "mcp",
          "name": "Bowmark",
          "slug": "bowmark",
          "url": "https://www.anchorterminal.com/tools/bowmark"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/chronary-mcp.json",
          "kind": "mcp",
          "name": "Chronary",
          "slug": "chronary-mcp",
          "url": "https://www.anchorterminal.com/tools/chronary-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/coordinalo-mcp-server.json",
          "kind": "mcp",
          "name": "Coordinalo — Service Business Operations",
          "slug": "coordinalo-mcp-server",
          "url": "https://www.anchorterminal.com/tools/coordinalo-mcp-server"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/denik.json",
          "kind": "mcp",
          "name": "Denik",
          "slug": "denik",
          "url": "https://www.anchorterminal.com/tools/denik"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/insight-domain-radar.json",
          "kind": "mcp",
          "name": "domain-radar",
          "slug": "insight-domain-radar",
          "url": "https://www.anchorterminal.com/tools/insight-domain-radar"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/forwardemail-mcp-server.json",
          "kind": "mcp",
          "name": "Forward Email",
          "slug": "forwardemail-mcp-server",
          "url": "https://www.anchorterminal.com/tools/forwardemail-mcp-server"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/heyoden-mcp.json",
          "kind": "mcp",
          "name": "heyoden.com MCP server",
          "slug": "heyoden-mcp",
          "url": "https://www.anchorterminal.com/tools/heyoden-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/onekash-icloud-calendar-mcp.json",
          "kind": "mcp",
          "name": "icloud-calendar-mcp",
          "slug": "onekash-icloud-calendar-mcp",
          "url": "https://www.anchorterminal.com/tools/onekash-icloud-calendar-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/inite-club.json",
          "kind": "mcp",
          "name": "INITE Club",
          "slug": "inite-club",
          "url": "https://www.anchorterminal.com/tools/inite-club"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/local-mcp.json",
          "kind": "mcp",
          "name": "Local MCP",
          "slug": "local-mcp",
          "url": "https://www.anchorterminal.com/tools/local-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/omnisignal.json",
          "kind": "mcp",
          "name": "OmniSignal",
          "slug": "omnisignal",
          "url": "https://www.anchorterminal.com/tools/omnisignal"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/ponlo-server.json",
          "kind": "mcp",
          "name": "ponlo.ai MCP server",
          "slug": "ponlo-server",
          "url": "https://www.anchorterminal.com/tools/ponlo-server"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/reassign.json",
          "kind": "mcp",
          "name": "reassign",
          "slug": "reassign",
          "url": "https://www.anchorterminal.com/tools/reassign"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/rootly-mcp-server.json",
          "kind": "mcp",
          "name": "Rootly",
          "slug": "rootly-mcp-server",
          "url": "https://www.anchorterminal.com/tools/rootly-mcp-server"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/servicialo-mcp-server.json",
          "kind": "mcp",
          "name": "Servicialo MCP Server",
          "slug": "servicialo-mcp-server",
          "url": "https://www.anchorterminal.com/tools/servicialo-mcp-server"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/shiftyasan-mcp-server.json",
          "kind": "mcp",
          "name": "Shiftyasan Shift Scheduling",
          "slug": "shiftyasan-mcp-server",
          "url": "https://www.anchorterminal.com/tools/shiftyasan-mcp-server"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/sifting-mcp.json",
          "kind": "mcp",
          "name": "sifting.io MCP server",
          "slug": "sifting-mcp",
          "url": "https://www.anchorterminal.com/tools/sifting-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/squawkflow-market-structure.json",
          "kind": "mcp",
          "name": "SquawkFlow Market Structure",
          "slug": "squawkflow-market-structure",
          "url": "https://www.anchorterminal.com/tools/squawkflow-market-structure"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/studiomeyer-personal-suite.json",
          "kind": "mcp",
          "name": "StudioMeyer Personal Suite",
          "slug": "studiomeyer-personal-suite",
          "url": "https://www.anchorterminal.com/tools/studiomeyer-personal-suite"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/syncline-mcp-server.json",
          "kind": "mcp",
          "name": "Syncline MCP Server",
          "slug": "syncline-mcp-server",
          "url": "https://www.anchorterminal.com/tools/syncline-mcp-server"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/kekwanu-syncline-mcp-server-go.json",
          "kind": "mcp",
          "name": "Syncline MCP Server (Go)",
          "slug": "kekwanu-syncline-mcp-server-go",
          "url": "https://www.anchorterminal.com/tools/kekwanu-syncline-mcp-server-go"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/kekwanu-syncline-mcp-server.json",
          "kind": "mcp",
          "name": "Syncline MCP Server (TypeScript)",
          "slug": "kekwanu-syncline-mcp-server",
          "url": "https://www.anchorterminal.com/tools/kekwanu-syncline-mcp-server"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/jamesrosingmd-tebra.json",
          "kind": "mcp",
          "name": "tebra",
          "slug": "jamesrosingmd-tebra",
          "url": "https://www.anchorterminal.com/tools/jamesrosingmd-tebra"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/tlders-domain-prices.json",
          "kind": "mcp",
          "name": "TLDers Domain Prices",
          "slug": "tlders-domain-prices",
          "url": "https://www.anchorterminal.com/tools/tlders-domain-prices"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/wahlu-mcp-server.json",
          "kind": "mcp",
          "name": "Wahlu",
          "slug": "wahlu-mcp-server",
          "url": "https://www.anchorterminal.com/tools/wahlu-mcp-server"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/jamesrosingmd-zenoti.json",
          "kind": "mcp",
          "name": "zenoti",
          "slug": "jamesrosingmd-zenoti",
          "url": "https://www.anchorterminal.com/tools/jamesrosingmd-zenoti"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/zooza-mcp-server.json",
          "kind": "mcp",
          "name": "Zooza MCP Server",
          "slug": "zooza-mcp-server",
          "url": "https://www.anchorterminal.com/tools/zooza-mcp-server"
        }
      ],
      "indexedCount": 33,
      "json": "https://www.anchorterminal.com/categories/scheduling.json",
      "name": "Calendars \u0026 scheduling",
      "slug": "scheduling",
      "test": "An agent finds a free slot across a Google and a Microsoft calendar, books it, moves it and cancels it. We check availability accuracy, time zones, webhook delivery and the cost per connected account.",
      "title": "Calendar and scheduling APIs for AI agents",
      "toolCount": 7,
      "tools": [
        "google-calendar-api",
        "nylas-calendar",
        "calendly",
        "microsoft-graph-calendar",
        "cronofy",
        "cal-com",
        "apiroc"
      ],
      "url": "https://www.anchorterminal.com/categories/scheduling"
    },
    "tools": [
      {
        "slug": "google-calendar-api",
        "name": "Google Calendar API",
        "vendor": "Google",
        "vendorUrl": "https://developers.google.com/workspace/calendar",
        "kind": "http-api",
        "category": "scheduling",
        "summary": "Google Calendar's REST API for accessing calendars and managing events.",
        "url": "https://www.anchorterminal.com/tools/google-calendar-api",
        "markdownUrl": "https://www.anchorterminal.com/tools/google-calendar-api.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/google-calendar-api.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/google-calendar-api.json",
        "repo": "https://github.com/googleapis/google-api-nodejs-client",
        "license": "Apache-2.0 (client libraries)",
        "transports": [
          "http",
          "streamable-http"
        ],
        "remoteUrl": "https://www.googleapis.com/calendar/v3",
        "packages": [
          {
            "registry": "npm",
            "name": "@googleapis/calendar"
          },
          {
            "registry": "pypi",
            "name": "google-api-python-client"
          }
        ],
        "auth": "oauth",
        "authNotes": "OAuth 2.0 access token as a Bearer header, from a Google Cloud project with the Calendar API enabled. Workspace domains can use a service account with domain-wide delegation. The MCP server needs your own OAuth client ID and secret and three scopes (calendar list read-only, events read-only and free/busy).",
        "pricing": "free",
        "pricingNotes": "All standard use is at no extra cost. Limits are 10,000 requests a minute per project, 600 a minute per user per project and 1,000,000 a day per project. Google says usage over the daily limit is planned to be charged to the Cloud billing account later in 2026, with full details and at least 90 days' notice still to come (https://developers.google.com/workspace/calendar/api/guides/quota).",
        "priceSummary": "Free",
        "where": "hosted",
        "x402": {
          "level": "no",
          "endpoints": []
        },
        "toolCount": 9,
        "popularity": {
          "githubStars": 12300,
          "npmWeekly": 1004451,
          "pypiWeekly": null,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://developers.google.com/workspace/calendar/api/guides/overview",
        "capabilities": [
          "calendar.read",
          "calendar.write",
          "calendar.availability",
          "calendar.webhooks"
        ],
        "tags": [
          "hosted",
          "official",
          "free-tier",
          "mcp",
          "webhooks",
          "oauth",
          "typescript",
          "python",
          "enterprise"
        ],
        "lastRelease": "2026-09-24",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 79.5,
          "grade": "A",
          "agentReady": true,
          "rank": 8,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 1,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 91,
            "maintenance": 87,
            "payments": 35,
            "reliability": 90,
            "schema": 83,
            "security": 82,
            "transparency": 79
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "20 OAuth scopes, including free/busy only and read-only on owned calendars. Google calendars only.",
          "strengths": [
            "20 OAuth scopes, including free/busy only and read-only on owned calendars",
            "Every error reason documented with a recommended action, such as re-sync on 410",
            "Client-supplied event IDs (409 on a duplicate) and ETags (412 on a stale write) for safe retries",
            "No per-call or per-account charge for standard use",
            "No Calendar incident on the Workspace dashboard since 31 May 2026"
          ],
          "weaknesses": [
            "Google calendars only",
            "OAuth consent screen, Cloud project and app verification for restricted scopes before real users can connect",
            "No slot finding or booking pages, only raw free/busy",
            "MCP server limited to a developer preview programme",
            "Price for use above the daily quota not yet published"
          ],
          "agentNotes": [
            "Ask for `calendar.events.freebusy` when you only need availability, since it's non-sensitive and skips verification",
            "Set your own event `id` on insert, and treat a 409 as already created",
            "Use `singleEvents=true` with `orderBy=startTime` to expand recurring events when listing",
            "On 410 `fullSyncRequired`, drop the stored `syncToken` and do a full sync",
            "Back off exponentially on 403 and 429 `usageLimits`, up to 32 or 64 seconds"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 8,
          "avgRating": 4,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "A",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 79.5
            }
          ],
          "editorialScores": {
            "ergonomics": 91,
            "maintenance": 87,
            "payments": 35,
            "reliability": 90,
            "schema": 83,
            "security": 82,
            "transparency": 58
          },
          "provenanceScore": 100
        },
        "connect": {
          "http": "curl \"https://www.googleapis.com/calendar/v3/calendars/primary/events?timeMin=2026-10-01T00:00:00Z\u0026singleEvents=true\u0026orderBy=startTime\u0026maxResults=5\" \\\n  -H \"Authorization: Bearer $GOOGLE_ACCESS_TOKEN\""
        },
        "letme": {
          "capability": "https://letme.dev/calendar.read",
          "tool": "https://letme.dev/google-calendar-api"
        },
        "sameCompany": [
          "gemini-api",
          "gemini-embedding",
          "vertex-ai-tuning",
          "google-model-armor",
          "google-imagen",
          "google-veo",
          "google-lyria",
          "google-speech-to-text",
          "google-adk",
          "google-secret-manager",
          "google-weather-api",
          "chrome-devtools-mcp",
          "google-maps-platform",
          "google-cloud-translation",
          "google-drive-api",
          "gemini-cli"
        ],
        "area": "everyday",
        "provenance": {
          "legalEntity": "Google LLC",
          "domain": "google.com",
          "domainRegistered": "1997-09-15",
          "domainNote": "The endpoint is on googleapis.com, Google's API domain. google.com was registered in 1997.",
          "endpointOnVendorDomain": true,
          "terms": "https://developers.google.com/terms",
          "privacy": "https://policies.google.com/privacy",
          "statusPage": "https://www.google.com/appsstatus/dashboard/",
          "changelog": "https://developers.google.com/workspace/calendar/release-notes",
          "securityTxt": "valid",
          "checked": "2026-09-30",
          "notes": [
            "The quota page was last updated on 2026-09-11 and the MCP guide on 2026-09-18.",
            "Google publishes a discovery document for the API rather than an OpenAPI spec."
          ],
          "score": 100
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/google-calendar-api.json",
        "live": {
          "slug": "google-calendar-api",
          "probe": {
            "target": "https://www.googleapis.com/calendar/v3",
            "method": "get",
            "lastAt": "2026-10-05T00:57:20.864453345Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 45,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 36,
            "p95ms24h": 80,
            "samples24h": 272,
            "samples30d": 911,
            "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": 272,
                "ok": 272
              },
              {
                "date": "2026-10-05",
                "probes": 11,
                "ok": 11
              }
            ]
          },
          "vendorStatus": {
            "page": "https://www.google.com/appsstatus/dashboard",
            "indicator": "unknown",
            "summary": "no machine-readable status found",
            "checkedAt": "2026-10-04T21:40:05.839638971Z"
          },
          "versions": [
            {
              "registry": "github",
              "name": "googleapis/google-api-nodejs-client",
              "version": "agentidentity-v3.1.0",
              "released": "2026-10-03",
              "seenAt": "2026-10-04T16:28:25.755514591Z"
            },
            {
              "registry": "npm",
              "name": "@googleapis/calendar",
              "version": "20.1.0",
              "seenAt": "2026-10-04T16:28:24.425409062Z"
            },
            {
              "registry": "pypi",
              "name": "google-api-python-client",
              "version": "2.201.0",
              "released": "2026-09-30",
              "seenAt": "2026-10-04T16:28:25.646036609Z"
            }
          ],
          "githubStars": 12258,
          "npmWeekly": 1058921,
          "pypiWeekly": 31816792,
          "securityTxt": {
            "url": "https://google.com/.well-known/security.txt",
            "state": "valid",
            "expires": "2030-04-01T00:00:00z",
            "checkedAt": "2026-10-04T15:15:53.387118101Z"
          },
          "domain": {
            "domain": "google.com",
            "registered": "1997-09-15",
            "source": "https://rdap.verisign.com/com/v1/domain/google.com",
            "checkedAt": "2026-10-04T13:05:50.737985829Z"
          },
          "pages": [
            {
              "url": "https://developers.google.com/workspace/calendar/release-notes",
              "kind": "changelog",
              "status": 200,
              "checkedAt": "2026-10-04T15:42:59.473216224Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "d44adc97348c"
            },
            {
              "url": "https://developers.google.com/terms",
              "kind": "terms",
              "status": 200,
              "checkedAt": "2026-10-04T15:42:57.429090902Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "2eb11136bf24"
            }
          ],
          "updatedAt": "2026-10-05T00:57:20.864453345Z"
        }
      },
      {
        "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-05T00:57:24.646702354Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 167,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 153,
            "p95ms24h": 243,
            "samples24h": 272,
            "samples30d": 911,
            "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": 272,
                "ok": 272
              },
              {
                "date": "2026-10-05",
                "probes": 11,
                "ok": 11
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status-v3.nylas.com",
            "indicator": "none",
            "summary": "All Systems Operational",
            "checkedAt": "2026-10-05T00:53:57.048820419Z"
          },
          "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-05T00:57:24.646702354Z"
        }
      },
      {
        "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-05T00:57:17.814146453Z",
            "lastOk": true,
            "lastStatus": 401,
            "lastMs": 122,
            "lastNote": "asks for credentials",
            "authRequired": true,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 118,
            "p95ms24h": 157,
            "samples24h": 272,
            "samples30d": 911,
            "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": 272,
                "ok": 272
              },
              {
                "date": "2026-10-05",
                "probes": 11,
                "ok": 11
              }
            ]
          },
          "vendorStatus": {
            "page": "https://www.calendlystatus.com",
            "indicator": "none",
            "summary": "All Systems Operational",
            "checkedAt": "2026-10-05T00:53:44.072568418Z"
          },
          "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-05T00:57:17.814146453Z"
        }
      },
      {
        "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-05T00:57:23.824478653Z",
            "lastOk": true,
            "lastStatus": 200,
            "lastMs": 36,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 32,
            "p95ms24h": 92,
            "samples24h": 272,
            "samples30d": 911,
            "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": 272,
                "ok": 272
              },
              {
                "date": "2026-10-05",
                "probes": 11,
                "ok": 11
              }
            ]
          },
          "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-05T00:57:23.824478653Z"
        }
      },
      {
        "slug": "cronofy",
        "name": "Cronofy API",
        "vendor": "Cronofy",
        "vendorUrl": "https://www.cronofy.com",
        "kind": "http-api",
        "category": "scheduling",
        "summary": "Calendar sync and scheduling API from a UK company.",
        "url": "https://www.anchorterminal.com/tools/cronofy",
        "markdownUrl": "https://www.anchorterminal.com/tools/cronofy.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/cronofy.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/cronofy.json",
        "repo": "https://github.com/cronofy/cronofy-node",
        "license": "MIT (SDKs)",
        "transports": [
          "http",
          "streamable-http"
        ],
        "remoteUrl": "https://api.cronofy.com",
        "packages": [
          {
            "registry": "npm",
            "name": "cronofy"
          },
          {
            "registry": "pypi",
            "name": "pycronofy"
          }
        ],
        "auth": "mixed",
        "authNotes": "Each user connects through Cronofy's OAuth flow and gets an access token. Application-level calls such as Availability take the application's key as a Bearer token. The MCP server takes the `client_secret` of an internal application as a Bearer token for single-tenant use, or OAuth 2.0 for multi-tenant use.",
        "pricing": "paid",
        "pricingNotes": "Free developer account for building and testing. Emerging $819 a month billed yearly for up to 500 synced accounts, then $1.39 each a month. Growth $2,399 a month billed yearly for up to 3,000, then $0.69 each. Strategic is custom with priority support. The Meeting Agents add-on costs $0.79 an hour for 25 to 4,000 hours, with a $99 monthly minimum on its own and the first 24 hours free (https://www.cronofy.com/pricing).",
        "priceSummary": "$819 / mo",
        "where": "hosted",
        "x402": {
          "level": "no",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 51,
          "npmWeekly": 10797,
          "pypiWeekly": 10097,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://docs.cronofy.com/developers/",
        "llmsTxt": "https://docs.cronofy.com/llms.txt",
        "capabilities": [
          "calendar.read",
          "calendar.write",
          "calendar.availability",
          "calendar.booking",
          "calendar.webhooks"
        ],
        "tags": [
          "hosted",
          "mcp",
          "llms-txt",
          "webhooks",
          "typescript",
          "python",
          "enterprise",
          "eu",
          "closed-source"
        ],
        "lastRelease": "2026-09-25",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 64.4,
          "grade": "B",
          "agentReady": false,
          "rank": 182,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 5,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 76,
            "maintenance": 56,
            "payments": 30,
            "reliability": 85,
            "schema": 58,
            "security": 60,
            "transparency": 74
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "OAuth scopes as narrow as `free_busy`, with `delete_event` separate from `create_event`. Production pricing starts at $819 a month billed yearly.",
          "strengths": [
            "OAuth scopes as narrow as `free_busy`, with `delete_event` separate from `create_event`",
            "Event writes keyed on your `event_id`, so a retried create updates instead of duplicating",
            "99.99% uptime guarantee on Emerging and Growth",
            "Retention published per data type, such as 30 days for third-party events after disconnection",
            "ISO 27001, 27018 and 27701, SOC 2 Type 2 and a public bug bounty"
          ],
          "weaknesses": [
            "Production pricing starts at $819 a month billed yearly",
            "No OpenAPI spec or security.txt",
            "The changelog has no dates and its latest entries are years old",
            "MCP server is early access with no published tool list, and single-tenant mode takes the application secret",
            "429 guidance says only to pause, with no Retry-After"
          ],
          "agentNotes": [
            "Call the data centre host the account was created in (api-uk, api-de and so on), since data never crosses regions",
            "Reuse the same `event_id` when retrying an event write, since Cronofy upserts on it",
            "Ask for `response_format` slots when you want bookable times rather than free periods",
            "On 423, ask the user to relink, since Cronofy has already emailed them",
            "Keep under 50 requests a second and 500 a minute, and pause on 429"
          ],
          "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": 64.4
            }
          ],
          "editorialScores": {
            "ergonomics": 76,
            "maintenance": 56,
            "payments": 30,
            "reliability": 85,
            "schema": 58,
            "security": 60,
            "transparency": 58
          },
          "provenanceScore": 90
        },
        "connect": {
          "http": "curl -X POST https://api.cronofy.com/v1/availability \\\n  -H \"Authorization: Bearer $CRONOFY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"participants\":[{\"members\":[{\"sub\":\"acc_5ba21743f408617d1269ea1e\"}],\"required\":\"all\"}],\"required_duration\":{\"minutes\":30},\"query_periods\":[{\"start\":\"2026-10-01T09:00:00Z\",\"end\":\"2026-10-01T17:00:00Z\"}],\"response_format\":\"slots\"}'",
          "claudeCode": "claude mcp add --transport http cronofy https://api.cronofy.com/v1/mcp_server --header \"Authorization: Bearer $CRONOFY_CLIENT_SECRET\"",
          "config": {
            "mcpServers": {
              "cronofy": {
                "headers": {
                  "Authorization": "Bearer ${CRONOFY_CLIENT_SECRET}"
                },
                "url": "https://api.cronofy.com/v1/mcp_server"
              }
            }
          }
        },
        "letme": {
          "capability": "https://letme.dev/calendar.read",
          "tool": "https://letme.dev/cronofy"
        },
        "area": "everyday",
        "unitPrices": [
          {
            "item": "Emerging",
            "unit": "month",
            "usd": 819,
            "note": "Up to 500 synced accounts, billed yearly"
          },
          {
            "item": "Growth",
            "unit": "month",
            "usd": 2399,
            "note": "Up to 3,000 synced accounts, billed yearly"
          },
          {
            "item": "Extra synced account on Emerging",
            "unit": "account-month",
            "usd": 1.39
          },
          {
            "item": "Extra synced account on Growth",
            "unit": "account-month",
            "usd": 0.69
          }
        ],
        "provenance": {
          "legalEntity": "Cronofy Limited",
          "domain": "cronofy.com",
          "domainRegistered": "2014-10-06",
          "endpointOnVendorDomain": true,
          "terms": "https://docs.cronofy.com/policies/terms-of-service/",
          "privacy": "https://docs.cronofy.com/policies/privacy-notice/",
          "statusPage": "https://status.cronofy.com",
          "changelog": "https://changelog.cronofy.com",
          "securityTxt": "none",
          "checked": "2026-09-30",
          "notes": [
            "The terms (updated 24 September 2026) name Cronofy Limited, company number 07878590, 9a Beck Street, Nottingham, under the laws of England and Wales.",
            "www.cronofy.com/.well-known/security.txt returns 404.",
            "The status page lists the API, Scheduler, Meeting Agents, conferencing services and each major calendar provider as separate components."
          ],
          "score": 90
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/cronofy.json",
        "live": {
          "slug": "cronofy",
          "probe": {
            "target": "https://api.cronofy.com",
            "method": "get",
            "lastAt": "2026-10-05T00:57:18.741613348Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 261,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 265,
            "p95ms24h": 304,
            "samples24h": 272,
            "samples30d": 911,
            "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": 272,
                "ok": 272
              },
              {
                "date": "2026-10-05",
                "probes": 11,
                "ok": 11
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.cronofy.com",
            "indicator": "none",
            "summary": "All Systems Operational",
            "checkedAt": "2026-10-05T00:53:46.913739515Z"
          },
          "versions": [
            {
              "registry": "npm",
              "name": "cronofy",
              "version": "3.8.4",
              "seenAt": "2026-10-04T16:24:50.006903677Z"
            },
            {
              "registry": "pypi",
              "name": "pycronofy",
              "version": "2.1.1",
              "released": "2026-09-25",
              "seenAt": "2026-10-04T16:24:51.846800426Z"
            }
          ],
          "githubStars": 51,
          "npmWeekly": 13415,
          "pypiWeekly": 7328,
          "securityTxt": {
            "url": "https://cronofy.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:16:04.962526224Z"
          },
          "llmsTxt": {
            "url": "https://docs.cronofy.com/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:17:28.77497468Z"
          },
          "domain": {
            "domain": "cronofy.com",
            "registered": "2014-10-06",
            "source": "https://rdap.verisign.com/com/v1/domain/cronofy.com",
            "checkedAt": "2026-10-04T13:09:51.714116739Z"
          },
          "pages": [
            {
              "url": "https://changelog.cronofy.com",
              "kind": "changelog",
              "status": 200,
              "checkedAt": "2026-10-04T15:41:50.385949335Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "c6a5150f60a1"
            },
            {
              "url": "https://www.cronofy.com/pricing",
              "kind": "pricing",
              "status": 304,
              "checkedAt": "2026-10-04T15:49:56.536978328Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "242d022a202a"
            },
            {
              "url": "https://docs.cronofy.com/policies/privacy-notice/",
              "kind": "privacy",
              "status": 304,
              "checkedAt": "2026-10-04T15:43:31.888004345Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "e2e1ebea1a4c"
            },
            {
              "url": "https://docs.cronofy.com/policies/terms-of-service/",
              "kind": "terms",
              "status": 304,
              "checkedAt": "2026-10-04T15:43:34.034365666Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "7298fc93e38a"
            }
          ],
          "updatedAt": "2026-10-05T00:57:18.741613348Z"
        }
      },
      {
        "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-05T00:57:17.803914073Z",
            "lastOk": false,
            "lastStatus": 0,
            "lastMs": 0,
            "lastNote": "timed out",
            "authRequired": false,
            "uptime24h": 99.26,
            "uptime30d": 99.67,
            "p50ms24h": 170,
            "p95ms24h": 471,
            "samples24h": 272,
            "samples30d": 911,
            "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": 272,
                "ok": 271
              },
              {
                "date": "2026-10-05",
                "probes": 11,
                "ok": 10
              }
            ]
          },
          "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-05T00:57:17.803914073Z"
        }
      },
      {
        "slug": "apiroc",
        "name": "Apiroc Unified Calendar API",
        "vendor": "Apiroc",
        "vendorUrl": "https://www.apiroc.com",
        "kind": "http-api",
        "category": "scheduling",
        "summary": "Unified calendar API over Google Calendar, Microsoft Outlook (Office 365, Exchange and Outlook.com) and iCloud.",
        "url": "https://www.anchorterminal.com/tools/apiroc",
        "markdownUrl": "https://www.anchorterminal.com/tools/apiroc.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/apiroc.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/apiroc.json",
        "repo": "https://github.com/OneCal/unified-calendar-api-node-sdk",
        "license": "MIT (Node SDK)",
        "transports": [
          "http"
        ],
        "remoteUrl": "https://api.apiroc.com/api/v1",
        "packages": [
          {
            "registry": "npm",
            "name": "@apiroc/unified-calendar-api-node-sdk"
          }
        ],
        "auth": "mixed",
        "authNotes": "Your application calls the API with an `x-api-key` header, server side only. End users connect Google and Microsoft accounts through OAuth 2.0 and iCloud with an app-specific password.",
        "pricing": "freemium",
        "pricingNotes": "Free $0 a month for up to 10 end-user accounts at 20 requests a second, no card. Pro $25 a month with 50 end-user accounts, then $0.50 per account a month, at 300 requests a second and licensed for production use. Enterprise is custom with volume discounts and custom rate limits. Every plan has unlimited API requests and webhooks (https://www.apiroc.com/pricing).",
        "priceSummary": "$25 / mo",
        "where": "hosted",
        "x402": {
          "level": "no",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": null,
          "npmWeekly": 26,
          "pypiWeekly": null,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://docs.apiroc.com",
        "capabilities": [
          "calendar.read",
          "calendar.write",
          "calendar.availability",
          "calendar.webhooks"
        ],
        "tags": [
          "hosted",
          "freemium",
          "free-tier",
          "no-card",
          "webhooks",
          "typescript"
        ],
        "lastRelease": "2026-08-05",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 41.3,
          "grade": "E",
          "agentReady": false,
          "rank": 417,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 7,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 52,
            "maintenance": 62,
            "payments": 40,
            "reliability": 35,
            "schema": 44,
            "security": 21,
            "transparency": 53
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "$0.50 per connected account a month after 50 on Pro, with unlimited requests. No status page history, changelog, OpenAPI spec, llms.txt or security.txt.",
          "strengths": [
            "$0.50 per connected account a month after 50 on Pro, with unlimited requests",
            "Free plan for 10 accounts with no card",
            "Google, Outlook (Office 365, Exchange, Outlook.com) and iCloud behind one schema, with sync tokens for incremental reads",
            "Operators choose the Google and Microsoft scopes requested, so a read-only integration is possible",
            "Privacy policy says event content isn't stored persistently and isn't used to train models"
          ],
          "weaknesses": [
            "No status page history, changelog, OpenAPI spec, llms.txt or security.txt",
            "One application key reaches every connected account, with no key scopes documented",
            "No SLA on any plan, and no 429 or retry guidance in the docs",
            "Svix handles webhook delivery but isn't on the sub-processor list",
            "Node.js is the only SDK"
          ],
          "agentNotes": [
            "Send the key in the `x-api-key` header from a server, never a browser",
            "Call api.apiroc.com, since the SDK's old default host was api.onecalunified.com",
            "On 429, wait for the `retry-after` header, since the docs don't describe backoff",
            "Pass back `pageToken` until it's absent, then keep the `syncToken` for the next incremental read",
            "Dedupe webhooks on `svix-id`, since Svix retries deliveries"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 2,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "E",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 41.3
            }
          ],
          "editorialScores": {
            "ergonomics": 52,
            "maintenance": 62,
            "payments": 40,
            "reliability": 35,
            "schema": 44,
            "security": 21,
            "transparency": 51
          },
          "provenanceScore": 55
        },
        "connect": {
          "http": "curl -G https://api.apiroc.com/api/v1/endUserAccounts -H \"x-api-key: $APIROC_API_KEY\""
        },
        "letme": {
          "capability": "https://letme.dev/calendar.read",
          "tool": "https://letme.dev/apiroc"
        },
        "area": "everyday",
        "unitPrices": [
          {
            "item": "Pro",
            "unit": "month",
            "usd": 25,
            "note": "50 end-user accounts included"
          },
          {
            "item": "Extra end-user account on Pro",
            "unit": "account-month",
            "usd": 0.5
          }
        ],
        "provenance": {
          "legalEntity": "UTC Labs",
          "domain": "apiroc.com",
          "domainRegistered": "2026-04-09",
          "domainNote": "apiroc.com was registered on 2026-04-09. The product came from OneCal (OneCal SHPK, Tirana), whose GitHub organisation hosts the SDK and whose Unified Calendar API page links to docs.apiroc.com.",
          "endpointOnVendorDomain": true,
          "terms": "https://www.apiroc.com/tos",
          "privacy": "https://www.apiroc.com/privacy",
          "statusPage": "",
          "changelog": "",
          "securityTxt": "none",
          "checked": "2026-10-01",
          "notes": [
            "The terms (updated 24 August 2026) name UTC Labs at Durana Tech Park, Shijak, Albania, under Albanian law, with contact@utclabs.com as the contact. No company form or registration number is given.",
            "onecal.io's privacy policy names OneCal SHPK in Tirana. Neither site names the other's entity.",
            "status.apiroc.com doesn't resolve. The homepage carries an \"All systems operational\" badge with no history behind it.",
            "www.apiroc.com/.well-known/security.txt returned 404 on the 30 September check, and docs.apiroc.com/llms.txt returned 404."
          ],
          "score": 55
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/apiroc.json",
        "live": {
          "slug": "apiroc",
          "probe": {
            "target": "https://api.apiroc.com/api/v1",
            "method": "get",
            "lastAt": "2026-10-05T00:57:15.721813717Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 220,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 225,
            "p95ms24h": 307,
            "samples24h": 272,
            "samples30d": 911,
            "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": 272,
                "ok": 272
              },
              {
                "date": "2026-10-05",
                "probes": 11,
                "ok": 11
              }
            ]
          },
          "versions": [
            {
              "registry": "npm",
              "name": "@apiroc/unified-calendar-api-node-sdk",
              "version": "2.0.1",
              "seenAt": "2026-10-04T16:20:41.519616919Z"
            }
          ],
          "githubStars": 2,
          "npmWeekly": 9,
          "securityTxt": {
            "url": "https://apiroc.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:42.565883668Z"
          },
          "domain": {
            "domain": "apiroc.com",
            "registered": "2026-04-09",
            "source": "https://rdap.verisign.com/com/v1/domain/apiroc.com",
            "checkedAt": "2026-10-04T13:10:05.921989529Z"
          },
          "pages": [
            {
              "url": "https://www.apiroc.com/pricing",
              "kind": "pricing",
              "status": 200,
              "checkedAt": "2026-10-04T15:49:08.985266078Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "933585cad4b8"
            },
            {
              "url": "https://www.apiroc.com/privacy",
              "kind": "privacy",
              "status": 200,
              "checkedAt": "2026-10-04T15:49:12.075622313Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "6076c53fc344"
            },
            {
              "url": "https://www.apiroc.com/tos",
              "kind": "terms",
              "status": 200,
              "checkedAt": "2026-10-04T15:49:13.174399907Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "b0e155d5c872"
            }
          ],
          "updatedAt": "2026-10-05T00:57:15.721813717Z"
        }
      }
    ]
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/categories/scheduling",
    "json": "https://www.anchorterminal.com/categories/scheduling.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/categories/scheduling.md",
    "slim": "https://www.anchorterminal.com/categories/scheduling.min.md"
  },
  "markdown": "APIs that read and write calendars across Google and Microsoft, find free time and book meetings, with booking pages and reminders. Compared on the providers covered, availability logic, webhooks and price per connected account.\n\n- Tools ranked: 7 · agent-ready (BB or better): 2 · accept x402: 0 · hosted endpoints: 7 · desk reviews by the panel: 20\n- JSON: https://www.anchorterminal.com/api/v1/tools.json (list) · https://www.anchorterminal.com/api/v1/rankings.json (ranked) · https://www.anchorterminal.com/api/v1/x402.json (payable) · https://www.anchorterminal.com/api/v1/capabilities.json (by capability)\n- Grades run AA, A, BB, B, C, D, E, F · methodology: https://www.anchorterminal.com/benchmark/\n\n- Capabilities in this category: calendar.read, calendar.write, calendar.availability, calendar.booking, calendar.webhooks\n- https://letme.dev/calendar.read picks the top-graded tool in this list and says how to call it direct; calling through letme comes later (https://www.anchorterminal.com/letme/index.md)\n\n## Ranking\n\n| # | Tool | Vendor | Kind | Category | Grade | Score | Confidence | x402 | Auth | Where | Reviews | Page |\n| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |\n| 8 | Google Calendar API | Google | HTTP API | Scheduling | A | 79.5 | medium | no | OAuth | hosted | 4/5 (8) | https://www.anchorterminal.com/tools/google-calendar-api.md |\n| 87 | Nylas Calendar and Scheduler API | Nylas | HTTP API | Scheduling | BB | 71.3 | medium | no | OAuth or key | hosted | 3/5 (2) | https://www.anchorterminal.com/tools/nylas-calendar.md |\n| 125 | Calendly API + MCP | Calendly | HTTP API | Scheduling | B | 68.4 | medium | no | OAuth or key | hosted | 4/5 (2) | https://www.anchorterminal.com/tools/calendly.md |\n| 170 | Microsoft Graph Calendar API | Microsoft | HTTP API | Scheduling | B | 65.6 | medium | no | OAuth | hosted | 3/5 (2) | https://www.anchorterminal.com/tools/microsoft-graph-calendar.md |\n| 182 | Cronofy API | Cronofy | HTTP API | Scheduling | B | 64.4 | medium | no | OAuth or key | hosted | 4/5 (2) | https://www.anchorterminal.com/tools/cronofy.md |\n| 292 | Cal.com API v2 + MCP | Cal.com | HTTP API | Scheduling | C | 57.5 | medium | no | OAuth or key | hosted + local | 3/5 (2) | https://www.anchorterminal.com/tools/cal-com.md |\n| 417 | Apiroc Unified Calendar API | Apiroc | HTTP API | Scheduling | E | 41.3 | medium | no | OAuth or key | hosted | 2/5 (2) | https://www.anchorterminal.com/tools/apiroc.md |\n\nScores are from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/), with Performance and Task success pending. p95 latency and context cost come from our probes, which haven't run yet.\n\n## Summaries\n\n### 8. Google Calendar API, A (79.5)\n\nGoogle Calendar's REST API for accessing calendars and managing events. 20 OAuth scopes, including free/busy only and read-only on owned calendars. Google calendars only.\n\n- Page: https://www.anchorterminal.com/tools/google-calendar-api · Markdown: https://www.anchorterminal.com/tools/google-calendar-api.md · JSON: https://www.anchorterminal.com/api/v1/tools/google-calendar-api.json\n- Capabilities: calendar.read, calendar.write, calendar.availability, calendar.webhooks · endpoint: `https://www.googleapis.com/calendar/v3`\n\n### 87. Nylas Calendar and Scheduler API, BB (71.3)\n\nUnified calendar API over Google, Microsoft 365 and Outlook, Exchange (EWS) and iCloud. 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- Page: https://www.anchorterminal.com/tools/nylas-calendar · Markdown: https://www.anchorterminal.com/tools/nylas-calendar.md · JSON: https://www.anchorterminal.com/api/v1/tools/nylas-calendar.json\n- Capabilities: calendar.read, calendar.write, calendar.availability, calendar.booking, calendar.webhooks · endpoint: `https://api.us.nylas.com/v3`\n\n### 125. Calendly API + MCP, B (68.4)\n\nCalendly's scheduling API for availability, bookings, invitees and webhooks, with a hosted MCP server. 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- Page: https://www.anchorterminal.com/tools/calendly · Markdown: https://www.anchorterminal.com/tools/calendly.md · JSON: https://www.anchorterminal.com/api/v1/tools/calendly.json\n- Capabilities: calendar.read, calendar.availability, calendar.booking, calendar.webhooks · endpoint: `https://api.calendly.com`\n\n### 170. Microsoft Graph Calendar API, B (65.6)\n\nCalendar endpoints of Microsoft Graph for Outlook, Microsoft 365 and Exchange Online. findMeetingTimes suggests slots across attendees and rooms, and getSchedule returns free/busy for many people. 4 concurrent requests per app per mailbox.\n\n- Page: https://www.anchorterminal.com/tools/microsoft-graph-calendar · Markdown: https://www.anchorterminal.com/tools/microsoft-graph-calendar.md · JSON: https://www.anchorterminal.com/api/v1/tools/microsoft-graph-calendar.json\n- Capabilities: calendar.read, calendar.write, calendar.availability, calendar.webhooks · endpoint: `https://graph.microsoft.com/v1.0`\n\n### 182. Cronofy API, B (64.4)\n\nCalendar sync and scheduling API from a UK company. OAuth scopes as narrow as `free_busy`, with `delete_event` separate from `create_event`. Production pricing starts at $819 a month billed yearly.\n\n- Page: https://www.anchorterminal.com/tools/cronofy · Markdown: https://www.anchorterminal.com/tools/cronofy.md · JSON: https://www.anchorterminal.com/api/v1/tools/cronofy.json\n- Capabilities: calendar.read, calendar.write, calendar.availability, calendar.booking, calendar.webhooks · endpoint: `https://api.cronofy.com`\n\n### 292. Cal.com API v2 + MCP, C (57.5)\n\nScheduling API behind Cal.com's booking pages. 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- Page: https://www.anchorterminal.com/tools/cal-com · Markdown: https://www.anchorterminal.com/tools/cal-com.md · JSON: https://www.anchorterminal.com/api/v1/tools/cal-com.json\n- Capabilities: calendar.read, calendar.availability, calendar.booking, calendar.webhooks · endpoint: `https://api.cal.com/v2`\n\n### 417. Apiroc Unified Calendar API, E (41.3)\n\nUnified calendar API over Google Calendar, Microsoft Outlook (Office 365, Exchange and Outlook.com) and iCloud. $0.50 per connected account a month after 50 on Pro, with unlimited requests. No status page history, changelog, OpenAPI spec, llms.txt or security.txt.\n\n- Page: https://www.anchorterminal.com/tools/apiroc · Markdown: https://www.anchorterminal.com/tools/apiroc.md · JSON: https://www.anchorterminal.com/api/v1/tools/apiroc.json\n- Capabilities: calendar.read, calendar.write, calendar.availability, calendar.webhooks · endpoint: `https://api.apiroc.com/api/v1`\n\n## How we test this category\n\nAn agent finds a free slot across a Google and a Microsoft calendar, books it, moves it and cancels it. We check availability accuracy, time zones, webhook delivery and the cost per connected account. This test hasn't run yet, so Task success is pending and the grades here come from the categories assessed from public evidence.\n\n## Indexed, not reviewed (33)\n\nSorted into this category from public catalogues, with facts and our own checks but no score, grade or rank (https://www.anchorterminal.com/indexed/index.md).\n\n| Listing | Kind | What it does | Why it's here |\n| --- | --- | --- | --- |\n| [42min](https://www.anchorterminal.com/tools/42min-meetings.md) | MCP server | Scheduling for AI assistants: bookings, availability, meeting polls and routing forms. | vendor's own |\n| [AddCal](https://www.anchorterminal.com/tools/addcal.md) | MCP server | Publish public calendars and events others subscribe to: RSVPs, feeds and add-to-calendar links. | vendor's own |\n| [Aether Wealth](https://www.anchorterminal.com/tools/aetherwealth-mcp.md) | MCP server | Aether Wealth MCP for AI assistants: trades, alerts, market data, macro calendar \u0026 indicators. | vendor's own |\n| [Agent Rynku - Warsaw Stock Exchange (GPW) data for your agent](https://www.anchorterminal.com/tools/agentrynku-gpw.md) | MCP server | GPW financials, ratios, company search, earnings calendar and WZA dividends. No account required. | vendor's own |\n| [Astrocal](https://www.anchorterminal.com/tools/astrocal-mcp-server.md) | MCP server | AI-native scheduling: check availability, book meetings, cancel and reschedule via MCP | vendor's own |\n| [Award Travel Finder](https://www.anchorterminal.com/tools/awardtravelfinder-mcp.md) | MCP server | Search award flight availability and points pricing across 27 airlines and 23 loyalty programs. | vendor's own |\n| [Bowmark](https://www.anchorterminal.com/tools/bowmark.md) | MCP server | Do things on live websites: prices, availability, quotes, bookings, anything behind a form or login. | vendor's own |\n| [Chronary](https://www.anchorterminal.com/tools/chronary-mcp.md) | MCP server | Calendar API for AI agents: events, availability, Google/Microsoft setup, scheduling, and iCal. | vendor's own |\n| [Coordinalo — Service Business Operations](https://www.anchorterminal.com/tools/coordinalo-mcp-server.md) | MCP server | Scheduling, availability, clients, billing and CRM for appointment-based services. | vendor's own |\n| [Denik](https://www.anchorterminal.com/tools/denik.md) | MCP server | Book appointments, check availability, list services and create payment links for a Denik business. | vendor's own |\n| [domain-radar](https://www.anchorterminal.com/tools/insight-domain-radar.md) | MCP server | High-Speed Domain Keyword Matrix, TLD Coverage \u0026 RDAP Availability Radar (Powered by insight.surf) | vendor's own |\n| [Forward Email](https://www.anchorterminal.com/tools/forwardemail-mcp-server.md) | MCP server | Privacy-focused email: domains, DNS verification, aliases, SMTP sending, mailboxes and calendars. | vendor's own |\n| [heyoden.com MCP server](https://www.anchorterminal.com/tools/heyoden-mcp.md) | MCP server | Talk to your Oden AI todo and calendar account from Claude Code, Cursor, or any MCP client. | vendor's own |\n| [icloud-calendar-mcp](https://www.anchorterminal.com/tools/onekash-icloud-calendar-mcp.md) | MCP server | MCP server for iCloud (Apple) Calendar access via CalDAV | vendor's own |\n| [INITE Club](https://www.anchorterminal.com/tools/inite-club.md) | MCP server | Ask the agent of someone whose calendar you could not get. No credential needed to try. | vendor's own |\n| [Local MCP](https://www.anchorterminal.com/tools/local-mcp.md) | MCP server | Mac \u0026 Windows: let ChatGPT, Claude \u0026 Cursor use your email, calendar, iMessage, Teams, files. Free. | vendor's own, widely used |\n| [OmniSignal](https://www.anchorterminal.com/tools/omnisignal.md) | MCP server | Live market intelligence \u0026 AI content strategy: trends, competitor moves, content calendar. | vendor's own |\n| [ponlo.ai MCP server](https://www.anchorterminal.com/tools/ponlo-server.md) | MCP server | Family calendar, tasks, meals, lists \u0026 rewards hub for AI assistants. | vendor's own |\n| [reassign](https://www.anchorterminal.com/tools/reassign.md) | MCP server | Reassign: a circular 24-hour calendar and time-tracking copilot with ADHD-friendly scheduling. | vendor's own |\n| [Rootly](https://www.anchorterminal.com/tools/rootly-mcp-server.md) | MCP server | Incident management, on-call scheduling, and intelligent analysis powered by Rootly. | vendor's own |\n| [Servicialo MCP Server](https://www.anchorterminal.com/tools/servicialo-mcp-server.md) | MCP server | Open protocol for booking and scheduling professional services via AI agents | vendor's own |\n| [Shiftyasan Shift Scheduling](https://www.anchorterminal.com/tools/shiftyasan-mcp-server.md) | MCP server | Generate optimized work shift schedules from staffing demand, availability and fairness rules. | vendor's own |\n| [sifting.io MCP server](https://www.anchorterminal.com/tools/sifting-mcp.md) | MCP server | Live crypto/forex/metals prices, OHLCV bars, SEC fundamentals, 13F holdings and econ calendar. | vendor's own |\n| [SquawkFlow Market Structure](https://www.anchorterminal.com/tools/squawkflow-market-structure.md) | MCP server | Free keyless dealer gamma, OI change, market calendar, 13F, congress and CFTC data, dated, cited. | vendor's own |\n| [StudioMeyer Personal Suite](https://www.anchorterminal.com/tools/studiomeyer-personal-suite.md) | MCP server | Local-first productivity: email, calendar, messaging, search, image gen. 49 tools. BYOK. | vendor's own |\n| [Syncline MCP Server](https://www.anchorterminal.com/tools/syncline-mcp-server.md) | MCP server | AI-powered meeting scheduling with intelligent auto-scheduling for Claude and AI agents. | vendor's own |\n| [Syncline MCP Server (Go)](https://www.anchorterminal.com/tools/kekwanu-syncline-mcp-server-go.md) | MCP server | Syncline MCP Server (Go) - AI-powered meeting scheduling with intelligent auto-scheduling | vendor's own |\n| [Syncline MCP Server (TypeScript)](https://www.anchorterminal.com/tools/kekwanu-syncline-mcp-server.md) | MCP server | Syncline MCP Server (TypeScript) - AI-powered meeting scheduling with intelligent auto-scheduling | vendor's own |\n| [tebra](https://www.anchorterminal.com/tools/jamesrosingmd-tebra.md) | MCP server | MCP server for Tebra/Kareo practice management — patients, billing, scheduling, FHIR (45 tools) | vendor's own |\n| [TLDers Domain Prices](https://www.anchorterminal.com/tools/tlders-domain-prices.md) | MCP server | Compare domain prices across 145+ registrars and 1,100+ TLDs, find promo codes, check availability. | vendor's own |\n| [Wahlu](https://www.anchorterminal.com/tools/wahlu-mcp-server.md) | MCP server | Social media scheduling for you and your AI agent: Instagram, TikTok, YouTube, Facebook, LinkedIn. | vendor's own |\n| [zenoti](https://www.anchorterminal.com/tools/jamesrosingmd-zenoti.md) | MCP server | MCP server for Zenoti spa/wellness/medspa — guests, appointments, bookings, invoices | vendor's own |\n| [Zooza MCP Server](https://www.anchorterminal.com/tools/zooza-mcp-server.md) | MCP server | MCP server for Zooza — class scheduling, attendance, and booking for activity businesses. | vendor's own |\n\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "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": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Calendars \u0026 scheduling",
        "url": ""
      }
    ],
    "description": "7 calendars \u0026 scheduling listings ranked by the Anchor benchmark. Leader Google Calendar API (A). APIs that read and write calendars across Google and Microsoft, find free time and book meetings, with booking pages and reminders. Compared on the providers covered, availability logic, webhooks and price per connected account.",
    "facts": [
      "Google Calendar API A",
      "Nylas Calendar and Scheduler API BB",
      "Calendly API + MCP B"
    ],
    "h1": "Calendar and scheduling APIs for AI agents",
    "image": "https://www.anchorterminal.com/assets/og/categories-scheduling.png",
    "path": "/categories/scheduling",
    "published": "",
    "section": "tools",
    "title": "Calendar and scheduling APIs for AI agents, ranked | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/categories/scheduling"
  },
  "tokens": {
    "markdown": 3750,
    "slim": 480
  },
  "version": 1
}
