MCP Integration
Let AI assistants create calendar events through the Model Context Protocol.
What is MCP?
The Model Context Protocol (MCP) is an open standard that lets AI assistants use external tools. getcal.link exposes an MCP server at /mcp, so any compatible AI client can validate events, generate ICS files, and build calendar deep links — all through natural language.
Instead of manually constructing URLs, you can ask your AI assistant: "Create a calendar event for our team standup next Tuesday at 2pm for 30 minutes" — and it will call getcal.link to generate working calendar links.
Available tools
validate_event
Validates and normalises event parameters. Returns the parsed event object with compact UTC datetimes.
generate_ics
Generates an RFC 5545 ICS file as text for the given event. Includes reminders, recurrence, and organizer fields.
generate_links
Returns JSON with deep links for Google Calendar, Outlook, Yahoo, and a direct ICS download URL.
Connect your AI client
Claude Desktop, Cursor, Windsurf (remote MCP)
For any client that supports remote MCP servers, add this to your config:
{
"mcpServers": {
"getcal-link": {
"url": "https://api.getcal.link/mcp"
}
}
} Stdio-only clients (via mcp-remote proxy)
For clients that only support local stdio transports:
{
"mcpServers": {
"getcal-link": {
"command": "npx",
"args": ["mcp-remote", "https://api.getcal.link/mcp"]
}
}
} Example conversation
Create a calendar event for a product launch on March 15, 2026 from 10am to 12pm UTC. Add a 30-minute reminder and set the location to "Main Auditorium".
I'll create that event for you using getcal.link.
{
"title": "Product Launch",
"start": "2026-03-15T10:00:00Z",
"end": "2026-03-15T12:00:00Z",
"location": "Main Auditorium",
"reminder": 30
} Here are your calendar links:
- Google Calendar — direct add link
- Outlook — direct add link
- ICS download — works with Apple Calendar and others
Rate limits
The MCP endpoint is rate-limited to 100 requests per minute per IP address. Rate limit headers are included in every response:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 97
X-RateLimit-Reset: 1740000000 If you exceed the limit, you'll receive a 429 response with a Retry-After header.