Work IQ Calendar reference (preview)

Important

This is a preview feature.

  • Microsoft releases preview features before an official release so that customers can get early access and provide feedback.
  • Preview features have restricted functionality and aren't meant for production use.
  • Microsoft might change preview MCP tool names and parameters. Avoid hard-coded dependencies. Microsoft maintains scenario support.
  • Preview features are subject to Microsoft supplemental terms of use.

Overview

Server ID Tenant-level URL Display name Description
mcp_CalendarTools https://agent365.svc.cloud.microsoft/agents/
tenants/{tenantId}/servers/mcp_CalendarTools
Work IQ Calendar 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 or title (nonempty)
  • 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 personal use)
  • Automatic meeting link generation

Notes

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