Share via


Microsoft Outlook Calendar MCP server reference

Important

You need to be part of the Frontier preview program to get early access to Microsoft Agent 365. Frontier connects you directly with Microsoft’s latest AI innovations. Frontier previews are subject to the existing preview terms of your customer agreements. As these features are still in development, their availability and capabilities may change over time.

Overview

Server ID Display name Description
mcp_CalendarTools Microsoft Outlook Calendar MCP Server MCP server for calendar tools. Use this MCP server for calendar operations like creating, updating, retrieving events, managing invites, and checking availability.

Available tools

mcp_CalendarTools_graph_acceptEvent

Accept the specified event invitation in a user's calendar.

Required parameters:

  • eventId: The ID of the event to accept

Optional parameters:

  • userId: User ID or userPrincipalName
  • comment: Optional text included in response
  • sendResponse: Whether to send response to organizer

mcp_CalendarTools_graph_cancelEvent

Cancel an event in a specified user's calendar and notify attendees.

Required parameters:

  • eventId: The unique identifier of the event to cancel

Optional parameters:

  • userId: User ID or userPrincipalName
  • comment: Optional cancellation message

mcp_CalendarTools_graph_createEvent

Create a new calendar event in a specified user's calendar. Supports recurring events and online meetings.

Required parameters:

  • subject: Event subject/title (non-empty)
  • start: Start timestamp with dateTime and timeZone
  • end: End timestamp with dateTime and timeZone
  • attendees_addresses: Array of attendee email addresses

Optional parameters:

  • userId: User ID or userPrincipalName
  • body: Event body with contentType (Text/HTML) and content
  • location: Location with displayName
  • attendees_types: Attendee roles (required, optional, resource)
  • attendees_names: Attendee display names
  • recurrence: Recurrence pattern and range
  • isOnlineMeeting: Set to true for online meeting
  • onlineMeetingProvider: teamsForBusiness, skypeForBusiness, skypeForConsumer
  • allowNewTimeProposals: Allow time proposals (default: true)
  • transactionId: Idempotence identifier

mcp_CalendarTools_graph_declineEvent

Decline the specified event invitation in a user's calendar.

Required parameters:

  • eventId: The ID of the event to decline

Optional parameters:

  • userId: User ID or userPrincipalName

  • comment: Optional text in response

  • sendResponse: Whether to send response

mcp_CalendarTools_graph_deleteEvent

Delete an event from a specified user's calendar.

Required parameters:

  • eventId: The unique identifier of the event to delete

Optional parameters:

  • userId: User ID or userPrincipalName

mcp_CalendarTools_graph_findMeetingTimes

Suggest meeting times and locations based on organizer and attendee availability.

Required parameters:

  • meetingDuration: Meeting duration (for example, 'PT1H')

Optional parameters:

  • userId: Organizer ID or userPrincipalName
  • attendees_addresses: Attendee email addresses
  • attendees_types: Attendee types
  • attendees_names: Attendee display names
  • timeConstraint: Time availability with timeslots and activityDomain
  • locationConstraint: Location options
  • maxCandidates: Maximum suggestions
  • isOrganizerOptional: Organizer optional flag
  • returnSuggestionReasons: Include reasons
  • minimumAttendeePercentage: Minimum attendance threshold

mcp_CalendarTools_graph_getEvent

Get a single calendar event from a specified user's calendar.

Required parameters:

  • eventId: The unique identifier of the event

Optional parameters:

  • userId: User ID or userPrincipalName
  • select: OData $select query parameter
  • expand: OData $expand for navigation properties

mcp_CalendarTools_graph_getSchedule

Get the free/busy schedule for a user, distribution list, or resource.

Required parameters:

  • schedules: SMTP addresses of users or resources
  • startTime: Start time with dateTime and timeZone
  • endTime: End time with dateTime and timeZone

Optional parameters:

  • userId: User ID or userPrincipalName
  • availabilityViewInterval: Time slot length in minutes

mcp_CalendarTools_graph_listCalendarView

Retrieve calendar occurrences within a specified time range for a user.

Required parameters:

  • startDateTime: Start of time range (ISO 8601)
  • endDateTime: End of time range (ISO 8601)

Optional parameters:

  • userId: User ID or userPrincipalName
  • top: Max number of events
  • orderby: Order by clause

mcp_CalendarTools_graph_listEvents

Retrieve a list of events from a specified user's calendar.

Optional parameters:

  • userId: User ID or userPrincipalName
  • startDateTime: Start of time range (ISO 8601)
  • endDateTime: End of time range (ISO 8601)
  • top: Maximum number of events
  • filter: OData filter query
  • orderby: OData order by query

mcp_CalendarTools_graph_updateEvent

Update an existing calendar event in a specified user's calendar.

Required parameters:

  • eventId: The unique identifier of the event

Optional parameters:

  • userId: User ID or userPrincipalName
  • subject: Updated subject
  • body: Updated body content
  • start: Updated start time
  • end: Updated end time
  • location: Updated location
  • attendees_addresses: Updated attendee emails
  • attendees_types: Updated attendee types
  • attendees_names: Updated attendee names
  • isCancelled: Set to true to cancel
  • recurrence: Updated recurrence pattern

Key features

Event management

  • Create, read, update, and delete events
  • Accept, decline, and cancel invitations
  • Support for recurring events
  • Integration with online meetings (Teams, Skype)

Availability and scheduling

  • Get free/busy schedules
  • Find meeting times with availability checking
  • Calendar view with time range filtering
  • Attendee availability analysis

Attendee management

  • Manage required, optional, and resource attendees
  • Support for time proposals
  • Track responses
  • Support for distribution lists

Recurrence patterns

  • Daily, weekly, monthly, and yearly patterns
  • Absolute and relative recurrence
  • End date or occurrence count
  • Day of week and month specifications

Online meetings

  • Integration with Teams for Business
  • Support for Skype for Business
  • Support for Skype for Consumer
  • Automatic meeting link generation

Notes

  1. All timestamps use UTC/ISO 8601 format with timezone
  2. Calendar MCP relies on UserprofileMCP to find users in the organization
  3. Email addresses must be valid format
  4. Attendee arrays (addresses, types, names) must be in the same order
  5. Online meetings require isOnlineMeeting=true and onlineMeetingProvider
  6. Recurrence requires both pattern and range objects
  7. Time zones should be consistent across start and end times
  8. TransactionId enables idempotent event creation