Skip to main content
Glama
Preeti325

MCP Calendar Tools

by Preeti325
README.md
# MCP Calendar Tools

This Model Context Protocol (MCP) server provides tools for reading and managing calendar events using local `.ics` (iCalendar) files. It is completely offline and does not require complex OAuth setups with Google/Apple.

## Overview

The `mcp-calendar` server exposes these tools:
1. `get_schedule`: Reads the `.ics` file and lists events for a specific date.
2. `create_event`: Creates a new event and appends it to your `.ics` file.

## Prerequisites

1. **Node.js** installed (v18 or higher recommended).
2. **Calendar File**: Place an exported calendar file named `calendar.ics` in the root of this project (or specify the path in your config). 

## Steps to Run

1. **Install Dependencies:**
   ```bash
   npm install
   ```

2. **Build the Project:**
   ```bash
   npm run build
   ```

3. **Configure MCP:**
   Add this server to your Claude Desktop or Antigravity MCP configuration file:
   ```json
   {
     "mcpServers": {
       "calendar": {
         "command": "node",
         "args": ["/absolute/path/to/mcp-calendar/build/index.js"],
         "env": {
            "CALENDAR_FILE_PATH": "/absolute/path/to/your/calendar.ics"
         }
       }
     }
   }
   ```
   *(Note: Adjust the absolute path to point to where you saved this folder. If `CALENDAR_FILE_PATH` is omitted, it defaults to `./calendar.ics` in the project root).*

4. **Restart your MCP Client.** You can now ask the AI to "Check my schedule for tomorrow" or "Add a meeting at 3 PM".

TDQS

B3/5.0

Scored across 2 tools

Disambiguation5/5

The two tools serve clearly distinct purposes: one reads/queries events while the other creates new ones. There is no ambiguity between them, and each has a single unambiguous responsibility.

Naming Consistency4/5

Both tools follow a consistent verb_noun pattern (get_schedule, create_event), using snake_case throughout. Minor inconsistency exists in noun phrasing (schedule vs event) but the pattern is otherwise predictable and readable.

Tool Count2/5

Two tools feels very thin for a calendar server. A calendar domain typically warrants at least update/delete operations and date-range queries, making this extremely sparse for its apparent purpose.

Completeness1/5

The surface is severely incomplete. It covers only retrieving events for a single date and creating an event, but lacks update_event, delete_event, list_all_events, searching by range, and any management capabilities. This severely limits what agents can accomplish.

Maintenance

ActivitySlowing
ResponsivenessNo issues