How to connect AI agents to a scheduling tool using MCP
TL;DR
Learn how to connect AI agents to scheduling tools via MCP. Step-by-step guide covering setup, configuration, and your first agent-booked meeting.
You've heard the pitch: AI agents that book meetings for you. But the tutorials stop at "install this plugin" and the demos skip the messy parts. This guide walks through the full process — from zero to your first agent-booked meeting — with the specifics that actually matter.
What MCP is (in 30 seconds)
Model Context Protocol is an open standard that lets AI agents call tools on external services. Think of it as a USB-C port for AI: one interface, many capabilities. Instead of teaching each agent how to navigate a scheduling UI, you give it structured tools with typed inputs and outputs.
An agent doesn't "click the booking button." It calls create_booking({ eventTypeId: "abc", startTime: "2026-02-24T10:00:00Z" }). Clean, predictable, auditable.
If you want the backstory, read how we built skdul's MCP server. This guide is purely practical.
What you need
- An MCP-compatible AI agent. Claude Desktop, Claude Code, ChatGPT with MCP support, or any custom agent using an MCP-capable framework.
- A scheduling tool with an MCP server. The tool needs to expose its capabilities as MCP tools — not just a REST API, but a proper MCP server with tool schemas, descriptions, and typed parameters.
- 5 minutes. Seriously. The config is a JSON file.
Step 1: Find the MCP server details
Every MCP server publishes a connection string — usually an npx command or a URL. For skdul, it looks like this:
npx -y @anthropic-ai/skdul
This single command starts a local MCP server that connects to skdul's API. The server exposes all available tools — events, availability, bookings, discovery, preferences — and the agent discovers them automatically.
Other scheduling tools that offer MCP servers will have their own connection strings. The principle is the same: one command, full tool access.
Step 2: Add the server to your agent's config
Where you add the config depends on your agent:
Claude Desktop
Open ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows) and add:
{
"mcpServers": {
"skdul": {
"command": "npx",
"args": ["-y", "@anthropic-ai/skdul"]
}
}
}
Restart Claude Desktop. The scheduling tools appear in the tool panel automatically.
Claude Code
Add to your project's .mcp.json or global MCP config:
{
"mcpServers": {
"skdul": {
"command": "npx",
"args": ["-y", "@anthropic-ai/skdul"]
}
}
}
Custom agents (LangChain, CrewAI, etc.)
Most MCP-capable frameworks have a connect or add_server method. Point it at the same command. The framework handles tool discovery and schema parsing.
Step 3: Authenticate
The first time your agent calls a skdul tool, the MCP server opens a browser window for OAuth. Sign in with your skdul account, authorize the connection, and you're done. The token is cached locally — you won't need to re-authenticate unless you revoke access.
This is important: the MCP server uses your real account. Your agent sees your real availability, your real events, your real bookings. It's not a sandbox — it's the production system. That's what makes it useful.
Step 4: Test the connection
Ask your agent something simple:
"What events do I have set up?"
The agent should call list_event_types and return your configured meeting types — names, durations, locations. If this works, the connection is live.
Next, try something that reads your calendar state:
"What's my availability next Tuesday?"
The agent calls get_available_slots with the appropriate date range and returns a list of open time windows. If the slots match what you see on your booking page, everything is wired correctly.
Step 5: Make your first booking
Here's where it gets interesting. Try:
See this in action
skdul gives you beautiful booking pages with smart availability — plus full AI agent support.
Try it free"Find the best time to book a 30-minute meeting with someone on skdul.ai/sarah/quick-chat next week, mornings preferred."
The agent will:
- Browse Sarah's booking page to discover her events.
- Fetch available slots for next week.
- Score each slot using five factors: time-of-day preference, gap efficiency, day spread, buffer comfort, and booking density.
- Present the top 3 options with scores.
By default, this runs in dry-run mode — the agent shows you what it would book without actually creating anything. Say "book it" to confirm, and the agent calls create_booking with the selected slot.
Both you and the guest get confirmation emails. The event appears on both calendars. Zero emails exchanged. Zero tabs opened.
What tools are available?
A well-built scheduling MCP server exposes tools across these categories:
- Profile management: get and update your scheduling profile, timezone, preferences.
- Events: create, list, update, delete meeting types (duration, location, buffers).
- Availability: view and set your working hours, check available slots for specific date ranges.
- Bookings: create, list, view, cancel, and reschedule confirmed meetings.
- Discovery: browse another user's public booking pages, find and score the best available slot.
- Intelligence: scheduling preferences, calendar health scores, conflict detection, focus time analysis.
The key insight: these aren't simplified endpoints. They're the same operations available in the web dashboard, exposed as typed functions. The agent has the same capabilities as a human user — it's just faster.
Common patterns
Daily briefing
"What's on my calendar today? Any conflicts?"
The agent calls list_bookings filtered to today and detect_conflicts to flag overlaps.
Batch scheduling
"Book 1:1s with these five team members next week. 30 minutes each, afternoons preferred, no back-to-back."
The agent loops through each person, finds optimal non-overlapping slots, and presents the full schedule for approval.
Smart rescheduling
"Tomorrow is too packed. Move anything that can move to Thursday."
The agent identifies which bookings are reschedulable, finds Thursday availability, and proposes a revised schedule.
Troubleshooting
Agent can't find tools: Restart your AI client after editing the config. MCP servers are loaded on startup, not hot-reloaded.
Authentication fails: Make sure you have a skdul account and pop-ups aren't blocked. The OAuth flow requires a browser redirect.
Slots don't match your calendar: Check that your availability schedule is set correctly in the skdul dashboard under Availability. The MCP server reads the same rules as your booking page.
"No available slots" when you know you're free: The slot computation respects event settings — minimum notice, maximum per day, buffer times. A slot that looks open on your calendar might be blocked by a 24-hour minimum notice rule.
Security considerations
Three things to verify before trusting an agent with your calendar:
- Dry-run mode. Can the agent preview actions without committing? This is non-negotiable. You should see exactly what's about to happen before it happens.
- Typed schemas. The MCP server should validate every input. An agent can't send a malformed booking request if the schema rejects it at the protocol level.
- Audit trail. Every agent action should be logged. You should be able to see what the agent did, when, and through which tool — the same way you'd review a transaction log.
The MCP protocol itself is stateless and read-only by default — write operations require explicit tool calls that your agent client surfaces for approval. You control the trust boundary.
What's next
Once the connection is live, read why your AI agent should book your meetings for the workflow patterns that matter most. For the bigger picture on where this is heading, see the autonomous calendar.
The gap between "my agent can check my email" and "my agent can book my meetings" is exactly one JSON config file. The scheduling infrastructure is ready. The question is whether you'll connect it today or keep copy-pasting time slots for another six months.
Frequently asked questions
What is MCP and why does it matter for scheduling?
Which AI agents support MCP?
Do I need to write code to connect an AI agent to a scheduling MCP server?
Is it safe to let an AI agent access my scheduling tool?
Maya Chen
Engineering
Keep reading
Start scheduling for free.
Get started for free