calendar-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TIMEZONE | No | IANA timezone name, e.g. 'Asia/Kolkata' | system timezone |
| AZURE_CLIENT_ID | Yes | Application (client) ID GUID from Azure App Registration | |
| AZURE_TENANT_ID | No | Tenant GUID, or 'common' for personal/multi-tenant accounts | common |
| TOKEN_CACHE_PATH | No | Path to store token cache (chmod 600) | ~/.calendar-mcp/token-cache.json |
| WORKING_HOURS_END | No | End hour of working day (1–24) | 18 |
| WORKING_HOURS_START | No | Start hour of working day (0–23) | 9 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_todays_meetingsA | List the meetings on the signed-in user's Microsoft 365 calendar for a given day. Defaults to today if no date is provided. |
| get_availabilityA | Report free and busy time within working hours for a given day, based on the Microsoft 365 calendar. Defaults to today. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 2 tools
The two tools are distinct: one lists meetings, the other shows free/busy availability. While both relate to the calendar for a given day, their descriptions clearly differentiate the outputs.
Both tool names follow the 'get_' prefix with a clear noun phrase (todays_meetings, availability). The naming pattern is consistent and predictable.
With only two tools, the server feels under-scoped for a calendar integration. However, the narrow focus on read-only queries makes the count somewhat acceptable, though it is on the thin side.
The tool surface lacks any CRUD operations for meetings (create, update, delete) and only provides read-only queries. This is a significant gap for a calendar MCP server, as agents cannot manage calendar events.