@softeria/ms-365-mcp-server 0.99.1 → 0.101.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/endpoints.json +50 -0
- package/dist/generated/client.js +241 -26
- package/package.json +1 -1
- package/src/endpoints.json +50 -0
package/dist/endpoints.json
CHANGED
|
@@ -1875,5 +1875,55 @@
|
|
|
1875
1875
|
"toolName": "create-outlook-category",
|
|
1876
1876
|
"scopes": ["MailboxSettings.ReadWrite"],
|
|
1877
1877
|
"llmTip": "Creates a new Outlook category. Body: { displayName (unique), color (one of: none, preset0 … preset24 — maps to red, orange, yellow, green, teal, olive, blue, purple, cranberry, steel, dark-steel, gray, dark-gray, black, dark-red, dark-orange, dark-yellow, dark-green, dark-teal, dark-olive, dark-blue, dark-purple, dark-cranberry) }. Category names are case-sensitive when applied to messages/events."
|
|
1878
|
+
},
|
|
1879
|
+
{
|
|
1880
|
+
"pathPattern": "/me/getMailTips",
|
|
1881
|
+
"method": "post",
|
|
1882
|
+
"toolName": "get-mail-tips",
|
|
1883
|
+
"scopes": ["Mail.Read"],
|
|
1884
|
+
"contentType": "application/json",
|
|
1885
|
+
"llmTip": "Looks up MailTips for one or more recipients before sending an email — answers 'is this person on auto-reply / OOF?', 'will my email exceed their mailbox quota?', 'are they an external recipient?', 'is this a mailbox or distribution list?'. Body: { EmailAddresses: ['user@contoso.com', ...] (max 100), MailTipsOptions: 'automaticReplies, mailboxFullStatus, customMailTip, externalMemberCount, totalMemberCount, maxMessageSize, deliveryRestriction, moderationStatus, recipientScope, recipientSuggestions' (comma-separated subset) }. Returns mailTips per recipient with the requested fields populated. Use this to short-circuit urgent emails when a recipient is OOF, or to warn before fanning out to a large DL."
|
|
1886
|
+
},
|
|
1887
|
+
{
|
|
1888
|
+
"pathPattern": "/me/outlook/supportedTimeZones(TimeZoneStandard='{TimeZoneStandard}')",
|
|
1889
|
+
"method": "get",
|
|
1890
|
+
"toolName": "list-supported-time-zones",
|
|
1891
|
+
"scopes": ["User.Read"],
|
|
1892
|
+
"llmTip": "Lists time zones the user's mailbox server supports. TimeZoneStandard path parameter must be one of: 'windows' (default — Windows time zone names like 'Pacific Standard Time'), or 'iana' (IANA / Olson names like 'America/Los_Angeles'). Returns timeZoneInformation objects with alias and displayName. Use the result to validate or look up the value before calling update-mailbox-settings to change the user's preferred timeZone — the format must match what the server expects."
|
|
1893
|
+
},
|
|
1894
|
+
{
|
|
1895
|
+
"pathPattern": "/me/outlook/supportedLanguages()",
|
|
1896
|
+
"method": "get",
|
|
1897
|
+
"toolName": "list-supported-languages",
|
|
1898
|
+
"scopes": ["User.Read"],
|
|
1899
|
+
"llmTip": "Lists locales and languages the user's mailbox server supports for the Outlook UI and message rendering. Returns localeInfo objects with locale (e.g. 'en-US'), displayName ('English (United States)'), and nativeName ('English (United States)'). Use this to validate the locale value before calling update-mailbox-settings to change the user's preferred language."
|
|
1900
|
+
},
|
|
1901
|
+
{
|
|
1902
|
+
"pathPattern": "/me/calendar/calendarPermissions",
|
|
1903
|
+
"method": "get",
|
|
1904
|
+
"toolName": "list-my-calendar-permissions",
|
|
1905
|
+
"scopes": ["Calendars.Read"],
|
|
1906
|
+
"llmTip": "Lists share recipients and delegates on the user's primary calendar. Returns calendarPermission objects with id, role ('none' | 'freeBusyRead' | 'limitedRead' | 'read' | 'write' | 'delegateWithoutPrivateEventAccess' | 'delegateWithPrivateEventAccess' | 'custom'), emailAddress { name, address }, isInsideOrganization, isRemovable, allowedRoles. Returns an empty collection when called by a delegate or share recipient (only the calendar owner sees the full list). For a non-primary calendar, use /me/calendars/{calendar-id}/calendarPermissions — not currently exposed."
|
|
1907
|
+
},
|
|
1908
|
+
{
|
|
1909
|
+
"pathPattern": "/me/calendar/calendarPermissions",
|
|
1910
|
+
"method": "post",
|
|
1911
|
+
"toolName": "create-my-calendar-permission",
|
|
1912
|
+
"scopes": ["Calendars.ReadWrite"],
|
|
1913
|
+
"llmTip": "Shares the user's primary calendar with another user (or sets up a delegate). Body: { emailAddress: { name: 'Adele Vance', address: 'adele@contoso.com' }, role: 'read' | 'write' | 'delegateWithoutPrivateEventAccess' | 'delegateWithPrivateEventAccess', isInsideOrganization: true, isRemovable: true }. Use list-users to resolve the recipient SMTP. Returns the created calendarPermission with its id (used by update-my-calendar-permission and delete-my-calendar-permission)."
|
|
1914
|
+
},
|
|
1915
|
+
{
|
|
1916
|
+
"pathPattern": "/me/calendar/calendarPermissions/{calendarPermission-id}",
|
|
1917
|
+
"method": "patch",
|
|
1918
|
+
"toolName": "update-my-calendar-permission",
|
|
1919
|
+
"scopes": ["Calendars.ReadWrite"],
|
|
1920
|
+
"llmTip": "Changes the role (permission level) granted to an existing share recipient or delegate. Body: { role: 'read' | 'write' | 'delegateWithoutPrivateEventAccess' | 'delegateWithPrivateEventAccess' }. Only the role property is writable — to change the recipient's email or other properties, delete and recreate via delete-my-calendar-permission + create-my-calendar-permission. Get the permission id via list-my-calendar-permissions."
|
|
1921
|
+
},
|
|
1922
|
+
{
|
|
1923
|
+
"pathPattern": "/me/calendar/calendarPermissions/{calendarPermission-id}",
|
|
1924
|
+
"method": "delete",
|
|
1925
|
+
"toolName": "delete-my-calendar-permission",
|
|
1926
|
+
"scopes": ["Calendars.ReadWrite"],
|
|
1927
|
+
"llmTip": "Revokes a calendar share or delegate access. Get the permission id via list-my-calendar-permissions. Permissions where isRemovable=false (e.g. the implicit 'My Organization' default) cannot be deleted — Graph returns an error."
|
|
1878
1928
|
}
|
|
1879
1929
|
]
|
package/dist/generated/client.js
CHANGED
|
@@ -1850,6 +1850,35 @@ const microsoft_graph_conversationThreadCollectionResponse = z.object({
|
|
|
1850
1850
|
value: z.array(microsoft_graph_conversationThread)
|
|
1851
1851
|
}).partial().passthrough();
|
|
1852
1852
|
const reply_to_group_thread_Body = z.object({ Post: microsoft_graph_post }).partial().passthrough();
|
|
1853
|
+
const microsoft_graph_calendarRoleType = z.enum([
|
|
1854
|
+
"none",
|
|
1855
|
+
"freeBusyRead",
|
|
1856
|
+
"limitedRead",
|
|
1857
|
+
"read",
|
|
1858
|
+
"write",
|
|
1859
|
+
"delegateWithoutPrivateEventAccess",
|
|
1860
|
+
"delegateWithPrivateEventAccess",
|
|
1861
|
+
"custom"
|
|
1862
|
+
]);
|
|
1863
|
+
const microsoft_graph_calendarPermission = z.object({
|
|
1864
|
+
id: z.string().describe("The unique identifier for an entity. Read-only.").optional(),
|
|
1865
|
+
allowedRoles: z.array(z.union([microsoft_graph_calendarRoleType, z.object({}).partial().passthrough()])).describe(
|
|
1866
|
+
"List of allowed sharing or delegating permission levels for the calendar. The possible values are: none, freeBusyRead, limitedRead, read, write, delegateWithoutPrivateEventAccess, delegateWithPrivateEventAccess, custom."
|
|
1867
|
+
).optional(),
|
|
1868
|
+
emailAddress: microsoft_graph_emailAddress.optional(),
|
|
1869
|
+
isInsideOrganization: z.boolean().describe(
|
|
1870
|
+
"True if the user in context (recipient or delegate) is inside the same organization as the calendar owner."
|
|
1871
|
+
).nullish(),
|
|
1872
|
+
isRemovable: z.boolean().describe(
|
|
1873
|
+
"True if the user can be removed from the list of recipients or delegates for the specified calendar, false otherwise. The 'My organization' user determines the permissions other people within your organization have to the given calendar. You can't remove 'My organization' as a share recipient to a calendar."
|
|
1874
|
+
).nullish(),
|
|
1875
|
+
role: microsoft_graph_calendarRoleType.optional()
|
|
1876
|
+
}).passthrough();
|
|
1877
|
+
const microsoft_graph_calendarPermissionCollectionResponse = z.object({
|
|
1878
|
+
"@odata.count": z.number().int().nullable(),
|
|
1879
|
+
"@odata.nextLink": z.string().nullable(),
|
|
1880
|
+
value: z.array(microsoft_graph_calendarPermission)
|
|
1881
|
+
}).partial().passthrough();
|
|
1853
1882
|
const get_schedule_Body = z.object({
|
|
1854
1883
|
Schedules: z.array(z.string().nullable()),
|
|
1855
1884
|
EndTime: z.union([microsoft_graph_dateTimeTimeZone, z.object({}).partial().passthrough()]),
|
|
@@ -1913,30 +1942,6 @@ const microsoft_graph_calendarColor = z.enum([
|
|
|
1913
1942
|
"lightRed",
|
|
1914
1943
|
"maxColor"
|
|
1915
1944
|
]);
|
|
1916
|
-
const microsoft_graph_calendarRoleType = z.enum([
|
|
1917
|
-
"none",
|
|
1918
|
-
"freeBusyRead",
|
|
1919
|
-
"limitedRead",
|
|
1920
|
-
"read",
|
|
1921
|
-
"write",
|
|
1922
|
-
"delegateWithoutPrivateEventAccess",
|
|
1923
|
-
"delegateWithPrivateEventAccess",
|
|
1924
|
-
"custom"
|
|
1925
|
-
]);
|
|
1926
|
-
const microsoft_graph_calendarPermission = z.object({
|
|
1927
|
-
id: z.string().describe("The unique identifier for an entity. Read-only.").optional(),
|
|
1928
|
-
allowedRoles: z.array(z.union([microsoft_graph_calendarRoleType, z.object({}).partial().passthrough()])).describe(
|
|
1929
|
-
"List of allowed sharing or delegating permission levels for the calendar. The possible values are: none, freeBusyRead, limitedRead, read, write, delegateWithoutPrivateEventAccess, delegateWithPrivateEventAccess, custom."
|
|
1930
|
-
).optional(),
|
|
1931
|
-
emailAddress: microsoft_graph_emailAddress.optional(),
|
|
1932
|
-
isInsideOrganization: z.boolean().describe(
|
|
1933
|
-
"True if the user in context (recipient or delegate) is inside the same organization as the calendar owner."
|
|
1934
|
-
).nullish(),
|
|
1935
|
-
isRemovable: z.boolean().describe(
|
|
1936
|
-
"True if the user can be removed from the list of recipients or delegates for the specified calendar, false otherwise. The 'My organization' user determines the permissions other people within your organization have to the given calendar. You can't remove 'My organization' as a share recipient to a calendar."
|
|
1937
|
-
).nullish(),
|
|
1938
|
-
role: microsoft_graph_calendarRoleType.optional()
|
|
1939
|
-
}).passthrough();
|
|
1940
1945
|
const microsoft_graph_calendar = z.object({
|
|
1941
1946
|
id: z.string().describe("The unique identifier for an entity. Read-only.").optional(),
|
|
1942
1947
|
allowedOnlineMeetingProviders: z.array(z.union([microsoft_graph_onlineMeetingProviderType, z.object({}).partial().passthrough()])).describe(
|
|
@@ -3153,6 +3158,22 @@ const find_meeting_times_Body = z.object({
|
|
|
3153
3158
|
returnSuggestionReasons: z.boolean().nullable().default(false),
|
|
3154
3159
|
minimumAttendeePercentage: z.union([z.number(), z.string(), ReferenceNumeric])
|
|
3155
3160
|
}).partial().passthrough();
|
|
3161
|
+
const microsoft_graph_mailTipsType = z.enum([
|
|
3162
|
+
"automaticReplies",
|
|
3163
|
+
"mailboxFullStatus",
|
|
3164
|
+
"customMailTip",
|
|
3165
|
+
"externalMemberCount",
|
|
3166
|
+
"totalMemberCount",
|
|
3167
|
+
"maxMessageSize",
|
|
3168
|
+
"deliveryRestriction",
|
|
3169
|
+
"moderationStatus",
|
|
3170
|
+
"recipientScope",
|
|
3171
|
+
"recipientSuggestions"
|
|
3172
|
+
]);
|
|
3173
|
+
const get_mail_tips_Body = z.object({
|
|
3174
|
+
EmailAddresses: z.array(z.string()),
|
|
3175
|
+
MailTipsOptions: z.union([microsoft_graph_mailTipsType, z.object({}).partial().passthrough()])
|
|
3176
|
+
}).partial().passthrough();
|
|
3156
3177
|
const send_mail_Body = z.object({
|
|
3157
3178
|
Message: microsoft_graph_message.describe(
|
|
3158
3179
|
"[Note: Simplified from 35 properties to 25 most common ones]"
|
|
@@ -3547,6 +3568,10 @@ const microsoft_graph_outlookCategoryCollectionResponse = z.object({
|
|
|
3547
3568
|
"@odata.nextLink": z.string().nullable(),
|
|
3548
3569
|
value: z.array(microsoft_graph_outlookCategory)
|
|
3549
3570
|
}).partial().passthrough();
|
|
3571
|
+
const microsoft_graph_timeZoneInformation = z.object({
|
|
3572
|
+
alias: z.string().describe("An identifier for the time zone.").nullish(),
|
|
3573
|
+
displayName: z.string().describe("A display string that represents the time zone.").nullish()
|
|
3574
|
+
}).passthrough();
|
|
3550
3575
|
const microsoft_graph_personType = z.object({
|
|
3551
3576
|
class: z.string().describe("The type of data source, such as Person.").nullish(),
|
|
3552
3577
|
subclass: z.string().describe("The secondary type of data source, such as OrganizationUser.").nullish()
|
|
@@ -4696,6 +4721,9 @@ const schemas = {
|
|
|
4696
4721
|
ReferenceCreate,
|
|
4697
4722
|
microsoft_graph_conversationThreadCollectionResponse,
|
|
4698
4723
|
reply_to_group_thread_Body,
|
|
4724
|
+
microsoft_graph_calendarRoleType,
|
|
4725
|
+
microsoft_graph_calendarPermission,
|
|
4726
|
+
microsoft_graph_calendarPermissionCollectionResponse,
|
|
4699
4727
|
get_schedule_Body,
|
|
4700
4728
|
microsoft_graph_freeBusyError,
|
|
4701
4729
|
microsoft_graph_scheduleItem,
|
|
@@ -4704,8 +4732,6 @@ const schemas = {
|
|
|
4704
4732
|
microsoft_graph_scheduleInformation,
|
|
4705
4733
|
microsoft_graph_onlineMeetingProviderType,
|
|
4706
4734
|
microsoft_graph_calendarColor,
|
|
4707
|
-
microsoft_graph_calendarRoleType,
|
|
4708
|
-
microsoft_graph_calendarPermission,
|
|
4709
4735
|
microsoft_graph_calendar,
|
|
4710
4736
|
microsoft_graph_calendarCollectionResponse,
|
|
4711
4737
|
microsoft_graph_chatCollectionResponse,
|
|
@@ -4819,6 +4845,8 @@ const schemas = {
|
|
|
4819
4845
|
microsoft_graph_activityDomain,
|
|
4820
4846
|
microsoft_graph_timeConstraint,
|
|
4821
4847
|
find_meeting_times_Body,
|
|
4848
|
+
microsoft_graph_mailTipsType,
|
|
4849
|
+
get_mail_tips_Body,
|
|
4822
4850
|
send_mail_Body,
|
|
4823
4851
|
microsoft_graph_externalLink,
|
|
4824
4852
|
microsoft_graph_notebookLinks,
|
|
@@ -4856,6 +4884,7 @@ const schemas = {
|
|
|
4856
4884
|
microsoft_graph_categoryColor,
|
|
4857
4885
|
microsoft_graph_outlookCategory,
|
|
4858
4886
|
microsoft_graph_outlookCategoryCollectionResponse,
|
|
4887
|
+
microsoft_graph_timeZoneInformation,
|
|
4859
4888
|
microsoft_graph_personType,
|
|
4860
4889
|
microsoft_graph_phoneType,
|
|
4861
4890
|
microsoft_graph_phone,
|
|
@@ -7132,6 +7161,103 @@ from the default calendar of a group.`,
|
|
|
7132
7161
|
],
|
|
7133
7162
|
response: z.void()
|
|
7134
7163
|
},
|
|
7164
|
+
{
|
|
7165
|
+
method: "get",
|
|
7166
|
+
path: "/me/calendar/calendarPermissions",
|
|
7167
|
+
alias: "list-my-calendar-permissions",
|
|
7168
|
+
description: `The permissions of the users with whom the calendar is shared.`,
|
|
7169
|
+
requestFormat: "json",
|
|
7170
|
+
parameters: [
|
|
7171
|
+
{
|
|
7172
|
+
name: "$top",
|
|
7173
|
+
type: "Query",
|
|
7174
|
+
schema: z.number().int().gte(0).describe("Show only the first n items").optional()
|
|
7175
|
+
},
|
|
7176
|
+
{
|
|
7177
|
+
name: "$skip",
|
|
7178
|
+
type: "Query",
|
|
7179
|
+
schema: z.number().int().gte(0).describe("Skip the first n items").optional()
|
|
7180
|
+
},
|
|
7181
|
+
{
|
|
7182
|
+
name: "$search",
|
|
7183
|
+
type: "Query",
|
|
7184
|
+
schema: z.string().describe("Search items by search phrases").optional()
|
|
7185
|
+
},
|
|
7186
|
+
{
|
|
7187
|
+
name: "$filter",
|
|
7188
|
+
type: "Query",
|
|
7189
|
+
schema: z.string().describe("Filter items by property values").optional()
|
|
7190
|
+
},
|
|
7191
|
+
{
|
|
7192
|
+
name: "$count",
|
|
7193
|
+
type: "Query",
|
|
7194
|
+
schema: z.boolean().describe("Include count of items").optional()
|
|
7195
|
+
},
|
|
7196
|
+
{
|
|
7197
|
+
name: "$orderby",
|
|
7198
|
+
type: "Query",
|
|
7199
|
+
schema: z.array(z.string()).describe("Order items by property values").optional()
|
|
7200
|
+
},
|
|
7201
|
+
{
|
|
7202
|
+
name: "$select",
|
|
7203
|
+
type: "Query",
|
|
7204
|
+
schema: z.array(z.string()).describe("Select properties to be returned").optional()
|
|
7205
|
+
},
|
|
7206
|
+
{
|
|
7207
|
+
name: "$expand",
|
|
7208
|
+
type: "Query",
|
|
7209
|
+
schema: z.array(z.string()).describe("Expand related entities").optional()
|
|
7210
|
+
}
|
|
7211
|
+
],
|
|
7212
|
+
response: z.void()
|
|
7213
|
+
},
|
|
7214
|
+
{
|
|
7215
|
+
method: "post",
|
|
7216
|
+
path: "/me/calendar/calendarPermissions",
|
|
7217
|
+
alias: "create-my-calendar-permission",
|
|
7218
|
+
description: `Create a calendarPermission resource to specify the identity and role of the user with whom the specified calendar is being shared or delegated.`,
|
|
7219
|
+
requestFormat: "json",
|
|
7220
|
+
parameters: [
|
|
7221
|
+
{
|
|
7222
|
+
name: "body",
|
|
7223
|
+
description: `New navigation property`,
|
|
7224
|
+
type: "Body",
|
|
7225
|
+
schema: microsoft_graph_calendarPermission
|
|
7226
|
+
}
|
|
7227
|
+
],
|
|
7228
|
+
response: z.void()
|
|
7229
|
+
},
|
|
7230
|
+
{
|
|
7231
|
+
method: "patch",
|
|
7232
|
+
path: "/me/calendar/calendarPermissions/:calendarPermissionId",
|
|
7233
|
+
alias: "update-my-calendar-permission",
|
|
7234
|
+
description: `Update the navigation property calendarPermissions in me`,
|
|
7235
|
+
requestFormat: "json",
|
|
7236
|
+
parameters: [
|
|
7237
|
+
{
|
|
7238
|
+
name: "body",
|
|
7239
|
+
description: `New navigation property values`,
|
|
7240
|
+
type: "Body",
|
|
7241
|
+
schema: microsoft_graph_calendarPermission
|
|
7242
|
+
}
|
|
7243
|
+
],
|
|
7244
|
+
response: z.void()
|
|
7245
|
+
},
|
|
7246
|
+
{
|
|
7247
|
+
method: "delete",
|
|
7248
|
+
path: "/me/calendar/calendarPermissions/:calendarPermissionId",
|
|
7249
|
+
alias: "delete-my-calendar-permission",
|
|
7250
|
+
description: `Delete navigation property calendarPermissions for me`,
|
|
7251
|
+
requestFormat: "json",
|
|
7252
|
+
parameters: [
|
|
7253
|
+
{
|
|
7254
|
+
name: "If-Match",
|
|
7255
|
+
type: "Header",
|
|
7256
|
+
schema: z.string().describe("ETag").optional()
|
|
7257
|
+
}
|
|
7258
|
+
],
|
|
7259
|
+
response: z.void()
|
|
7260
|
+
},
|
|
7135
7261
|
{
|
|
7136
7262
|
method: "post",
|
|
7137
7263
|
path: "/me/calendar/getSchedule",
|
|
@@ -8574,6 +8700,23 @@ Based on this value, you can better adjust the parameters and call findMeetingTi
|
|
|
8574
8700
|
],
|
|
8575
8701
|
response: z.void()
|
|
8576
8702
|
},
|
|
8703
|
+
{
|
|
8704
|
+
method: "post",
|
|
8705
|
+
path: "/me/getMailTips",
|
|
8706
|
+
alias: "get-mail-tips",
|
|
8707
|
+
description: `Get the MailTips of one or more recipients as available to the signed-in user. Note that by making a POST call to the getMailTips action, you can request specific types of MailTips to
|
|
8708
|
+
be returned for more than one recipient at one time. The requested MailTips are returned in a mailTips collection.`,
|
|
8709
|
+
requestFormat: "json",
|
|
8710
|
+
parameters: [
|
|
8711
|
+
{
|
|
8712
|
+
name: "body",
|
|
8713
|
+
description: `Action parameters`,
|
|
8714
|
+
type: "Body",
|
|
8715
|
+
schema: get_mail_tips_Body
|
|
8716
|
+
}
|
|
8717
|
+
],
|
|
8718
|
+
response: z.void()
|
|
8719
|
+
},
|
|
8577
8720
|
{
|
|
8578
8721
|
method: "get",
|
|
8579
8722
|
path: "/me/inferenceClassification/overrides",
|
|
@@ -10577,6 +10720,78 @@ resource.`,
|
|
|
10577
10720
|
],
|
|
10578
10721
|
response: z.void()
|
|
10579
10722
|
},
|
|
10723
|
+
{
|
|
10724
|
+
method: "get",
|
|
10725
|
+
path: "/me/outlook/supportedLanguages()",
|
|
10726
|
+
alias: "list-supported-languages",
|
|
10727
|
+
description: `Get the list of locales and languages that are supported for the user, as configured on the user's mailbox server. When setting up an Outlook client, the user selects the preferred language from this supported list. You can subsequently get the preferred language by
|
|
10728
|
+
getting the user's mailbox settings.`,
|
|
10729
|
+
requestFormat: "json",
|
|
10730
|
+
parameters: [
|
|
10731
|
+
{
|
|
10732
|
+
name: "$top",
|
|
10733
|
+
type: "Query",
|
|
10734
|
+
schema: z.number().int().gte(0).describe("Show only the first n items").optional()
|
|
10735
|
+
},
|
|
10736
|
+
{
|
|
10737
|
+
name: "$skip",
|
|
10738
|
+
type: "Query",
|
|
10739
|
+
schema: z.number().int().gte(0).describe("Skip the first n items").optional()
|
|
10740
|
+
},
|
|
10741
|
+
{
|
|
10742
|
+
name: "$search",
|
|
10743
|
+
type: "Query",
|
|
10744
|
+
schema: z.string().describe("Search items by search phrases").optional()
|
|
10745
|
+
},
|
|
10746
|
+
{
|
|
10747
|
+
name: "$filter",
|
|
10748
|
+
type: "Query",
|
|
10749
|
+
schema: z.string().describe("Filter items by property values").optional()
|
|
10750
|
+
},
|
|
10751
|
+
{
|
|
10752
|
+
name: "$count",
|
|
10753
|
+
type: "Query",
|
|
10754
|
+
schema: z.boolean().describe("Include count of items").optional()
|
|
10755
|
+
}
|
|
10756
|
+
],
|
|
10757
|
+
response: z.void()
|
|
10758
|
+
},
|
|
10759
|
+
{
|
|
10760
|
+
method: "get",
|
|
10761
|
+
path: `/me/outlook/supportedTimeZones(TimeZoneStandard=':TimeZoneStandard')`,
|
|
10762
|
+
alias: "list-supported-time-zones",
|
|
10763
|
+
description: `Get the list of time zones that are supported for the user, as configured on the user's mailbox server. You can explicitly specify to have time zones returned in the Windows time zone format or Internet Assigned Numbers Authority (IANA) time zone (also known as Olson time zone) format. The Windows format is the default. When setting up an Outlook client, the user selects the preferred time zone from this supported list. You can subsequently get the preferred time zone by
|
|
10764
|
+
getting the user's mailbox settings.`,
|
|
10765
|
+
requestFormat: "json",
|
|
10766
|
+
parameters: [
|
|
10767
|
+
{
|
|
10768
|
+
name: "$top",
|
|
10769
|
+
type: "Query",
|
|
10770
|
+
schema: z.number().int().gte(0).describe("Show only the first n items").optional()
|
|
10771
|
+
},
|
|
10772
|
+
{
|
|
10773
|
+
name: "$skip",
|
|
10774
|
+
type: "Query",
|
|
10775
|
+
schema: z.number().int().gte(0).describe("Skip the first n items").optional()
|
|
10776
|
+
},
|
|
10777
|
+
{
|
|
10778
|
+
name: "$search",
|
|
10779
|
+
type: "Query",
|
|
10780
|
+
schema: z.string().describe("Search items by search phrases").optional()
|
|
10781
|
+
},
|
|
10782
|
+
{
|
|
10783
|
+
name: "$filter",
|
|
10784
|
+
type: "Query",
|
|
10785
|
+
schema: z.string().describe("Filter items by property values").optional()
|
|
10786
|
+
},
|
|
10787
|
+
{
|
|
10788
|
+
name: "$count",
|
|
10789
|
+
type: "Query",
|
|
10790
|
+
schema: z.boolean().describe("Include count of items").optional()
|
|
10791
|
+
}
|
|
10792
|
+
],
|
|
10793
|
+
response: z.void()
|
|
10794
|
+
},
|
|
10580
10795
|
{
|
|
10581
10796
|
method: "get",
|
|
10582
10797
|
path: "/me/people",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@softeria/ms-365-mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.101.0",
|
|
4
4
|
"description": " A Model Context Protocol (MCP) server for interacting with Microsoft 365 and Office services through the Graph API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
package/src/endpoints.json
CHANGED
|
@@ -1875,5 +1875,55 @@
|
|
|
1875
1875
|
"toolName": "create-outlook-category",
|
|
1876
1876
|
"scopes": ["MailboxSettings.ReadWrite"],
|
|
1877
1877
|
"llmTip": "Creates a new Outlook category. Body: { displayName (unique), color (one of: none, preset0 … preset24 — maps to red, orange, yellow, green, teal, olive, blue, purple, cranberry, steel, dark-steel, gray, dark-gray, black, dark-red, dark-orange, dark-yellow, dark-green, dark-teal, dark-olive, dark-blue, dark-purple, dark-cranberry) }. Category names are case-sensitive when applied to messages/events."
|
|
1878
|
+
},
|
|
1879
|
+
{
|
|
1880
|
+
"pathPattern": "/me/getMailTips",
|
|
1881
|
+
"method": "post",
|
|
1882
|
+
"toolName": "get-mail-tips",
|
|
1883
|
+
"scopes": ["Mail.Read"],
|
|
1884
|
+
"contentType": "application/json",
|
|
1885
|
+
"llmTip": "Looks up MailTips for one or more recipients before sending an email — answers 'is this person on auto-reply / OOF?', 'will my email exceed their mailbox quota?', 'are they an external recipient?', 'is this a mailbox or distribution list?'. Body: { EmailAddresses: ['user@contoso.com', ...] (max 100), MailTipsOptions: 'automaticReplies, mailboxFullStatus, customMailTip, externalMemberCount, totalMemberCount, maxMessageSize, deliveryRestriction, moderationStatus, recipientScope, recipientSuggestions' (comma-separated subset) }. Returns mailTips per recipient with the requested fields populated. Use this to short-circuit urgent emails when a recipient is OOF, or to warn before fanning out to a large DL."
|
|
1886
|
+
},
|
|
1887
|
+
{
|
|
1888
|
+
"pathPattern": "/me/outlook/supportedTimeZones(TimeZoneStandard='{TimeZoneStandard}')",
|
|
1889
|
+
"method": "get",
|
|
1890
|
+
"toolName": "list-supported-time-zones",
|
|
1891
|
+
"scopes": ["User.Read"],
|
|
1892
|
+
"llmTip": "Lists time zones the user's mailbox server supports. TimeZoneStandard path parameter must be one of: 'windows' (default — Windows time zone names like 'Pacific Standard Time'), or 'iana' (IANA / Olson names like 'America/Los_Angeles'). Returns timeZoneInformation objects with alias and displayName. Use the result to validate or look up the value before calling update-mailbox-settings to change the user's preferred timeZone — the format must match what the server expects."
|
|
1893
|
+
},
|
|
1894
|
+
{
|
|
1895
|
+
"pathPattern": "/me/outlook/supportedLanguages()",
|
|
1896
|
+
"method": "get",
|
|
1897
|
+
"toolName": "list-supported-languages",
|
|
1898
|
+
"scopes": ["User.Read"],
|
|
1899
|
+
"llmTip": "Lists locales and languages the user's mailbox server supports for the Outlook UI and message rendering. Returns localeInfo objects with locale (e.g. 'en-US'), displayName ('English (United States)'), and nativeName ('English (United States)'). Use this to validate the locale value before calling update-mailbox-settings to change the user's preferred language."
|
|
1900
|
+
},
|
|
1901
|
+
{
|
|
1902
|
+
"pathPattern": "/me/calendar/calendarPermissions",
|
|
1903
|
+
"method": "get",
|
|
1904
|
+
"toolName": "list-my-calendar-permissions",
|
|
1905
|
+
"scopes": ["Calendars.Read"],
|
|
1906
|
+
"llmTip": "Lists share recipients and delegates on the user's primary calendar. Returns calendarPermission objects with id, role ('none' | 'freeBusyRead' | 'limitedRead' | 'read' | 'write' | 'delegateWithoutPrivateEventAccess' | 'delegateWithPrivateEventAccess' | 'custom'), emailAddress { name, address }, isInsideOrganization, isRemovable, allowedRoles. Returns an empty collection when called by a delegate or share recipient (only the calendar owner sees the full list). For a non-primary calendar, use /me/calendars/{calendar-id}/calendarPermissions — not currently exposed."
|
|
1907
|
+
},
|
|
1908
|
+
{
|
|
1909
|
+
"pathPattern": "/me/calendar/calendarPermissions",
|
|
1910
|
+
"method": "post",
|
|
1911
|
+
"toolName": "create-my-calendar-permission",
|
|
1912
|
+
"scopes": ["Calendars.ReadWrite"],
|
|
1913
|
+
"llmTip": "Shares the user's primary calendar with another user (or sets up a delegate). Body: { emailAddress: { name: 'Adele Vance', address: 'adele@contoso.com' }, role: 'read' | 'write' | 'delegateWithoutPrivateEventAccess' | 'delegateWithPrivateEventAccess', isInsideOrganization: true, isRemovable: true }. Use list-users to resolve the recipient SMTP. Returns the created calendarPermission with its id (used by update-my-calendar-permission and delete-my-calendar-permission)."
|
|
1914
|
+
},
|
|
1915
|
+
{
|
|
1916
|
+
"pathPattern": "/me/calendar/calendarPermissions/{calendarPermission-id}",
|
|
1917
|
+
"method": "patch",
|
|
1918
|
+
"toolName": "update-my-calendar-permission",
|
|
1919
|
+
"scopes": ["Calendars.ReadWrite"],
|
|
1920
|
+
"llmTip": "Changes the role (permission level) granted to an existing share recipient or delegate. Body: { role: 'read' | 'write' | 'delegateWithoutPrivateEventAccess' | 'delegateWithPrivateEventAccess' }. Only the role property is writable — to change the recipient's email or other properties, delete and recreate via delete-my-calendar-permission + create-my-calendar-permission. Get the permission id via list-my-calendar-permissions."
|
|
1921
|
+
},
|
|
1922
|
+
{
|
|
1923
|
+
"pathPattern": "/me/calendar/calendarPermissions/{calendarPermission-id}",
|
|
1924
|
+
"method": "delete",
|
|
1925
|
+
"toolName": "delete-my-calendar-permission",
|
|
1926
|
+
"scopes": ["Calendars.ReadWrite"],
|
|
1927
|
+
"llmTip": "Revokes a calendar share or delegate access. Get the permission id via list-my-calendar-permissions. Permissions where isRemovable=false (e.g. the implicit 'My Organization' default) cannot be deleted — Graph returns an error."
|
|
1878
1928
|
}
|
|
1879
1929
|
]
|