Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| login | Authenticate with Microsoft using device code flow |
| logout | Log out from Microsoft account |
| verify-login | Check current Microsoft authentication status |
| list-accounts | List all available Microsoft accounts |
| select-account | Select a specific Microsoft account to use |
| remove-account | Remove a Microsoft account from the cache |
| delete-onedrive-file | Delete navigation property items for drives |
| list-folder-files | Return a collection of DriveItems in the children relationship of a DriveItem. DriveItems with a non-null folder or package facet can have one or more child DriveItems. |
| download-onedrive-file-content | The content stream, if the item represents a file. |
| upload-file-content | The content stream, if the item represents a file. |
| list-excel-worksheets | Represents a collection of worksheets associated with the workbook. Read-only. |
| create-excel-chart | Creates a new chart. |
| format-excel-range | Update the navigation property format in drives |
| sort-excel-range | Update the navigation property sort in drives |
| get-excel-range | Invoke function range |
| get-drive-root-item | The root folder of the drive. Read-only. |
| get-current-user | Retrieve the properties and relationships of user object. This operation returns by default only a subset of the more commonly used properties for each user. These default properties are noted in the Properties section. To get properties that are not returned by default, do a GET operation for the user and specify the properties in a $select OData query option. Because the user resource supports extensions, you can also use the GET operation to get custom properties and extension data in a user instance. Customers through Microsoft Entra ID for customers can also use this API operation to retrieve their details. |
| list-calendars | Get all the user's calendars (/calendars navigation property), get the calendars from the default calendar group or from a specific calendar group. |
| list-specific-calendar-events | The events in the calendar. Navigation property. Read-only. |
| create-specific-calendar-event | Use this API to create a new event in a calendar. The calendar can be one for a user, or the default calendar of a Microsoft 365 group. š” TIP: CRITICAL: Do not try to guess the email address of the recipients. Use the list-users tool to find the email address of the recipients. |
| get-specific-calendar-event | The events in the calendar. Navigation property. Read-only. |
| update-specific-calendar-event | Update the navigation property events in me š” TIP: CRITICAL: Do not try to guess the email address of the recipients. Use the list-users tool to find the email address of the recipients. |
| delete-specific-calendar-event | Delete navigation property events for me |
| get-calendar-view | Get the occurrences, exceptions, and single instances of events in a calendar view defined by a time range, from the user's default calendar, or from some other calendar of the user. |
| list-outlook-contacts | Get a contact collection from the default contacts folder of the signed-in user. There are two scenarios where an app can get contacts in another user's contact folder: |
| create-outlook-contact | Add a contact to the root Contacts folder or to the contacts endpoint of another contact folder. |
| get-outlook-contact | Retrieve the properties and relationships of a contact object. There are two scenarios where an app can get a contact in another user's contact folder: |
| update-outlook-contact | Update the properties of a contact object. |
| delete-outlook-contact | Delete a contact. |
| list-drives | Retrieve the list of Drive resources available for a target User, Group, or Site. |
| list-calendar-events | Get a list of event objects in the user's mailbox. The list contains single instance meetings and series masters. To get expanded event instances, you can get the calendar view, or get the instances of an event. Currently, this operation returns event bodies in only HTML format. There are two scenarios where an app can get events in another user's calendar: |
| create-calendar-event | Create one or more multi-value extended properties in a new or existing instance of a resource. The following user resources are supported: The following group resources are supported: See Extended properties overview for more information about when to use open extensions or extended properties, and how to specify extended properties. š” TIP: CRITICAL: Do not try to guess the email address of the recipients. Use the list-users tool to find the email address of the recipients. |
| get-calendar-event | Get the properties and relationships of the specified event object. Currently, this operation returns event bodies in only HTML format. There are two scenarios where an app can get an event in another user's calendar: Since the event resource supports extensions, you can also use the GET operation to get custom properties and extension data in an event instance. |
| update-calendar-event | Update the properties of the event object. š” TIP: CRITICAL: Do not try to guess the email address of the recipients. Use the list-users tool to find the email address of the recipients. |
| delete-calendar-event | Removes the specified event from the containing calendar. If the event is a meeting, deleting the event on the organizer's calendar sends a cancellation message to the meeting attendees. |
| list-mail-folders | Get the mail folder collection directly under the root folder of the signed-in user. The returned collection includes any mail search folders directly under the root. By default, this operation does not return hidden folders. Use a query parameter includeHiddenFolders to include them in the response. This operation does not return all mail folders in a mailbox, only the child folders of the root folder. To return all mail folders in a mailbox, each child folder must be traversed separately. |
| list-mail-folder-messages | Get all the messages in the specified user's mailbox, or those messages in a specified folder in the mailbox. š” TIP: CRITICAL: When searching emails, the $search parameter value MUST be wrapped in double quotes. Format: $search="your search query here". Use KQL (Keyword Query Language) syntax to search specific properties: 'from:', 'subject:', 'body:', 'to:', 'cc:', 'bcc:', 'attachment:', 'hasAttachments:', 'importance:', 'received:', 'sent:'. Examples: $search="from:john@example.com" | $search="subject:meeting AND hasAttachments:true" | $search="body:urgent AND received>=2024-01-01" | $search="from:alice AND importance:high". Remember: ALWAYS wrap the entire search expression in double quotes! Reference: https://learn.microsoft.com/en-us/graph/search-query-parameter |
| list-mail-messages | Get an open extension (openTypeExtension object) identified by name or fully qualified name. The table in the Permissions section lists the resources that support open extensions. The following table lists the three scenarios where you can get an open extension from a supported resource instance. š” TIP: CRITICAL: When searching emails, the $search parameter value MUST be wrapped in double quotes. Format: $search="your search query here". Use KQL (Keyword Query Language) syntax to search specific properties: 'from:', 'subject:', 'body:', 'to:', 'cc:', 'bcc:', 'attachment:', 'hasAttachments:', 'importance:', 'received:', 'sent:'. Examples: $search="from:john@example.com" | $search="subject:meeting AND hasAttachments:true" | $search="body:urgent AND received>=2024-01-01" | $search="from:john AND importance:high". Remember: ALWAYS wrap the entire search expression in double quotes! Reference: https://learn.microsoft.com/en-us/graph/search-query-parameter |
| create-draft-email | Create an open extension (openTypeExtension object) and add custom properties in a new or existing instance of a resource. You can create an open extension in a resource instance and store custom data to it all in the same operation, except for specific resources. The table in the Permissions section lists the resources that support open extensions. |
| get-mail-message | Get the properties and relationships of the eventMessage object. Apply the $expand parameter on the event navigation property to get the associated event in an attendee's calendar. Currently, this operation returns event message bodies in only HTML format. |
| delete-mail-message | Delete eventMessage. |
| list-mail-attachments | Retrieve a list of attachment objects. |
| add-mail-attachment | Use this API to create a new Attachment. An attachment can be one of the following types: All these types of attachment resources are derived from the attachment resource. |
| get-mail-attachment | Read the properties, relationships, or raw contents of an attachment that is attached to a user event, message, or group post. An attachment can be one of the following types: All these types of attachments are derived from the attachment resource. |
| delete-mail-attachment | Delete navigation property attachments for me |
| move-mail-message | Move a message to another folder within the specified user's mailbox. This creates a new copy of the message in the destination folder and removes the original message. |
| list-onenote-notebooks | Retrieve a list of notebook objects. |
| list-onenote-notebook-sections | Retrieve a list of onenoteSection objects from the specified notebook. |
| create-onenote-page | Create a new OneNote page in the default section of the default notebook. To create a page in a different section in the default notebook, you can use the sectionName query parameter. Example: ../onenote/pages?sectionName=My%20section The POST /onenote/pages operation is used only to create pages in the current user's default notebook. If you're targeting other notebooks, you can create pages in a specified section. |
| get-onenote-page-content | The page's HTML content. |
| list-onenote-section-pages | Retrieve a list of page objects from the specified section. |
| list-planner-tasks | Retrieve a list of plannertask objects assigned to a User. |
| send-mail | Send the message specified in the request body using either JSON or MIME format. When using JSON format, you can include a file attachment in the same sendMail action call. When using MIME format: This method saves the message in the Sent Items folder. Alternatively, create a draft message to send later. To learn more about the steps involved in the backend before a mail is delivered to recipients, see here. š” TIP: CRITICAL: Do not try to guess the email address of the recipients. Use the list-users tool to find the email address of the recipients. |
| list-todo-task-lists | Get a list of the todoTaskList objects and their properties. |
| list-todo-tasks | Get the todoTask resources from the tasks navigation property of a specified todoTaskList. |
| create-todo-task | Create a new task object in a specified todoTaskList. |
| get-todo-task | Read the properties and relationships of a todoTask object. |
| update-todo-task | Update the properties of a todoTask object. |
| delete-todo-task | Delete a todoTask object. |
| get-planner-plan | Retrieve the properties and relationships of a plannerplan object. |
| list-plan-tasks | Retrieve a list of plannerTask objects associated with a plannerPlan object. |
| create-planner-task | Create a new plannerTask. |
| get-planner-task | Retrieve the properties and relationships of plannerTask object. |
| update-planner-task | Update the properties of plannerTask object. |
| update-planner-task-details | Update the properties of plannerTaskDetails object. |
| search-query | Runs the query specified in the request body. Search results are provided in the response. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |