Back to blog
Insights

The Protocol War for AI Scheduling

Arjun MehtaArjun MehtaApril 6, 20269 min read

TL;DR

Technical comparison of MCP vs function calling vs REST vs iCal for AI scheduling. Analysis of why MCP is winning the protocol war for agent scheduling.

Every AI assistant, copilot, and agent wants to schedule meetings. That means every one of them needs a protocol for interacting with calendars and scheduling systems. Right now, four approaches are competing: the Model Context Protocol (MCP), LLM function calling, traditional REST APIs, and the venerable iCal/CalDAV standards. The outcome of this protocol war will determine how AI scheduling works for the next decade.

This is not an abstract standards debate. The protocol that wins becomes the foundation for every AI-driven calendar interaction. It determines whether your AI assistant can schedule across organizational boundaries, whether agents from different vendors can negotiate with each other, and whether the scheduling layer is open or locked into a single ecosystem.

Key takeaways:

  • Four protocols are competing for AI scheduling: MCP, function calling, REST APIs, and iCal/CalDAV.
  • MCP wins for cross-boundary agent-to-agent scheduling because it supports capability discovery, multi-step reasoning, and standardized tool interaction.
  • Function calling is optimal for single-system scheduling where the AI and tools are co-located.
  • REST APIs remain the backbone for application-to-application scheduling integrations.
  • iCal/CalDAV are data formats, not agent protocols. They complement MCP rather than compete with it.

The contenders

iCal and CalDAV: the incumbents

iCal (.ics) has been the standard for calendar data exchange since 1998. CalDAV, built on top of WebDAV, is the protocol for syncing calendars between servers and clients. Every calendar app in existence speaks iCal. It is the most widely deployed calendar standard by a massive margin.

But iCal is a data format, not an interaction protocol. It describes events: start time, end time, location, attendees. It does not describe capabilities, preferences, or negotiation flows. You can publish an iCal feed and let someone read your calendar. You cannot use iCal to say "find me a 30-minute slot next week that avoids my focus time and matches this other person's availability."

CalDAV adds synchronization but not intelligence. It solves "keep these two calendars in sync," not "negotiate the best meeting time between two parties." For AI scheduling, iCal/CalDAV provides the data layer but cannot serve as the interaction protocol.

REST APIs: the workhorse

Google Calendar API, Microsoft Graph API, and every scheduling platform's API use REST. The developer defines endpoints, the client sends requests, the server returns responses. It is well-understood, well-tooled, and reliable.

For application-to-application scheduling, REST works. A CRM checking a user's calendar availability through Google Calendar API is a solved problem. The developer knows the endpoint, the authentication flow, the request format, and the response schema. They write the integration once and it works.

The limitation is agent compatibility. REST APIs require the developer to hardcode the workflow: "Call this endpoint, parse this response, then call that endpoint." An AI agent using REST needs explicit instructions for every step. There is no capability discovery. There is no dynamic composition. The agent cannot figure out what the scheduling system can do. Someone has to tell it, in advance, for every system it might interact with.

This creates the N-times-M problem. If 10 AI assistants need to interact with 10 scheduling platforms, that is 100 custom integrations. Each with its own auth flow, its own endpoint schema, its own error handling. This does not scale.

Function calling: the LLM-native approach

Function calling, as implemented by OpenAI, Anthropic, Google, and others, lets an LLM invoke defined functions during a conversation. You provide a schema describing available functions (like "check_availability" or "create_booking"), and the model decides when and how to call them based on the conversation context.

For single-system scheduling, this is elegant. An AI assistant embedded in a scheduling platform can use function calling to check availability, propose times, and create bookings. The functions are defined by the platform, the model reasons about when to call them, and the user gets a natural conversational scheduling experience.

The limitation is scope. Function calling works within one system's boundary. Your AI assistant can call your scheduling platform's functions. But it cannot call someone else's scheduling platform's functions unless that platform has been explicitly integrated and its function schemas have been provided. Cross-boundary scheduling, where your agent talks to someone else's agent on a different platform, is not what function calling was designed for.

MCP: the agent-native protocol

The Model Context Protocol was designed specifically for AI agents interacting with external tools and services. It provides three things that the other approaches lack:

Capability discovery. An agent connecting to an MCP-compatible scheduling server can discover what the server offers: available tools (check availability, create booking, reschedule), available resources (calendar data, preference profiles), and available prompts (scheduling templates). The agent does not need pre-programmed knowledge of the API. It discovers capabilities at runtime.

See this in action

skdul gives you beautiful booking pages with smart availability — plus full AI agent support.

Try it free

Standardized interaction. Every MCP server exposes tools through the same protocol. An agent that knows how to interact with one MCP scheduling server can interact with any MCP scheduling server. This solves the N-times-M problem: agents implement MCP once, scheduling platforms implement MCP once, and every combination works.

