Skip to main content
Glama
marlonluo2018

Microsoft Graph MCP Server

manage_event_as_organizer

Create, update, cancel, forward, or email attendees for events you organize in Microsoft 365 calendar. Handles recurring events and online meetings.

Instructions

Manage calendar events where you are the organizer (events you created). Actions: create, update, cancel, forward, email_attendees. WORKFLOW: For update, cancel, forward, and email_attendees actions, use cache number from browse_events or returned when creating an event. Returns: Event object with id, subject, start, end, location, attendees, body, recurrence, and online meeting details. Note: Conflict errors may occur when updating event times that overlap with existing events.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ccNoList of 'cc' recipient email addresses for email_attendees action (optional, defaults to optional event attendees)
toNoList of 'to' recipient email addresses for email_attendees action (optional, defaults to required event attendees)
endNoEnd date and time in your local timezone. Example: '2024-01-01T15:30' or '2024-01-01 15:30'. The system will automatically convert to UTC using the timezone parameter or your timezone settings from your Microsoft 365 profile or .env configuration. Required for create, optional for update
bodyNoEvent body content in HTML format (optional for create, update, reply). IMPORTANT: (1) Do NOT use <br> between <p> tags - use </p><p> directly for paragraph separation. (2) Do NOT add newlines or whitespace between HTML block elements - keep HTML compact. Use <p> for paragraphs, <strong>/<em> for emphasis.
startNoStart date and time in your local timezone. Example: '2024-01-01T14:30' or '2024-01-01 14:30'. The system will automatically convert to UTC using the timezone parameter or your timezone settings from your Microsoft 365 profile or .env configuration. Required for create, optional for update
actionYesAction to perform: 'create' to create a new calendar event, 'update' to update an existing event, 'cancel' to cancel an event and send cancellation notifications to attendees, 'forward' to forward event by adding new optional attendees, 'email_attendees' to send email to event attendees using event body as content (to=required attendees, cc=optional attendees)
commentNoOptional comment for cancel, forward actions
subjectNoEvent subject (required for create, optional for update)
locationNoEvent location (optional for create, update)
timezoneNoTimezone for the event in IANA format. Examples: 'Asia/Singapore', 'America/New_York', 'Europe/London', 'UTC'. Optional for create and update actions - if not provided, will use your timezone settings from your Microsoft 365 profile or .env configuration
attendeesNoList of required attendee email addresses (optional for create, update, required for forward)
recurrenceNoRecurrence pattern for the event (optional for create, update). Defines how the event repeats
cache_numberNoCache number from browse_events or returned when creating an event (required for update, cancel, forward, email_attendees actions, e.g., 1, 2, 3)
email_subjectNoEmail subject for email_attendees action (optional, default: 'Re: Event')
isOnlineMeetingNoWhether to create the event as an online meeting (optional for create, update). If true, creates a Teams meeting when onlineMeetingProvider is 'teamsForBusiness'. For other providers (Zoom, Google Meet, etc.), set isOnlineMeeting to true and include the join link in the body field
body_content_typeNoBody content type (optional for create, update, default: HTML)
optional_attendeesNoList of optional attendee email addresses (optional for create, update)
onlineMeetingProviderNoOnline meeting provider (optional for create, update). Use 'teamsForBusiness' for Teams meetings, 'skypeForBusiness' for Skype for Business, 'skypeForConsumer' for Skype Consumer, or 'unknown' for other providers. For 'unknown' or other providers (Zoom, Google Meet, etc.), include the join link in the body field. Requires isOnlineMeeting to be true
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses that cancel sends cancellation notifications, email_attendees sends emails to attendees, and forward adds optional attendees. It also mentions potential conflict errors when updating times. However, it does not detail authorization requirements or rate limits, which are minor omissions for a complex tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is relatively long but well-structured: first sentence defines purpose, then lists actions and workflow, followed by return value and a note on conflicts. It is front-loaded with essential information and avoids redundancy, though some parameter details are repeated from schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 18 parameters, no output schema, complex nested objects (recurrence), and no annotations, the description is quite complete. It covers actions, workflow, return value, and parameter usage. It lacks explicit explanation of the return object's full structure, but since there is no output schema, stating it returns an event object with key fields is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. The description adds significant value beyond schema: examples for timezone, important notes for body HTML formatting, explanation of email_subject default, and workflow for cache_number. This enhances parameter understanding beyond the schema's descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool manages calendar events where the user is organizer, listing five specific actions (create, update, cancel, forward, email_attendees). It distinguishes from sibling tools like manage_event_as_attendee and browse_events by focusing on organizer-only actions and referencing a cache number from browse_events.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a workflow: for certain actions, use cache number from browse_events or creation. It implies use when user is organizer, but does not explicitly exclude use cases for non-organizer events or specify when not to use. However, the context from sibling names and the description itself provides clear guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/marlonluo2018/microsoft_graph_mcp_server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server