@softeria/ms-365-mcp-server 0.100.0 → 0.102.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 +42 -0
- package/dist/generated/client.js +219 -26
- package/package.json +1 -1
- package/src/endpoints.json +42 -0
package/dist/endpoints.json
CHANGED
|
@@ -1897,5 +1897,47 @@
|
|
|
1897
1897
|
"toolName": "list-supported-languages",
|
|
1898
1898
|
"scopes": ["User.Read"],
|
|
1899
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."
|
|
1928
|
+
},
|
|
1929
|
+
{
|
|
1930
|
+
"pathPattern": "/me/contactFolders/{contactFolder-id}/childFolders",
|
|
1931
|
+
"method": "get",
|
|
1932
|
+
"toolName": "list-contact-folder-child-folders",
|
|
1933
|
+
"scopes": ["Contacts.Read"],
|
|
1934
|
+
"llmTip": "Lists immediate sub-folders under a given contact folder. Returns id, displayName, parentFolderId. Use list-contact-folders to discover top-level folders, then this tool to traverse one level deeper. Supports $filter, $top, $orderby. Note: contact folders are typically a flat list in Outlook clients, but Graph allows nesting via this endpoint."
|
|
1935
|
+
},
|
|
1936
|
+
{
|
|
1937
|
+
"pathPattern": "/me/contactFolders/{contactFolder-id}/childFolders",
|
|
1938
|
+
"method": "post",
|
|
1939
|
+
"toolName": "create-contact-child-folder",
|
|
1940
|
+
"scopes": ["Contacts.ReadWrite"],
|
|
1941
|
+
"llmTip": "Creates a sub-folder under an existing contact folder. Body: { displayName: 'Sub-folder name' }. Names must be unique among siblings under the same parent. Use list-contact-folders to discover the parent id. The returned contactFolder has its own id usable with update-contact-folder, delete-contact-folder, list-contact-folder-contacts, and create-contact-in-folder — contactFolder ids are mailbox-unique regardless of nesting depth."
|
|
1900
1942
|
}
|
|
1901
1943
|
]
|
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(
|
|
@@ -2035,6 +2040,28 @@ const microsoft_graph_contact = z.object({
|
|
|
2035
2040
|
imAddresses: z.array(z.string().nullable()).describe("The contact's instant messaging (IM) addresses.").optional(),
|
|
2036
2041
|
initials: z.string().describe("The contact's initials.").nullish()
|
|
2037
2042
|
}).passthrough().passthrough();
|
|
2043
|
+
const microsoft_graph_contactFolder = z.lazy(
|
|
2044
|
+
() => z.object({
|
|
2045
|
+
id: z.string().describe("The unique identifier for an entity. Read-only.").optional(),
|
|
2046
|
+
displayName: z.string().describe("The folder's display name.").nullish(),
|
|
2047
|
+
parentFolderId: z.string().describe("The ID of the folder's parent folder.").nullish(),
|
|
2048
|
+
childFolders: z.array(microsoft_graph_contactFolder).describe(
|
|
2049
|
+
"The collection of child folders in the folder. Navigation property. Read-only. Nullable."
|
|
2050
|
+
).optional(),
|
|
2051
|
+
contacts: z.array(microsoft_graph_contact).describe("The contacts in the folder. Navigation property. Read-only. Nullable.").optional(),
|
|
2052
|
+
multiValueExtendedProperties: z.array(microsoft_graph_multiValueLegacyExtendedProperty).describe(
|
|
2053
|
+
"The collection of multi-value extended properties defined for the contactFolder. Read-only. Nullable."
|
|
2054
|
+
).optional(),
|
|
2055
|
+
singleValueExtendedProperties: z.array(microsoft_graph_singleValueLegacyExtendedProperty).describe(
|
|
2056
|
+
"The collection of single-value extended properties defined for the contactFolder. Read-only. Nullable."
|
|
2057
|
+
).optional()
|
|
2058
|
+
}).passthrough()
|
|
2059
|
+
);
|
|
2060
|
+
const microsoft_graph_contactFolderCollectionResponse = z.object({
|
|
2061
|
+
"@odata.count": z.number().int().nullable(),
|
|
2062
|
+
"@odata.nextLink": z.string().nullable(),
|
|
2063
|
+
value: z.array(microsoft_graph_contactFolder)
|
|
2064
|
+
}).partial().passthrough();
|
|
2038
2065
|
const microsoft_graph_contactCollectionResponse = z.object({
|
|
2039
2066
|
"@odata.count": z.number().int().nullable(),
|
|
2040
2067
|
"@odata.nextLink": z.string().nullable(),
|
|
@@ -4716,6 +4743,9 @@ const schemas = {
|
|
|
4716
4743
|
ReferenceCreate,
|
|
4717
4744
|
microsoft_graph_conversationThreadCollectionResponse,
|
|
4718
4745
|
reply_to_group_thread_Body,
|
|
4746
|
+
microsoft_graph_calendarRoleType,
|
|
4747
|
+
microsoft_graph_calendarPermission,
|
|
4748
|
+
microsoft_graph_calendarPermissionCollectionResponse,
|
|
4719
4749
|
get_schedule_Body,
|
|
4720
4750
|
microsoft_graph_freeBusyError,
|
|
4721
4751
|
microsoft_graph_scheduleItem,
|
|
@@ -4724,12 +4754,12 @@ const schemas = {
|
|
|
4724
4754
|
microsoft_graph_scheduleInformation,
|
|
4725
4755
|
microsoft_graph_onlineMeetingProviderType,
|
|
4726
4756
|
microsoft_graph_calendarColor,
|
|
4727
|
-
microsoft_graph_calendarRoleType,
|
|
4728
|
-
microsoft_graph_calendarPermission,
|
|
4729
4757
|
microsoft_graph_calendar,
|
|
4730
4758
|
microsoft_graph_calendarCollectionResponse,
|
|
4731
4759
|
microsoft_graph_chatCollectionResponse,
|
|
4732
4760
|
microsoft_graph_contact,
|
|
4761
|
+
microsoft_graph_contactFolder,
|
|
4762
|
+
microsoft_graph_contactFolderCollectionResponse,
|
|
4733
4763
|
microsoft_graph_contactCollectionResponse,
|
|
4734
4764
|
microsoft_graph_labelActionSource,
|
|
4735
4765
|
microsoft_graph_usageRights,
|
|
@@ -7155,6 +7185,103 @@ from the default calendar of a group.`,
|
|
|
7155
7185
|
],
|
|
7156
7186
|
response: z.void()
|
|
7157
7187
|
},
|
|
7188
|
+
{
|
|
7189
|
+
method: "get",
|
|
7190
|
+
path: "/me/calendar/calendarPermissions",
|
|
7191
|
+
alias: "list-my-calendar-permissions",
|
|
7192
|
+
description: `The permissions of the users with whom the calendar is shared.`,
|
|
7193
|
+
requestFormat: "json",
|
|
7194
|
+
parameters: [
|
|
7195
|
+
{
|
|
7196
|
+
name: "$top",
|
|
7197
|
+
type: "Query",
|
|
7198
|
+
schema: z.number().int().gte(0).describe("Show only the first n items").optional()
|
|
7199
|
+
},
|
|
7200
|
+
{
|
|
7201
|
+
name: "$skip",
|
|
7202
|
+
type: "Query",
|
|
7203
|
+
schema: z.number().int().gte(0).describe("Skip the first n items").optional()
|
|
7204
|
+
},
|
|
7205
|
+
{
|
|
7206
|
+
name: "$search",
|
|
7207
|
+
type: "Query",
|
|
7208
|
+
schema: z.string().describe("Search items by search phrases").optional()
|
|
7209
|
+
},
|
|
7210
|
+
{
|
|
7211
|
+
name: "$filter",
|
|
7212
|
+
type: "Query",
|
|
7213
|
+
schema: z.string().describe("Filter items by property values").optional()
|
|
7214
|
+
},
|
|
7215
|
+
{
|
|
7216
|
+
name: "$count",
|
|
7217
|
+
type: "Query",
|
|
7218
|
+
schema: z.boolean().describe("Include count of items").optional()
|
|
7219
|
+
},
|
|
7220
|
+
{
|
|
7221
|
+
name: "$orderby",
|
|
7222
|
+
type: "Query",
|
|
7223
|
+
schema: z.array(z.string()).describe("Order items by property values").optional()
|
|
7224
|
+
},
|
|
7225
|
+
{
|
|
7226
|
+
name: "$select",
|
|
7227
|
+
type: "Query",
|
|
7228
|
+
schema: z.array(z.string()).describe("Select properties to be returned").optional()
|
|
7229
|
+
},
|
|
7230
|
+
{
|
|
7231
|
+
name: "$expand",
|
|
7232
|
+
type: "Query",
|
|
7233
|
+
schema: z.array(z.string()).describe("Expand related entities").optional()
|
|
7234
|
+
}
|
|
7235
|
+
],
|
|
7236
|
+
response: z.void()
|
|
7237
|
+
},
|
|
7238
|
+
{
|
|
7239
|
+
method: "post",
|
|
7240
|
+
path: "/me/calendar/calendarPermissions",
|
|
7241
|
+
alias: "create-my-calendar-permission",
|
|
7242
|
+
description: `Create a calendarPermission resource to specify the identity and role of the user with whom the specified calendar is being shared or delegated.`,
|
|
7243
|
+
requestFormat: "json",
|
|
7244
|
+
parameters: [
|
|
7245
|
+
{
|
|
7246
|
+
name: "body",
|
|
7247
|
+
description: `New navigation property`,
|
|
7248
|
+
type: "Body",
|
|
7249
|
+
schema: microsoft_graph_calendarPermission
|
|
7250
|
+
}
|
|
7251
|
+
],
|
|
7252
|
+
response: z.void()
|
|
7253
|
+
},
|
|
7254
|
+
{
|
|
7255
|
+
method: "patch",
|
|
7256
|
+
path: "/me/calendar/calendarPermissions/:calendarPermissionId",
|
|
7257
|
+
alias: "update-my-calendar-permission",
|
|
7258
|
+
description: `Update the navigation property calendarPermissions in me`,
|
|
7259
|
+
requestFormat: "json",
|
|
7260
|
+
parameters: [
|
|
7261
|
+
{
|
|
7262
|
+
name: "body",
|
|
7263
|
+
description: `New navigation property values`,
|
|
7264
|
+
type: "Body",
|
|
7265
|
+
schema: microsoft_graph_calendarPermission
|
|
7266
|
+
}
|
|
7267
|
+
],
|
|
7268
|
+
response: z.void()
|
|
7269
|
+
},
|
|
7270
|
+
{
|
|
7271
|
+
method: "delete",
|
|
7272
|
+
path: "/me/calendar/calendarPermissions/:calendarPermissionId",
|
|
7273
|
+
alias: "delete-my-calendar-permission",
|
|
7274
|
+
description: `Delete navigation property calendarPermissions for me`,
|
|
7275
|
+
requestFormat: "json",
|
|
7276
|
+
parameters: [
|
|
7277
|
+
{
|
|
7278
|
+
name: "If-Match",
|
|
7279
|
+
type: "Header",
|
|
7280
|
+
schema: z.string().describe("ETag").optional()
|
|
7281
|
+
}
|
|
7282
|
+
],
|
|
7283
|
+
response: z.void()
|
|
7284
|
+
},
|
|
7158
7285
|
{
|
|
7159
7286
|
method: "post",
|
|
7160
7287
|
path: "/me/calendar/getSchedule",
|
|
@@ -7796,6 +7923,72 @@ or from some other calendar of the user.`,
|
|
|
7796
7923
|
],
|
|
7797
7924
|
response: z.void()
|
|
7798
7925
|
},
|
|
7926
|
+
{
|
|
7927
|
+
method: "get",
|
|
7928
|
+
path: "/me/contactFolders/:contactFolderId/childFolders",
|
|
7929
|
+
alias: "list-contact-folder-child-folders",
|
|
7930
|
+
description: `Get a collection of child folders under the specified contact folder.`,
|
|
7931
|
+
requestFormat: "json",
|
|
7932
|
+
parameters: [
|
|
7933
|
+
{
|
|
7934
|
+
name: "$top",
|
|
7935
|
+
type: "Query",
|
|
7936
|
+
schema: z.number().int().gte(0).describe("Show only the first n items").optional()
|
|
7937
|
+
},
|
|
7938
|
+
{
|
|
7939
|
+
name: "$skip",
|
|
7940
|
+
type: "Query",
|
|
7941
|
+
schema: z.number().int().gte(0).describe("Skip the first n items").optional()
|
|
7942
|
+
},
|
|
7943
|
+
{
|
|
7944
|
+
name: "$search",
|
|
7945
|
+
type: "Query",
|
|
7946
|
+
schema: z.string().describe("Search items by search phrases").optional()
|
|
7947
|
+
},
|
|
7948
|
+
{
|
|
7949
|
+
name: "$filter",
|
|
7950
|
+
type: "Query",
|
|
7951
|
+
schema: z.string().describe("Filter items by property values").optional()
|
|
7952
|
+
},
|
|
7953
|
+
{
|
|
7954
|
+
name: "$count",
|
|
7955
|
+
type: "Query",
|
|
7956
|
+
schema: z.boolean().describe("Include count of items").optional()
|
|
7957
|
+
},
|
|
7958
|
+
{
|
|
7959
|
+
name: "$orderby",
|
|
7960
|
+
type: "Query",
|
|
7961
|
+
schema: z.array(z.string()).describe("Order items by property values").optional()
|
|
7962
|
+
},
|
|
7963
|
+
{
|
|
7964
|
+
name: "$select",
|
|
7965
|
+
type: "Query",
|
|
7966
|
+
schema: z.array(z.string()).describe("Select properties to be returned").optional()
|
|
7967
|
+
},
|
|
7968
|
+
{
|
|
7969
|
+
name: "$expand",
|
|
7970
|
+
type: "Query",
|
|
7971
|
+
schema: z.array(z.string()).describe("Expand related entities").optional()
|
|
7972
|
+
}
|
|
7973
|
+
],
|
|
7974
|
+
response: z.void()
|
|
7975
|
+
},
|
|
7976
|
+
{
|
|
7977
|
+
method: "post",
|
|
7978
|
+
path: "/me/contactFolders/:contactFolderId/childFolders",
|
|
7979
|
+
alias: "create-contact-child-folder",
|
|
7980
|
+
description: `Create a new contactFolder as a child of a specified folder. You can also create a new contactFolder under the user's default contact folder.`,
|
|
7981
|
+
requestFormat: "json",
|
|
7982
|
+
parameters: [
|
|
7983
|
+
{
|
|
7984
|
+
name: "body",
|
|
7985
|
+
description: `New navigation property`,
|
|
7986
|
+
type: "Body",
|
|
7987
|
+
schema: microsoft_graph_contactFolder
|
|
7988
|
+
}
|
|
7989
|
+
],
|
|
7990
|
+
response: z.void()
|
|
7991
|
+
},
|
|
7799
7992
|
{
|
|
7800
7993
|
method: "get",
|
|
7801
7994
|
path: "/me/contacts",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@softeria/ms-365-mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.102.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
|
@@ -1897,5 +1897,47 @@
|
|
|
1897
1897
|
"toolName": "list-supported-languages",
|
|
1898
1898
|
"scopes": ["User.Read"],
|
|
1899
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."
|
|
1928
|
+
},
|
|
1929
|
+
{
|
|
1930
|
+
"pathPattern": "/me/contactFolders/{contactFolder-id}/childFolders",
|
|
1931
|
+
"method": "get",
|
|
1932
|
+
"toolName": "list-contact-folder-child-folders",
|
|
1933
|
+
"scopes": ["Contacts.Read"],
|
|
1934
|
+
"llmTip": "Lists immediate sub-folders under a given contact folder. Returns id, displayName, parentFolderId. Use list-contact-folders to discover top-level folders, then this tool to traverse one level deeper. Supports $filter, $top, $orderby. Note: contact folders are typically a flat list in Outlook clients, but Graph allows nesting via this endpoint."
|
|
1935
|
+
},
|
|
1936
|
+
{
|
|
1937
|
+
"pathPattern": "/me/contactFolders/{contactFolder-id}/childFolders",
|
|
1938
|
+
"method": "post",
|
|
1939
|
+
"toolName": "create-contact-child-folder",
|
|
1940
|
+
"scopes": ["Contacts.ReadWrite"],
|
|
1941
|
+
"llmTip": "Creates a sub-folder under an existing contact folder. Body: { displayName: 'Sub-folder name' }. Names must be unique among siblings under the same parent. Use list-contact-folders to discover the parent id. The returned contactFolder has its own id usable with update-contact-folder, delete-contact-folder, list-contact-folder-contacts, and create-contact-in-folder — contactFolder ids are mailbox-unique regardless of nesting depth."
|
|
1900
1942
|
}
|
|
1901
1943
|
]
|