{
  "data": {
    "a": {
      "slug": "agenda-hero",
      "name": "Agenda Hero",
      "vendor": "Agenda Hero, Inc.",
      "vendorUrl": "https://agendahero.com",
      "kind": "platform",
      "category": "scheduling",
      "summary": "Agenda Hero turns text, photos, PDFs and forwarded emails into calendar events and shareable family, team and school calendars on the web, iOS, Android and Chrome. Its MCP server lets Claude and ChatGPT edit them.",
      "url": "https://www.anchorterminal.com/tools/agenda-hero",
      "markdownUrl": "https://www.anchorterminal.com/tools/agenda-hero.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/agenda-hero.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/agenda-hero.json",
      "dns": "agenda-hero.grade.anchorterminal.com",
      "license": "Closed service. Terms of service and privacy policy are hosted by iubenda, whose robots.txt disallows those paths, so they weren't read. The App Store names Agenda Hero, Inc. as seller and copyright holder.",
      "transports": [
        "streamable-http"
      ],
      "remoteUrl": "https://agendahero.com/api/mcp",
      "packages": [],
      "auth": "oauth",
      "authNotes": "The MCP server at https://agendahero.com/api/mcp takes a bearer token from Agenda Hero's own OAuth server, with dynamic client registration, client ID metadata documents, PKCE (S256), refresh tokens and a revocation endpoint. Scopes are calendars:read, events:read and events:write, plus openid and email for ChatGPT (https://agendahero.com/.well-known/oauth-authorization-server and https://agendahero.com/help/apps-and-extensions/ai-assistants). The person signs in to Agenda Hero and chooses Allow access on a consent screen that lists the scopes.",
      "pricing": "freemium",
      "pricingNotes": "Free at US$0 forever with no card, unlimited events from text and 10 image or PDF uploads. Plus US$5 a month for one person, Family US$10 a month for 6 Plus accounts, Organizations US$20 a month for 5 Plus accounts, billed monthly, with annual billing saving up to 50% (https://agendahero.com/pricing). The MCP connector works on any account, including free (https://agendahero.com/posts/connect-your-calendar-to-claude-and-chatgpt). Checked 21 October 2026.",
      "priceSummary": "$5 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 found on agendahero.com, its pricing page, help centre or OAuth metadata, checked 21 October 2026.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-21"
      },
      "docsUrl": "https://agendahero.com/help/apps-and-extensions/ai-assistants",
      "capabilities": [
        "calendar.read",
        "calendar.write",
        "calendar.share"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "freemium",
        "free-tier",
        "no-card",
        "mcp",
        "oauth",
        "status-page",
        "ios",
        "android"
      ],
      "lastRelease": "2026-10-20",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 34.2,
        "grade": "F",
        "agentReady": false,
        "rank": 1255,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 12,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 28,
          "maintenance": 58,
          "payments": 30,
          "reliability": 35,
          "schema": 18,
          "security": 38,
          "transparency": 49
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-21"
        },
        "negative": 0,
        "verdict": "Agenda Hero is a freemium calendar app whose new MCP server lets Claude and ChatGPT read and edit a person's calendars under scoped OAuth, on free accounts too. Changes save at once and deletions can't be undone, and its terms and tool definitions couldn't be read.",
        "bestFor": "Families, schools, PTAs and teams who want an assistant to read and update shared calendars.",
        "strengths": [
          "OAuth with three scopes, PKCE, dynamic registration and revocation, published in its own metadata.",
          "The connector works on the free plan, which needs no card.",
          "Events from outside sources are read-only to the assistant.",
          "Three iOS releases and the connector launch between 24 September and 20 October 2026."
        ],
        "weaknesses": [
          "Deletions and edits save immediately with no review step, and removed events can't be restored.",
          "One consent grants read and write together, with no read-only option documented.",
          "Tools return event text written by schools and other calendar owners, with no injection guidance.",
          "Terms of service couldn't be read, and no security contact was found."
        ],
        "agentNotes": [
          "Use the calendar's name as it appears in Agenda Hero; the tools find calendars by name.",
          "Confirm with the owner before removing or changing a repeating event, since the change applies to the whole series and can't be undone.",
          "Don't try to edit events that come from a source calendar. They're read-only here and must be changed where they live.",
          "Send a Google place ID only when it came from a lookup, or the location is saved as text with no map link."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "F",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 34.2
          }
        ],
        "editorialScores": {
          "ergonomics": 28,
          "maintenance": 58,
          "payments": 30,
          "reliability": 35,
          "schema": 18,
          "security": 38,
          "transparency": 18
        },
        "provenanceScore": 80,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-21",
            "maintenance": "2026-10-21",
            "payments": "2026-10-21",
            "reliability": "2026-10-21",
            "schema": "2026-10-21",
            "security": "2026-10-21",
            "transparency": "2026-10-21"
          },
          "last": "2026-10-21",
          "lastMoved": "2026-10-30",
          "oldest": "2026-10-21",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "claudeCode": "claude mcp add --transport http agendahero https://agendahero.com/api/mcp",
        "config": {
          "mcpServers": {
            "agendahero": {
              "url": "https://agendahero.com/api/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/calendar.read",
        "tool": "https://letme.dev/agenda-hero"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Agenda Hero Plus",
          "unit": "month",
          "usd": 5,
          "note": "One person, billed monthly. Checked 21 October 2026."
        },
        {
          "item": "Agenda Hero Family",
          "unit": "month",
          "usd": 10,
          "note": "6 Plus accounts."
        },
        {
          "item": "Agenda Hero Organizations",
          "unit": "month",
          "usd": 20,
          "note": "5 Plus accounts."
        }
      ],
      "provenance": {
        "legalEntity": "Agenda Hero, Inc.",
        "domain": "agendahero.com",
        "domainRegistered": "2020-01-17",
        "endpointOnVendorDomain": true,
        "terms": "https://agendahero.com/tos",
        "privacy": "https://agendahero.com/privacy",
        "statusPage": "https://status.agendahero.com",
        "changelog": "https://agendahero.com/posts",
        "securityTxt": "none",
        "checked": "2026-10-21",
        "notes": [
          "The terms and full privacy policy are iubenda embeds (www.iubenda.com/terms-and-conditions/67203807 and /privacy-policy/67203807). iubenda's robots.txt disallows both paths, so their text, dates and entity weren't used.",
          "status.agendahero.com is drawn by script, so its incident history couldn't be read.",
          "agendahero.com/.well-known/security.txt and /llms.txt return 404.",
          "RDAP gives a registration date of 2020-01-17 for agendahero.com."
        ],
        "score": 80
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/agenda-hero.json",
      "live": {
        "slug": "agenda-hero",
        "probe": {
          "target": "https://agendahero.com/api/mcp",
          "method": "get",
          "lastAt": "2026-11-04T21:39:11.701740598Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 316,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 99.94,
          "p50ms24h": 284,
          "p95ms24h": 435,
          "samples24h": 247,
          "samples30d": 3515,
          "days": [
            {
              "date": "2026-10-21",
              "probes": 43,
              "ok": 43
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 246
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 223,
              "ok": 223
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.agendahero.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-04T21:25:09.146167321Z"
        },
        "securityTxt": {
          "url": "https://agendahero.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:53.661826908Z"
        },
        "domain": {
          "domain": "agendahero.com",
          "registered": "2020-01-17",
          "source": "https://rdap.verisign.com/com/v1/domain/agendahero.com",
          "checkedAt": "2026-11-01T14:12:55.891598158Z"
        },
        "pages": [
          {
            "url": "https://agendahero.com/posts",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-04T08:14:24.189603682Z",
            "changedAt": "2026-11-04T08:14:24.189603682Z",
            "fingerprint": "7ecd820c579d"
          },
          {
            "url": "https://agendahero.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-04T08:14:27.013823457Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "14065819c221"
          },
          {
            "url": "https://agendahero.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-04T08:14:29.059923991Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "340e7f8f439f"
          },
          {
            "url": "https://agendahero.com/tos",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-04T08:14:31.194746807Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "304172cbbf15"
          }
        ],
        "updatedAt": "2026-11-04T21:39:11.701740598Z"
      }
    },
    "answer": "SavvyCal API + MCP scores 57 (C) on agent readiness against Agenda Hero's 34.2 (F), and leads in 5 of 7 scored categories. Agenda Hero leads on maintenance \u0026 community.",
    "b": {
      "slug": "savvycal",
      "name": "SavvyCal API + MCP",
      "vendor": "SavvyCal, Inc.",
      "vendorUrl": "https://savvycal.com",
      "kind": "http-api",
      "category": "scheduling",
      "summary": "SavvyCal's scheduling API lists and books events on scheduling links, reads open time slots and manages links, webhooks and workflows, with a hosted MCP server that lets an assistant book, move and cancel meetings.",
      "url": "https://www.anchorterminal.com/tools/savvycal",
      "markdownUrl": "https://www.anchorterminal.com/tools/savvycal.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/savvycal.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/savvycal.json",
      "dns": "savvycal.grade.anchorterminal.com",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.savvycal.com/v1",
      "packages": [],
      "auth": "mixed",
      "authNotes": "Personal access tokens (`pt_secret_...`) made in Settings \u003e Developers, or OAuth 2 authorisation code apps registered there, both sent as `Authorization: Bearer`. OAuth access tokens last 2 hours with a refresh token, and the spec declares no scopes for either. The MCP server at https://savvycal.com/mcp signs in with OAuth 2.1 (PKCE S256, dynamic client registration, scopes `mcp:read` and `mcp:write`, a revocation endpoint) and needs no key.",
      "pricing": "freemium",
      "pricingNotes": "The API, webhooks and the MCP server are on every plan including Free, per the plans page. Free accounts connect calendars, make links and run polls, but people can only book a link on Basic ($12 a user a month, $120 a year) or Premium ($20 a user a month, $200 a year). No self-serve trial, a 30-day money-back guarantee instead, and no card is mentioned for Free. 25 per cent off for students, educators and nonprofits.",
      "priceSummary": "$12 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, the OpenAPI spec at api.savvycal.com/v1/spec or the pricing page (checked 2026-11-03). The spec has no 402 response.",
        "endpoints": []
      },
      "toolCount": 63,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://docs.savvycal.com/developers",
      "llmsTxt": "https://docs.savvycal.com/llms.txt",
      "openapi": "https://api.savvycal.com/v1/spec",
      "capabilities": [
        "calendar.booking",
        "calendar.availability",
        "calendar.read",
        "calendar.webhooks"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "mcp",
        "remote-mcp",
        "oauth",
        "llms-txt",
        "openapi",
        "webhooks",
        "status-page",
        "security-txt",
        "closed-source"
      ],
      "lastRelease": "2026-10-27",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 57,
        "grade": "C",
        "agentReady": false,
        "rank": 724,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 6,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 53,
          "maintenance": 40,
          "payments": 30,
          "reliability": 70,
          "schema": 74,
          "security": 50,
          "transparency": 73
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "A small REST API with a public OpenAPI spec, cursor pagination and signed webhooks, plus a hosted MCP server with 63 tools, OAuth 2.1 and read and write scopes, on every plan. No general rate limit, idempotency key, SDK or certification was found, and booking through a link needs a paid seat.",
        "bestFor": "An agent booking on a person's SavvyCal links or driving their account through the MCP server.",
        "strengths": [
          "OpenAPI 3.0.0 spec at api.savvycal.com/v1/spec, llms.txt and a Markdown twin of every docs page",
          "Hosted MCP server with OAuth 2.1, PKCE, dynamic client registration and `mcp:read` and `mcp:write` scopes, included on every plan",
          "Webhooks signed with HMAC-SHA256, retried up to 20 times with exponential backoff, over 16 event types",
          "Status page with calendar connection components and no notices from June to November 2026",
          "The MCP docs say the assistant asks for confirmation before cancelling meetings, deleting links or inviting teammates"
        ],
        "weaknesses": [
          "No general rate limit documented. The spec names one 429, on creating events (10 a minute per link)",
          "No idempotency keys, Retry-After header or official SDK",
          "No SOC 2 or ISO 27001 certification and no bug bounty, per the security page",
          "OAuth apps and personal access tokens carry no scopes, so a REST token reaches everything the user can",
          "Only one dated product update in the 90 days to 3 November 2026, and no API changelog"
        ],
        "agentNotes": [
          "Call GET /v1/links/{link_id}/slots with `from` and `until` (at most 31 days apart) and book only a returned slot; POST /v1/links/{link_id}/events refuses other times with 422",
          "Keep event creation under 10 requests a minute per link, failed attempts included, or expect 429 with no Retry-After",
          "Page with the `after` and `before` cursors from `metadata` and `limit` up to 100; an invalid filter value resets every filter to its default",
          "Connect the MCP server with a client that supports dynamic client registration, and request `mcp:read` when the task only reads",
          "Verify webhooks with HMAC-SHA256 over the raw body against `x-savvycal-signature` and answer 2xx quickly"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 57
          }
        ],
        "editorialScores": {
          "ergonomics": 53,
          "maintenance": 40,
          "payments": 30,
          "reliability": 70,
          "schema": 74,
          "security": 50,
          "transparency": 57
        },
        "provenanceScore": 89,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl https://api.savvycal.com/v1/me -H \"Authorization: Bearer $SAVVYCAL_TOKEN\"",
        "claudeCode": "claude mcp add --transport http savvycal https://savvycal.com/mcp",
        "config": {
          "mcpServers": {
            "savvycal": {
              "url": "https://savvycal.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/calendar.booking",
        "tool": "https://letme.dev/savvycal"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Basic",
          "unit": "seat-month",
          "usd": 12,
          "note": "$120 a user a year billed annually"
        },
        {
          "item": "Premium",
          "unit": "seat-month",
          "usd": 20,
          "note": "$200 a user a year billed annually"
        }
      ],
      "provenance": {
        "legalEntity": "SavvyCal, Inc.",
        "domain": "savvycal.com",
        "domainRegistered": "2020-08-12",
        "endpointOnVendorDomain": true,
        "terms": "https://savvycal.com/terms",
        "privacy": "https://savvycal.com/privacy",
        "statusPage": "https://savvycal.instatus.com",
        "changelog": "https://feedback.savvycal.com/updates",
        "securityTxt": "valid",
        "checked": "2026-11-03",
        "notes": [
          "The terms (last updated 21 January 2026) name SavvyCal, Inc. under Minnesota law with AAA arbitration. They forbid access through automated or non-human means and the use of bots, scrapers or data-extraction tools, and do not mention the API, which the separate developer docs cover. Recorded as a fact; the public pages were read.",
          "savvycal.com/robots.txt disallows /events/ for every crawler, names ClaudeBot and anthropic-ai among twelve AI crawlers with the same rule, and sets Content-Signal ai-train=no, search=yes, ai-input=yes. docs.savvycal.com allows all with ai-train=yes. Nothing under /events/ was fetched.",
          "The privacy policy (17 October 2026) names SavvyCal, Inc., US servers, Stripe, OpenAI for advertising measurement, and a DPA with Standard Contractual Clauses. The DPA page is dated 16 January 2023.",
          "RDAP gives savvycal.com a registration date of 12 August 2020.",
          "security.txt at savvycal.com/.well-known/security.txt names security@savvycal.com, expires 2 May 2027 and points to savvycal.com/security.",
          "The status page is savvycal.instatus.com (Instatus), linked from the site footer. The What's New board at feedback.savvycal.com/updates is the product changelog."
        ],
        "score": 89
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/savvycal.json",
      "live": {
        "slug": "savvycal",
        "probe": {
          "target": "https://api.savvycal.com/v1",
          "method": "get",
          "lastAt": "2026-11-04T21:39:45.046752337Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 130,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 166,
          "p95ms24h": 237,
          "samples24h": 64,
          "samples30d": 64,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 64,
              "ok": 64
            }
          ]
        },
        "vendorStatus": {
          "page": "https://savvycal.instatus.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-04T21:26:44.192765993Z"
        },
        "securityTxt": {
          "url": "https://savvycal.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-05-03T00:00:00.000Z",
          "checkedAt": "2026-11-04T15:54:05.808454415Z"
        },
        "updatedAt": "2026-11-04T21:39:45.046752337Z"
      }
    },
    "edges": [
      {
        "by": 56,
        "category": "schema",
        "leads": "savvycal",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "The MCP tool definitions need a signed-in token and weren't read, so the typed-schema line is unchecked (0 of 25). No llms.txt or Markdown docs for agents (0). The help page says what each tool does and where it stops, such as read-only source events, whole-series edits and place IDs only from a lookup, which is documentation for people rather than tool descriptions (8 of 20). Typed inputs unchecked (0 of 15). Sample prompts but no documented error responses (5 of 15). Dated product posts and App Store notes, with no versioning for the connector (5 of 15).",
          "b": "OpenAPI 3.0.0 at api.savvycal.com/v1/spec covers all 22 operations with 56 schemas; the MCP tools' schemas could not be read without signing in (23 of 25). llms.txt and a Markdown twin of every docs page (10). Only 8 of the 22 operations carry a description, and those state constraints (events must match an open slot, an invalid filter resets every filter) rather than when to choose another endpoint (10 of 20). Required flags on 14 of 43 parameters, 34 enum properties across the schemas, `limit` bounded 1 to 100, `until` at most 31 days after `from` (12 of 15). Example values on parameters and a documented error shape keyed by field, with 400, 401, 404, 422 and 429 declared per operation, but no full response examples (10 of 15). A /v1 path and a promise that changes are additive, with dated product updates on the feedback board but no API changelog (9 of 15). 23 + 10 + 10 + 12 + 10 + 9 = 74."
        },
        "scores": {
          "a": 18,
          "b": 74
        }
      },
      {
        "by": 35,
        "category": "reliability",
        "leads": "savvycal",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the hosted lines, for the MCP server. A status page at status.agendahero.com (20). Its history is drawn by script and couldn't be read (5). No rate limits published for the connector or the app (0). No overload or retry guidance (0). No SLA (0). The connector is live in ChatGPT's plugin directory and not labelled beta (10).",
          "b": "Read with the hosted lines. Instatus page at savvycal.instatus.com with App, Microsoft 365, Google Calendar and Integrations components and a month-by-month history (20). No notices from June to November 2026 and 100 per cent App uptime each month, a clean record (30). The only limit with a number is in the OpenAPI spec, 10 event creations a minute per link, failed ones included; nothing covers the rest of the API (7 of 15). That 429 is declared with no Retry-After, backoff guidance or idempotency key, and webhooks are the only place retries are described (3 of 15). No SLA; the terms give the service as is (0). The v1 API is generally available and the MCP server, announced 27 October 2026, is not marked beta (10). 20 + 30 + 7 + 3 + 0 + 10 = 70."
        },
        "scores": {
          "a": 35,
          "b": 70
        }
      },
      {
        "by": 25,
        "category": "ergonomics",
        "leads": "savvycal",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Context cost. The help page lists about seven actions, which suggests a compact toolset, but the definitions weren't read (10 of 25). Events can be read for a date range (8 of 20). Errors. The unauthenticated 401 carries a WWW-Authenticate header with resource metadata; tool errors aren't documented (5 of 20). Annotations unchecked, and removals are immediate and permanent with no review step (0 of 20). Calendar time zone is the default, and there are no SDKs, only the MCP server (5 of 15).",
          "b": "List responses are sized by `limit` (default 20, at most 100) with no field selection. The MCP server lists 63 tools with no documented toolset or read-only list, though a client can ask for the `mcp:read` scope alone (10 of 25). Cursor pagination with `after`, `before` and `limit`, and date and status filters on events (17 of 20). Errors name the field, the failed validation and a limit count, which an agent can act on, but a 429 carries no wait time (14 of 20). No idempotency key on booking or link creation, and the MCP annotations could not be read; the docs say the assistant confirms before cancelling, deleting or inviting (6 of 20). Creating an event needs five fields, and there is no official SDK in any language (6 of 15). 10 + 17 + 14 + 6 + 6 = 53."
        },
        "scores": {
          "a": 28,
          "b": 53
        }
      },
      {
        "by": 24,
        "category": "transparency",
        "leads": "savvycal",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "The terms are an iubenda embed whose path iubenda's robots.txt disallows, so the licence line is unchecked and scored absent (0 of 30, unchecked). The privacy page on agendahero.com says prompts go to OpenAI or Anthropic, no data is shared for third-party model training, and Google data is removed when the person disconnects; no retention periods were readable (12 of 30). No deprecation policy or dated notices found (0 of 20). OpenAI and Anthropic are named; hosting and locations aren't (6 of 20).",
          "b": "Closed service with terms that name SavvyCal, Inc. under Minnesota law and forbid automated access to the site, with the API left to the developer docs (15 of 30). The privacy policy (17 October 2026), DPA (16 January 2023) and processor list (24 October 2026) agree on US hosting, Stripe and return or destruction on termination, but no retention period is stated beyond account lifetime (22 of 30). The developer overview promises additive changes; there is no deprecation policy or dated notice, and the terms allow any feature to change without notice (5 of 20). A processor list with purposes, hosting on Fly.io in Virginia and Crunchy Bridge on AWS us-east, but no locations per processor (15 of 20). 15 + 22 + 5 + 15 = 57."
        },
        "scores": {
          "a": 49,
          "b": 73
        }
      },
      {
        "by": 18,
        "category": "maintenance",
        "leads": "agenda-hero",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read for a closed service. iOS 2.2.0 on 20 October 2026 and the MCP connector on 16 October (30). iOS 2.0.0 on 24 September, 2.1.0 on 29 September and 2.2.0 on 20 October, plus eight dated posts in October (20). A public product blog, a contact page and App Store notes that say what changed (8 of 15). Not in the official MCP registry, searched for agendahero and agenda-hero on 21 October 2026 (0). No package to judge (0).",
          "b": "Read as a closed service. The newest dated change is the MCP integration of 27 October 2026 on the updates board (30). It is the only dated entry since 7 July, so fewer than three in 90 days (0 of 20). A public updates board, a feature request board and a support address with a stated 24-hour reply within US Central business hours (10 of 15). No official SDKs (0). No package to assess (0). 30 + 0 + 10 + 0 + 0 = 40."
        },
        "scores": {
          "a": 58,
          "b": 40
        }
      },
      {
        "by": 12,
        "category": "security",
        "leads": "savvycal",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Credential model. OAuth with three scopes (calendars:read, events:read, events:write), PKCE S256, dynamic registration and a revocation endpoint, from Agenda Hero's own metadata (30). Least privilege. The assistant can change only calendars the person can edit and only reads events from sources, but the consent screen grants all three scopes together and deletions run with no confirmation (8 of 20). Injection. Tools return event text from schools, teams and other people's calendars and no guidance on untrusted content was found (0 of 15). No audit log or per-call view for the operator found (0 of 15). No security.txt, disclosure policy, bounty or certification found (0 of 20).",
          "b": "OAuth 2 authorisation code apps with 2-hour access tokens and refresh tokens, and personal access tokens, both in the Authorization header only. The spec declares no scopes for either, and PAT expiry and revocation are not described. The MCP server uses OAuth 2.1 with PKCE S256, dynamic client registration, `mcp:read` and `mcp:write` scopes and a revocation endpoint (22 of 30). `mcp:read` gives a read-only MCP grant, and the vendor says the assistant asks before booking, cancelling, deleting or inviting. REST tokens have no read-only form (14 of 20). Invitee names, answers and metadata written by outsiders come back through events and webhooks with no injection guidance; the AI page says the assistant sees calendar conflicts but not event names (2 of 15). Webhook request logs and a Connected Apps list with revoke, but no per-call audit log for the operator (4 of 15). Valid security.txt to 2 May 2027, a security page and an SSDLC page, but no SOC 2 or ISO 27001 (the page says not yet) and no bug bounty (8 of 20). 22 + 14 + 2 + 4 + 8 = 50."
        },
        "scores": {
          "a": 38,
          "b": 50
        }
      }
    ],
    "facts": [
      {
        "a": "Platform",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Agenda Hero, Inc.",
        "b": "SavvyCal, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://agendahero.com/api/mcp",
        "b": "https://api.savvycal.com/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "Streamable HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Closed service. Terms of service and privacy policy are hosted by iubenda, whose robots.txt disallows those paths, so they weren't read. The App Store names Agenda Hero, Inc. as seller and copyright holder.",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "63",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-20",
        "b": "2026-10-27",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "2026-01-21",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-10-17",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "2.3/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "SavvyCal API + MCP scores 57 (C) on agent readiness against Agenda Hero's 34.2 (F), and leads in 5 of 7 scored categories. Agenda Hero leads on maintenance \u0026 community.",
        "question": "Which is better for AI agents, Agenda Hero or SavvyCal API + MCP?"
      },
      {
        "answer": "Yes. Agenda Hero has a hosted endpoint at https://agendahero.com/api/mcp and SavvyCal API + MCP at https://api.savvycal.com/v1.",
        "question": "Can an agent call Agenda Hero and SavvyCal API + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Maintenance \u0026 community, 58 against 40"
        ],
        "also": null,
        "goodFor": "Families, schools, PTAs and teams who want an assistant to read and update shared calendars.",
        "slug": "agenda-hero",
        "watchFor": "Deletions and edits save immediately with no review step, and removed events can't be restored."
      },
      {
        "aheadOn": [
          "Reliability, 70 against 35",
          "Schema \u0026 documentation, 74 against 18",
          "Agent ergonomics, 53 against 28",
          "Security \u0026 auth, 50 against 38",
          "Transparency \u0026 trust, 73 against 49"
        ],
        "also": null,
        "goodFor": "An agent booking on a person's SavvyCal links or driving their account through the MCP server.",
        "slug": "savvycal",
        "watchFor": "No general rate limit documented. The spec names one 429, on creating events (10 a minute per link)"
      }
    ],
    "history": {
      "agenda-hero": [
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-30",
          "delta": -0.4,
          "from": 34.6,
          "fromGrade": "F",
          "to": 34.2,
          "toGrade": "F"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 34.5,
          "fromGrade": "F",
          "to": 34.6,
          "toGrade": "F"
        }
      ],
      "savvycal": null
    },
    "job": {
      "capability": "calendar.read",
      "name": "Calendar access"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-agenda-hero.json",
        "title": "Acuity Scheduling API vs Agenda Hero",
        "url": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-agenda-hero"
      },
      {
        "json": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-savvycal.json",
        "title": "Acuity Scheduling API vs SavvyCal API + MCP",
        "url": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-savvycal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agenda-hero-vs-apiroc.json",
        "title": "Agenda Hero vs Apiroc Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/agenda-hero-vs-apiroc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agenda-hero-vs-aurinko-calendar.json",
        "title": "Agenda Hero vs Aurinko Calendar API",
        "url": "https://www.anchorterminal.com/compare/agenda-hero-vs-aurinko-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agenda-hero-vs-cal-com.json",
        "title": "Agenda Hero vs Cal.com API v2 + MCP",
        "url": "https://www.anchorterminal.com/compare/agenda-hero-vs-cal-com"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agenda-hero-vs-calendly.json",
        "title": "Agenda Hero vs Calendly API + MCP",
        "url": "https://www.anchorterminal.com/compare/agenda-hero-vs-calendly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agenda-hero-vs-cozi.json",
        "title": "Agenda Hero vs Cozi Family Organizer",
        "url": "https://www.anchorterminal.com/compare/agenda-hero-vs-cozi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agenda-hero-vs-cronofy.json",
        "title": "Agenda Hero vs Cronofy API",
        "url": "https://www.anchorterminal.com/compare/agenda-hero-vs-cronofy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agenda-hero-vs-google-calendar-api.json",
        "title": "Agenda Hero vs Google Calendar API",
        "url": "https://www.anchorterminal.com/compare/agenda-hero-vs-google-calendar-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agenda-hero-vs-microsoft-graph-calendar.json",
        "title": "Agenda Hero vs Microsoft Graph Calendar API",
        "url": "https://www.anchorterminal.com/compare/agenda-hero-vs-microsoft-graph-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agenda-hero-vs-nylas-calendar.json",
        "title": "Agenda Hero vs Nylas Calendar and Scheduler API",
        "url": "https://www.anchorterminal.com/compare/agenda-hero-vs-nylas-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agenda-hero-vs-zoom-scheduler.json",
        "title": "Agenda Hero vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/agenda-hero-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apiroc-vs-savvycal.json",
        "title": "Apiroc Unified Calendar API vs SavvyCal API + MCP",
        "url": "https://www.anchorterminal.com/compare/apiroc-vs-savvycal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-savvycal.json",
        "title": "Aurinko Calendar API vs SavvyCal API + MCP",
        "url": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-savvycal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cal-com-vs-savvycal.json",
        "title": "Cal.com API v2 + MCP vs SavvyCal API + MCP",
        "url": "https://www.anchorterminal.com/compare/cal-com-vs-savvycal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/calendly-vs-savvycal.json",
        "title": "Calendly API + MCP vs SavvyCal API + MCP",
        "url": "https://www.anchorterminal.com/compare/calendly-vs-savvycal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cozi-vs-savvycal.json",
        "title": "Cozi Family Organizer vs SavvyCal API + MCP",
        "url": "https://www.anchorterminal.com/compare/cozi-vs-savvycal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cronofy-vs-savvycal.json",
        "title": "Cronofy API vs SavvyCal API + MCP",
        "url": "https://www.anchorterminal.com/compare/cronofy-vs-savvycal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-calendar-api-vs-savvycal.json",
        "title": "Google Calendar API vs SavvyCal API + MCP",
        "url": "https://www.anchorterminal.com/compare/google-calendar-api-vs-savvycal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-savvycal.json",
        "title": "Microsoft Graph Calendar API vs SavvyCal API + MCP",
        "url": "https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-savvycal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nylas-calendar-vs-savvycal.json",
        "title": "Nylas Calendar and Scheduler API vs SavvyCal API + MCP",
        "url": "https://www.anchorterminal.com/compare/nylas-calendar-vs-savvycal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/savvycal-vs-youcanbookme.json",
        "title": "SavvyCal API + MCP vs YouCanBookMe API",
        "url": "https://www.anchorterminal.com/compare/savvycal-vs-youcanbookme"
      },
      {
        "json": "https://www.anchorterminal.com/compare/savvycal-vs-zoom-scheduler.json",
        "title": "SavvyCal API + MCP vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/savvycal-vs-zoom-scheduler"
      }
    ],
    "panel": null,
    "scores": [
      {
        "agenda-hero": 35,
        "by": 35,
        "edge": "savvycal",
        "key": "reliability",
        "name": "Reliability",
        "savvycal": 70,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "agenda-hero": 18,
        "by": 56,
        "edge": "savvycal",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "savvycal": 74,
        "weight": 13
      },
      {
        "agenda-hero": 28,
        "by": 25,
        "edge": "savvycal",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "savvycal": 53,
        "weight": 13
      },
      {
        "agenda-hero": 38,
        "by": 12,
        "edge": "savvycal",
        "key": "security",
        "name": "Security \u0026 auth",
        "savvycal": 50,
        "weight": 14
      },
      {
        "agenda-hero": 30,
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "savvycal": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "agenda-hero": 58,
        "by": 18,
        "edge": "agenda-hero",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "savvycal": 40,
        "weight": 7
      },
      {
        "agenda-hero": 49,
        "by": 24,
        "edge": "savvycal",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "savvycal": 73,
        "weight": 7
      }
    ],
    "summary": "SavvyCal API + MCP scores 57 (C) on agent readiness against Agenda Hero's 34.2 (F), and leads in 5 of 7 scored categories. Agenda Hero leads on maintenance \u0026 community. Both do calendar access.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "agenda-hero": "Agenda Hero is a freemium calendar app whose new MCP server lets Claude and ChatGPT read and edit a person's calendars under scoped OAuth, on free accounts too. Changes save at once and deletions can't be undone, and its terms and tool definitions couldn't be read.",
      "savvycal": "A small REST API with a public OpenAPI spec, cursor pagination and signed webhooks, plus a hosted MCP server with 63 tools, OAuth 2.1 and read and write scopes, on every plan. No general rate limit, idempotency key, SDK or certification was found, and booking through a link needs a paid seat."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/agenda-hero-vs-savvycal",
    "json": "https://www.anchorterminal.com/compare/agenda-hero-vs-savvycal.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/agenda-hero-vs-savvycal.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/agenda-hero-vs-savvycal.min.md"
  },
  "markdown": "SavvyCal API + MCP scores 57 (C) on agent readiness against Agenda Hero's 34.2 (F), and leads in 5 of 7 scored categories. Agenda Hero leads on maintenance \u0026 community. Both do calendar access.\n\n- Agenda Hero: grade F, 34.2/100, rank #1255 of 1349. Markdown https://www.anchorterminal.com/tools/agenda-hero.md · JSON https://www.anchorterminal.com/api/v1/tools/agenda-hero.json\n- SavvyCal API + MCP: grade C, 57/100, rank #724 of 1349. Markdown https://www.anchorterminal.com/tools/savvycal.md · JSON https://www.anchorterminal.com/api/v1/tools/savvycal.json\n- Best calendar and scheduling APIs for AI agents: https://www.anchorterminal.com/best/scheduling/index.md\n- All 89 scheduling comparisons: https://www.anchorterminal.com/compare/scheduling/index.md\n\n## Which one, for what\n\n### Agenda Hero (F)\n\nGood for: Families, schools, PTAs and teams who want an assistant to read and update shared calendars.\n\nAhead on:\n- Maintenance \u0026 community, 58 against 40\n\nWatch for: Deletions and edits save immediately with no review step, and removed events can't be restored.\n\n### SavvyCal API + MCP (C)\n\nGood for: An agent booking on a person's SavvyCal links or driving their account through the MCP server.\n\nAhead on:\n- Reliability, 70 against 35\n- Schema \u0026 documentation, 74 against 18\n- Agent ergonomics, 53 against 28\n- Security \u0026 auth, 50 against 38\n- Transparency \u0026 trust, 73 against 49\n\nWatch for: No general rate limit documented. The spec names one 429, on creating events (10 a minute per link)\n\n\n## Why the edge\n\n### Schema \u0026 documentation: SavvyCal API + MCP +56\n\n- Agenda Hero (18): The MCP tool definitions need a signed-in token and weren't read, so the typed-schema line is unchecked (0 of 25). No llms.txt or Markdown docs for agents (0). The help page says what each tool does and where it stops, such as read-only source events, whole-series edits and place IDs only from a lookup, which is documentation for people rather than tool descriptions (8 of 20). Typed inputs unchecked (0 of 15). Sample prompts but no documented error responses (5 of 15). Dated product posts and App Store notes, with no versioning for the connector (5 of 15).\n- SavvyCal API + MCP (74): OpenAPI 3.0.0 at api.savvycal.com/v1/spec covers all 22 operations with 56 schemas; the MCP tools' schemas could not be read without signing in (23 of 25). llms.txt and a Markdown twin of every docs page (10). Only 8 of the 22 operations carry a description, and those state constraints (events must match an open slot, an invalid filter resets every filter) rather than when to choose another endpoint (10 of 20). Required flags on 14 of 43 parameters, 34 enum properties across the schemas, `limit` bounded 1 to 100, `until` at most 31 days after `from` (12 of 15). Example values on parameters and a documented error shape keyed by field, with 400, 401, 404, 422 and 429 declared per operation, but no full response examples (10 of 15). A /v1 path and a promise that changes are additive, with dated product updates on the feedback board but no API changelog (9 of 15). 23 + 10 + 10 + 12 + 10 + 9 = 74.\n\n### Reliability: SavvyCal API + MCP +35\n\n- Agenda Hero (35): Read with the hosted lines, for the MCP server. A status page at status.agendahero.com (20). Its history is drawn by script and couldn't be read (5). No rate limits published for the connector or the app (0). No overload or retry guidance (0). No SLA (0). The connector is live in ChatGPT's plugin directory and not labelled beta (10).\n- SavvyCal API + MCP (70): Read with the hosted lines. Instatus page at savvycal.instatus.com with App, Microsoft 365, Google Calendar and Integrations components and a month-by-month history (20). No notices from June to November 2026 and 100 per cent App uptime each month, a clean record (30). The only limit with a number is in the OpenAPI spec, 10 event creations a minute per link, failed ones included; nothing covers the rest of the API (7 of 15). That 429 is declared with no Retry-After, backoff guidance or idempotency key, and webhooks are the only place retries are described (3 of 15). No SLA; the terms give the service as is (0). The v1 API is generally available and the MCP server, announced 27 October 2026, is not marked beta (10). 20 + 30 + 7 + 3 + 0 + 10 = 70.\n\n### Agent ergonomics: SavvyCal API + MCP +25\n\n- Agenda Hero (28): Context cost. The help page lists about seven actions, which suggests a compact toolset, but the definitions weren't read (10 of 25). Events can be read for a date range (8 of 20). Errors. The unauthenticated 401 carries a WWW-Authenticate header with resource metadata; tool errors aren't documented (5 of 20). Annotations unchecked, and removals are immediate and permanent with no review step (0 of 20). Calendar time zone is the default, and there are no SDKs, only the MCP server (5 of 15).\n- SavvyCal API + MCP (53): List responses are sized by `limit` (default 20, at most 100) with no field selection. The MCP server lists 63 tools with no documented toolset or read-only list, though a client can ask for the `mcp:read` scope alone (10 of 25). Cursor pagination with `after`, `before` and `limit`, and date and status filters on events (17 of 20). Errors name the field, the failed validation and a limit count, which an agent can act on, but a 429 carries no wait time (14 of 20). No idempotency key on booking or link creation, and the MCP annotations could not be read; the docs say the assistant confirms before cancelling, deleting or inviting (6 of 20). Creating an event needs five fields, and there is no official SDK in any language (6 of 15). 10 + 17 + 14 + 6 + 6 = 53.\n\n### Transparency \u0026 trust: SavvyCal API + MCP +24\n\n- Agenda Hero (49): The terms are an iubenda embed whose path iubenda's robots.txt disallows, so the licence line is unchecked and scored absent (0 of 30, unchecked). The privacy page on agendahero.com says prompts go to OpenAI or Anthropic, no data is shared for third-party model training, and Google data is removed when the person disconnects; no retention periods were readable (12 of 30). No deprecation policy or dated notices found (0 of 20). OpenAI and Anthropic are named; hosting and locations aren't (6 of 20).\n- SavvyCal API + MCP (73): Closed service with terms that name SavvyCal, Inc. under Minnesota law and forbid automated access to the site, with the API left to the developer docs (15 of 30). The privacy policy (17 October 2026), DPA (16 January 2023) and processor list (24 October 2026) agree on US hosting, Stripe and return or destruction on termination, but no retention period is stated beyond account lifetime (22 of 30). The developer overview promises additive changes; there is no deprecation policy or dated notice, and the terms allow any feature to change without notice (5 of 20). A processor list with purposes, hosting on Fly.io in Virginia and Crunchy Bridge on AWS us-east, but no locations per processor (15 of 20). 15 + 22 + 5 + 15 = 57.\n\n### Maintenance \u0026 community: Agenda Hero +18\n\n- Agenda Hero (58): Read for a closed service. iOS 2.2.0 on 20 October 2026 and the MCP connector on 16 October (30). iOS 2.0.0 on 24 September, 2.1.0 on 29 September and 2.2.0 on 20 October, plus eight dated posts in October (20). A public product blog, a contact page and App Store notes that say what changed (8 of 15). Not in the official MCP registry, searched for agendahero and agenda-hero on 21 October 2026 (0). No package to judge (0).\n- SavvyCal API + MCP (40): Read as a closed service. The newest dated change is the MCP integration of 27 October 2026 on the updates board (30). It is the only dated entry since 7 July, so fewer than three in 90 days (0 of 20). A public updates board, a feature request board and a support address with a stated 24-hour reply within US Central business hours (10 of 15). No official SDKs (0). No package to assess (0). 30 + 0 + 10 + 0 + 0 = 40.\n\n### Security \u0026 auth: SavvyCal API + MCP +12\n\n- Agenda Hero (38): Credential model. OAuth with three scopes (calendars:read, events:read, events:write), PKCE S256, dynamic registration and a revocation endpoint, from Agenda Hero's own metadata (30). Least privilege. The assistant can change only calendars the person can edit and only reads events from sources, but the consent screen grants all three scopes together and deletions run with no confirmation (8 of 20). Injection. Tools return event text from schools, teams and other people's calendars and no guidance on untrusted content was found (0 of 15). No audit log or per-call view for the operator found (0 of 15). No security.txt, disclosure policy, bounty or certification found (0 of 20).\n- SavvyCal API + MCP (50): OAuth 2 authorisation code apps with 2-hour access tokens and refresh tokens, and personal access tokens, both in the Authorization header only. The spec declares no scopes for either, and PAT expiry and revocation are not described. The MCP server uses OAuth 2.1 with PKCE S256, dynamic client registration, `mcp:read` and `mcp:write` scopes and a revocation endpoint (22 of 30). `mcp:read` gives a read-only MCP grant, and the vendor says the assistant asks before booking, cancelling, deleting or inviting. REST tokens have no read-only form (14 of 20). Invitee names, answers and metadata written by outsiders come back through events and webhooks with no injection guidance; the AI page says the assistant sees calendar conflicts but not event names (2 of 15). Webhook request logs and a Connected Apps list with revoke, but no per-call audit log for the operator (4 of 15). Valid security.txt to 2 May 2027, a security page and an SSDLC page, but no SOC 2 or ISO 27001 (the page says not yet) and no bug bounty (8 of 20). 22 + 14 + 2 + 4 + 8 = 50.\n\n## Score by category\n\n| Category | Weight | Agenda Hero | SavvyCal API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 35 | 70 | SavvyCal API + MCP +35 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 18 | 74 | SavvyCal API + MCP +56 |\n| Agent ergonomics | 13% (16.2 this run) | 28 | 53 | SavvyCal API + MCP +25 |\n| Security \u0026 auth | 14% (17.5 this run) | 38 | 50 | SavvyCal API + MCP +12 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 30 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 58 | 40 | Agenda Hero +18 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 49 | 73 | SavvyCal API + MCP +24 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **34.2 · F** | **57 · C** | |\n\n## Facts side by side\n\n| Fact | Agenda Hero | SavvyCal API + MCP |\n| --- | --- | --- |\n| Kind | Platform | HTTP API |\n| Vendor | Agenda Hero, Inc. | SavvyCal, Inc. |\n| Hosted endpoint | `https://agendahero.com/api/mcp` | `https://api.savvycal.com/v1` |\n| Transports | Streamable HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Closed service. Terms of service and privacy policy are hosted by iubenda, whose robots.txt disallows those paths, so they weren't read. The App Store names Agenda Hero, Inc. as seller and copyright holder. | none |\n| Tools exposed | none | 63 |\n| Read-only variant documented | yes | no |\n| llms.txt | no | yes |\n| Last release | 2026-10-20 | 2026-10-27 |\n| Terms last updated | couldn't be read | 2026-01-21 |\n| Privacy policy last updated | no date given | 2026-10-17 |\n| Customer content may train models | couldn't be read | not found in the text |\n| Terms restrict automated access | couldn't be read | yes |\n| Terms restrict benchmarking | couldn't be read | yes |\n| Terms or service can change without notice | couldn't be read | yes |\n| Arbitration or class-action waiver | couldn't be read | yes |\n| Agent reviews | 2.3/5 (4) | none |\n\n## How the scores have moved\n\n### Agenda Hero\n\n- -0.4 on 30 October 2026: checklist\n- +0.1 on 27 October 2026: checklist\n\n### SavvyCal API + MCP\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Agenda Hero.** Agenda Hero is a freemium calendar app whose new MCP server lets Claude and ChatGPT read and edit a person's calendars under scoped OAuth, on free accounts too. Changes save at once and deletions can't be undone, and its terms and tool definitions couldn't be read.\n\n**SavvyCal API + MCP.** A small REST API with a public OpenAPI spec, cursor pagination and signed webhooks, plus a hosted MCP server with 63 tools, OAuth 2.1 and read and write scopes, on every plan. No general rate limit, idempotency key, SDK or certification was found, and booking through a link needs a paid seat.\n\n## Before you call either\n\n### Agenda Hero\n\n1. Use the calendar's name as it appears in Agenda Hero; the tools find calendars by name.\n2. Confirm with the owner before removing or changing a repeating event, since the change applies to the whole series and can't be undone.\n3. Don't try to edit events that come from a source calendar. They're read-only here and must be changed where they live.\n4. Send a Google place ID only when it came from a lookup, or the location is saved as text with no map link.\n\n### SavvyCal API + MCP\n\n1. Call GET /v1/links/{link_id}/slots with `from` and `until` (at most 31 days apart) and book only a returned slot; POST /v1/links/{link_id}/events refuses other times with 422\n2. Keep event creation under 10 requests a minute per link, failed attempts included, or expect 429 with no Retry-After\n3. Page with the `after` and `before` cursors from `metadata` and `limit` up to 100; an invalid filter value resets every filter to its default\n4. Connect the MCP server with a client that supports dynamic client registration, and request `mcp:read` when the task only reads\n5. Verify webhooks with HMAC-SHA256 over the raw body against `x-savvycal-signature` and answer 2xx quickly\n\n## Questions\n\n### Which is better for AI agents, Agenda Hero or SavvyCal API + MCP?\n\nSavvyCal API + MCP scores 57 (C) on agent readiness against Agenda Hero's 34.2 (F), and leads in 5 of 7 scored categories. Agenda Hero leads on maintenance \u0026 community.\n\n### Can an agent call Agenda Hero and SavvyCal API + MCP without installing anything?\n\nYes. Agenda Hero has a hosted endpoint at https://agendahero.com/api/mcp and SavvyCal API + MCP at https://api.savvycal.com/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/agenda-hero-vs-savvycal.json, and with the fewest tokens: https://www.anchorterminal.com/compare/agenda-hero-vs-savvycal.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"agenda-hero\", \"b\": \"savvycal\"}`. From a terminal: `anchor compare agenda-hero savvycal`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/agenda-hero.json and https://www.anchorterminal.com/api/v1/tools/savvycal.json\n\n## Other comparisons with Agenda Hero or SavvyCal API + MCP\n\n- [Acuity Scheduling API vs Agenda Hero](https://www.anchorterminal.com/compare/acuity-scheduling-vs-agenda-hero.md)\n- [Acuity Scheduling API vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/acuity-scheduling-vs-savvycal.md)\n- [Agenda Hero vs Apiroc Unified Calendar API](https://www.anchorterminal.com/compare/agenda-hero-vs-apiroc.md)\n- [Agenda Hero vs Aurinko Calendar API](https://www.anchorterminal.com/compare/agenda-hero-vs-aurinko-calendar.md)\n- [Agenda Hero vs Cal.com API v2 + MCP](https://www.anchorterminal.com/compare/agenda-hero-vs-cal-com.md)\n- [Agenda Hero vs Calendly API + MCP](https://www.anchorterminal.com/compare/agenda-hero-vs-calendly.md)\n- [Agenda Hero vs Cozi Family Organizer](https://www.anchorterminal.com/compare/agenda-hero-vs-cozi.md)\n- [Agenda Hero vs Cronofy API](https://www.anchorterminal.com/compare/agenda-hero-vs-cronofy.md)\n- [Agenda Hero vs Google Calendar API](https://www.anchorterminal.com/compare/agenda-hero-vs-google-calendar-api.md)\n- [Agenda Hero vs Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/agenda-hero-vs-microsoft-graph-calendar.md)\n- [Agenda Hero vs Nylas Calendar and Scheduler API](https://www.anchorterminal.com/compare/agenda-hero-vs-nylas-calendar.md)\n- [Agenda Hero vs Zoom Scheduler API](https://www.anchorterminal.com/compare/agenda-hero-vs-zoom-scheduler.md)\n- [Apiroc Unified Calendar API vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/apiroc-vs-savvycal.md)\n- [Aurinko Calendar API vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/aurinko-calendar-vs-savvycal.md)\n- [Cal.com API v2 + MCP vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/cal-com-vs-savvycal.md)\n- [Calendly API + MCP vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/calendly-vs-savvycal.md)\n- [Cozi Family Organizer vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/cozi-vs-savvycal.md)\n- [Cronofy API vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/cronofy-vs-savvycal.md)\n- [Google Calendar API vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/google-calendar-api-vs-savvycal.md)\n- [Microsoft Graph Calendar API vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-savvycal.md)\n- [Nylas Calendar and Scheduler API vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/nylas-calendar-vs-savvycal.md)\n- [SavvyCal API + MCP vs YouCanBookMe API](https://www.anchorterminal.com/compare/savvycal-vs-youcanbookme.md)\n- [SavvyCal API + MCP vs Zoom Scheduler API](https://www.anchorterminal.com/compare/savvycal-vs-zoom-scheduler.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Agenda Hero vs SavvyCal API + MCP",
        "url": ""
      }
    ],
    "description": "SavvyCal scores 57 (C) to Agenda Hero's 34.2 (F) for calendar access. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Agenda Hero F 34.2",
      "SavvyCal API + MCP C 57",
      "scores"
    ],
    "h1": "Agenda Hero vs SavvyCal API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/agenda-hero-vs-savvycal",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Agenda Hero vs SavvyCal for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/agenda-hero-vs-savvycal"
  },
  "tokens": {
    "markdown": 4550,
    "slim": 2780
  },
  "version": 1
}