Multi-step reasoning. MCP supports contextual, stateful interactions where the agent can chain multiple tool calls with reasoning in between. Check availability, evaluate the results against preferences, propose a subset of slots, handle a counter-proposal, and confirm the booking. This is a natural workflow for scheduling negotiation and maps poorly onto stateless REST calls.

Why MCP wins for AI scheduling

The decisive factor is the cross-boundary use case. Scheduling is inherently a multi-party, multi-system problem. Your calendar is on Google. Your colleague's calendar is on Outlook. Your client uses a scheduling platform you have never heard of. An effective AI scheduling protocol must work across all of these without requiring bilateral integration agreements.

MCP is the only contender designed for this. iCal provides the data format but not the interaction protocol. REST provides the interaction pattern but not the discovery or standardization. Function calling provides the AI-native interface but not the cross-boundary capability.

The technical argument breaks down like this:

  • Agent-to-agent negotiation requires a protocol both agents understand without pre-arrangement. MCP provides this. REST does not.
  • Dynamic capability discovery is essential when agents encounter unfamiliar scheduling systems. MCP provides this. Function calling schemas must be pre-defined.
  • Stateful multi-step workflows map naturally to scheduling negotiation. MCP supports this natively. REST requires the application layer to manage state.
  • Preference-aware slot evaluation requires the agent to reason about results between steps. MCP's design accommodates this. iCal has no concept of preferences.

The layered architecture

The answer is not "MCP replaces everything." It is a layered architecture where each protocol handles what it does best:

Data layer: iCal/CalDAV. Calendar events are stored and synced using iCal format over CalDAV. This is proven, universal, and does not need replacing.

Application layer: REST APIs. Scheduling platforms expose REST APIs for application integrations. CRMs, websites, and mobile apps use REST to interact with the scheduling backend. This is the integration backbone.

Intelligence layer: Function calling. Within a single scheduling platform, AI features use function calling to let the embedded LLM interact with scheduling tools. This powers the conversational interface.

Agent layer: MCP. For cross-boundary, agent-to-agent interactions, MCP provides the standardized protocol. This is the MCP server layer that lets any agent interact with any scheduling system.

Each layer serves a different consumer. iCal serves calendar apps. REST serves developers. Function calling serves embedded AI. MCP serves autonomous agents. The protocol war is not about one winner replacing all others. It is about which protocol claims the agent layer, because that is where the future of scheduling lives.

The stakes

Whoever controls the protocol for AI scheduling controls the interface between humans and their calendars. Today, that interface is a GUI: you open Google Calendar and click on a time slot. Tomorrow, it is a conversation: you tell your agent what you need and it handles the rest.

The protocol that powers that conversation will shape how billions of meetings get scheduled. MCP is the strongest candidate because it was built for exactly this moment: AI agents that need to interact with the real world across organizational boundaries, with discovery, standardization, and multi-step reasoning baked into the protocol itself.

The protocol war is still early. But the architecture is clear, the trade-offs are understood, and the direction is set. Scheduling platforms that implement MCP now will be the ones AI agents can talk to. The ones that wait will be invisible to the agent layer entirely.

Frequently asked questions

What is the Model Context Protocol (MCP) and why does it matter for scheduling?
MCP is an open protocol developed by Anthropic that standardizes how AI agents interact with external tools and data sources. For scheduling, MCP defines a universal interface that lets any AI agent query availability, propose meeting times, create bookings, and handle rescheduling without requiring custom integrations for each scheduling platform. It matters because it eliminates the N-times-M integration problem: instead of every AI assistant building custom connectors for every calendar tool, both sides implement MCP once.
How does MCP compare to traditional REST APIs for scheduling?
REST APIs are designed for application-to-application communication with predictable request/response patterns. MCP is designed for agent-to-tool communication where the agent needs to discover capabilities, reason about available actions, and make multi-step decisions. A REST API requires the developer to hardcode the scheduling workflow. MCP lets the agent discover and compose scheduling actions dynamically. REST is more efficient for known workflows; MCP is more flexible for AI-driven workflows that adapt based on context.
Can iCal and CalDAV work with AI agents?
iCal (.ics) and CalDAV are data formats and sync protocols, not agent interaction protocols. An AI agent can read an iCal feed to understand someone's calendar, but it cannot use iCal to negotiate a meeting time, handle rescheduling, or apply preference logic. iCal tells you what is on a calendar. MCP lets you interact with the scheduling system. They solve different problems and work best as complementary layers: iCal for calendar data exchange, MCP for agent-driven scheduling workflows.
Will function calling replace MCP for AI scheduling?
Function calling (as implemented by OpenAI, Anthropic, and others) and MCP serve different roles. Function calling is how a model invokes a specific function within a single application context. MCP is how an agent discovers and interacts with external services across organizational boundaries. For scheduling, function calling works when the AI and the scheduling tool are in the same system. MCP works when the AI needs to reach across to another organization's scheduling system. The likely outcome is that function calling is used internally and MCP is used for cross-boundary agent communication.
Arjun Mehta

Arjun Mehta

Founder


Keep reading

Start scheduling for free.

Get started for free
Ask AI about skdul