Server Details
A MCP server that works with Outlook Calendar to manage event listing, reading, and updates.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- mintmcp/servers
- GitHub Stars
- 5
Available Tools
6 toolscreate_eventTry in Inspector
Create a new event in an Outlook calendar. Use this to schedule meetings, appointments, or all-day events. For all-day events, omit both startTime and endTime. For timed events, both times are required. Can optionally create Teams meeting links and invite attendees. Meeting invitations are sent after the event is created if attendees are specified.
| Name | Required | Description | Default |
|---|---|---|---|
| endDate | Yes | End date YYYY-MM-DD | |
| endTime | No | End time HH:MM:SS. Required if startTime provided | |
| summary | Yes | Event title | |
| location | No | Physical location or address | |
| timeZone | Yes | Timezone (e.g., "UTC", "America/Los_Angeles") | |
| attendees | No | Email addresses of attendees (all marked as required) | |
| startDate | Yes | Start date YYYY-MM-DD | |
| startTime | No | Start time HH:MM:SS. Omit for all-day events | |
| calendarId | Yes | Calendar ID from list_calendars (required - get ID first) | |
| description | No | Event description. Supports markdown formatting | |
| isOnlineMeeting | No | Create Teams meeting link. Default: false | |
| sendInvitations | No | Send meeting invitations to attendees. Default: true |
delete_eventTry in Inspector
Delete an event from an Outlook calendar. Use this to permanently remove an event. Deletion ALWAYS sends cancellation notifications to attendees (Microsoft Graph API limitation). When sendUpdates is true, sends an additional cancellation message with comment before deletion. The deletion is permanent and cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| eventId | Yes | Event ID from get_calendar_events | |
| calendarId | Yes | Calendar ID from list_calendars (required - get ID first) | |
| sendUpdates | Yes | Send additional cancellation message with comment before deletion (deletion itself always notifies attendees) |
get_calendar_eventsTry in Inspector
Retrieve events from a specific Outlook calendar within a time range. Use this to view scheduled events or find specific appointments. Automatically expands recurring events into individual occurrences. Without dateMax, defaults to 7 days from dateMin. Event IDs from this tool are required for update/delete operations. To find free time slots, use get_next_availability instead.
| Name | Required | Description | Default |
|---|---|---|---|
| dateMax | No | End date YYYY-MM-DD. Defaults to 7 days after dateMin | |
| dateMin | Yes | Start date YYYY-MM-DD (e.g., "2024-01-15"). Required | |
| timeMax | No | End time HH:MM:SS. Defaults to 23:59:59 if dateMax provided | |
| timeMin | Yes | Start time HH:MM:SS (e.g., "09:00:00"). Required | |
| timeZone | Yes | Timezone for interpreting dates/times (e.g., "UTC", "America/Los_Angeles") | |
| pageToken | No | Pagination token from previous response | |
| calendarId | Yes | Calendar ID from list_calendars (required - get ID first) | |
| maxResults | No | Number of events to return (1-100). Default: 10 |
get_next_availabilityTry in Inspector
Find free time slots in an Outlook calendar for scheduling meetings. Use this to identify when someone is available. Searches up to 60 days for a maximum of 10 free slots, checking only during specified business hours and days. Slots are checked at regular intervals (default 30 minutes). Returns slots that have no conflicting events.
| Name | Required | Description | Default |
|---|---|---|---|
| duration | Yes | Meeting duration in minutes (e.g., 30, 60) | |
| timeZone | Yes | Timezone (e.g., "UTC", "America/Los_Angeles") | |
| calendarId | Yes | Calendar ID from list_calendars (required - get ID first) | |
| includeDays | No | Days to check. Default: all days | |
| startFromDate | Yes | Start search from this date YYYY-MM-DD | |
| startFromTime | Yes | Start search from this time HH:MM:SS | |
| searchHoursEnd | No | End of business hours HH:MM:SS. Default: 17:00:00 | |
| searchHoursStart | No | Start of business hours HH:MM:SS. Default: 09:00:00 | |
| startTimeIncrement | No | Minutes between slot checks (e.g., 15, 30). Default: 30 |
list_calendarsTry in Inspector
List all calendars the user has access to in Outlook. Use this to discover available calendars before performing calendar operations. The default calendar (isDefaultCalendar:true) is the user's main calendar. Other calendars may be shared or delegated calendars. The calendar ID is required for all other calendar operations.
| Name | Required | Description | Default |
|---|---|---|---|
| page_size | No | Number of calendars to return (1-100). Default: 20 | |
| page_token | No | Pagination token from previous response to get next page |
update_eventTry in Inspector
Update an existing event in an Outlook calendar. Use this to modify event details, reschedule, add/remove attendees, or toggle Teams meetings. Supports partial updates - only provided fields are modified. When updating times, the tool fetches existing values to preserve any unspecified fields. Attendee lists are replaced entirely, not merged. Update notifications are sent after the update if attendees exist.
| Name | Required | Description | Default |
|---|---|---|---|
| endDate | No | New end date YYYY-MM-DD | |
| endTime | No | New end time HH:MM:SS | |
| eventId | Yes | Event ID from get_calendar_events | |
| summary | No | New event title | |
| location | No | New physical location or address | |
| timeZone | Yes | Timezone for interpreting dates/times (required) | |
| attendees | No | New attendee list (replaces all existing attendees) | |
| startDate | No | New start date YYYY-MM-DD | |
| startTime | No | New start time HH:MM:SS | |
| calendarId | Yes | Calendar ID from list_calendars (required - get ID first) | |
| description | No | New event description. Supports markdown formatting | |
| sendUpdates | Yes | Send update notifications to attendees | |
| isOnlineMeeting | No | Enable/disable Teams meeting link |
FAQ
How do I claim this server?
To claim this server, publish a /.well-known/glama.json file on your server's domain with the following structure:
The email address must match the email associated with your Glama account. Once verified, the server will appear as claimed by you.
What are the benefits of claiming a server?
- Control your server's listing on Glama, including description and metadata
- Receive usage reports showing how your server is being used
- Get monitoring and health status updates for your server
Your Connectors
Sign in to create a connector for this server.