Skip to main content
Glama

Calendar MCP Server - by Rezel, for Rezel

A Model Context Protocol (MCP) server that provides access to Google Calendar events via a public ICS feed.

Features

  • List Events: Fetch events within a specific date range, handling recurring events automatically.

  • Search Events: Search for events by text (summary or description) within a 6-month window.

  • Caching: Implements a 5-minute memory cache to respect rate limits.

Related MCP server: ICS Calendar MCP Server

Setup

1. Prerequisites

  • Python 3.11+

  • uv package manager (recommended)

2. Installation

Install dependencies using uv:

uv sync

3. Configuration

Open main.py and set the ICS_URL constant to your public Google Calendar ICS URL:

ICS_URL = "https://calendar.google.com/calendar/ical/YOUR_CALENDAR_ID/public/basic.ics"

Usage

Run the server using uv:

uv run main.py

Tools

list_events

Lists events between two dates.

  • Arguments:

    • start_date (string, ISO 8601, e.g., "2023-01-01")

    • end_date (string, ISO 8601, e.g., "2023-01-31")

  • Returns: A list of event objects with summary, start, end, description, and location.

search_events

Searches for events matching a text query.

  • Arguments:

    • query (string)

  • Returns: A list of matching event objects found in the range of [30 days ago, 180 days future].

Available Tools

2 tools
list_eventsA
List calendar events within a specific date range, expanding recurring events.

Args:
    start_date: Start of the range (ISO format, e.g., '2023-01-01')
    end_date: End of the range (ISO format)

Returns:
    List of events falling within the range.

Inputs: start_date (required), end_date (required). Returns: result

search_eventsA
Search for events matching a text query in summary or description.
Note: This searches a wide range (current year +/- 1 year) to be useful, 
as text search on infinite recurrence is impossible without a range.

Args:
    query: The text to search for.

Returns:
    List of matching events.

Inputs: query (required). Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4/5.0

    Scored across 2 tools

    Disambiguation5/5

    The two tools have clearly distinct purposes: list_events retrieves events within a specific date range, while search_events finds events matching a text query across a broader timeframe. There is no overlap in functionality, and the descriptions make the distinction unambiguous.

    Naming Consistency5/5

    Both tools follow a consistent verb_noun pattern (list_events and search_events), using snake_case and clear, descriptive verbs. The naming is predictable and aligned with common conventions for such operations.

    Tool Count2/5

    With only two tools, this server feels severely under-scoped for a calendar domain. Essential operations like creating, updating, or deleting events are missing, making it incomplete for typical calendar management tasks. A calendar server should have at least basic CRUD operations to be functional.

    Completeness2/5

    The tool surface is significantly incomplete for a calendar server. While list_events and search_events provide read/search capabilities, there are no tools for creating, updating, or deleting events, which are core to calendar management. This leaves major gaps that will hinder agent workflows.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers