@softeria/ms-365-mcp-server 0.139.0 → 0.139.1
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/bin/modules/simplified-openapi.mjs +156 -2
- package/dist/endpoints.json +12 -3
- package/dist/generated/client.js +54 -54
- package/package.json +1 -1
- package/src/endpoints.json +12 -3
|
@@ -55,10 +55,22 @@ export function createAndSaveSimplifiedOpenAPI(
|
|
|
55
55
|
description: `Path parameter: ${paramName}`,
|
|
56
56
|
schema: { type: 'string' },
|
|
57
57
|
}));
|
|
58
|
+
// The fallback used to be the llmTip, then the tool name itself, which reached the
|
|
59
|
+
// model as the whole description ("update-sharepoint-site-onenote-page-content
|
|
60
|
+
// (synthesized)"). Prefer a real sentence built from the same name.
|
|
61
|
+
//
|
|
62
|
+
// The synthesized sentence goes ahead of the llmTip on purpose: graph-tools appends
|
|
63
|
+
// the llmTip to the description at registration, so using it here too shipped it
|
|
64
|
+
// twice in the same tool description. The llmTip stays as the fallback for the tool
|
|
65
|
+
// names with no verb to synthesize from (graph-batch).
|
|
66
|
+
const synthesizedDescription =
|
|
67
|
+
synthesizeDescriptionFromToolName(endpoint.toolName) ||
|
|
68
|
+
endpoint.llmTip ||
|
|
69
|
+
`${endpoint.toolName} (synthesized)`;
|
|
58
70
|
pathSpec[methodLower] = {
|
|
59
71
|
tags: ['drives.driveItem'],
|
|
60
|
-
summary:
|
|
61
|
-
description:
|
|
72
|
+
summary: synthesizedDescription,
|
|
73
|
+
description: synthesizedDescription,
|
|
62
74
|
operationId: endpoint.toolName,
|
|
63
75
|
parameters: synthesizedParameters,
|
|
64
76
|
requestBody:
|
|
@@ -126,6 +138,7 @@ export function createAndSaveSimplifiedOpenAPI(
|
|
|
126
138
|
if (!operation.description && operation.summary) {
|
|
127
139
|
operation.description = operation.summary;
|
|
128
140
|
}
|
|
141
|
+
operation.description = replaceNavPropertyStub(operation.description, eo.toolName);
|
|
129
142
|
if (operation.parameters) {
|
|
130
143
|
operation.parameters = operation.parameters.map((param) => {
|
|
131
144
|
if (param.$ref && param.$ref.startsWith('#/components/parameters/')) {
|
|
@@ -166,6 +179,147 @@ export function createAndSaveSimplifiedOpenAPI(
|
|
|
166
179
|
fs.writeFileSync(openapiTrimmedFile, yaml.dump(openApiSpec));
|
|
167
180
|
}
|
|
168
181
|
|
|
182
|
+
// Microsoft's spec is generated from CSDL, so operations that are plain CRUD over a
|
|
183
|
+
// navigation property never get prose. They get scaffolding naming the property and its
|
|
184
|
+
// parent instead - "Create new navigation property to messages for users" - which
|
|
185
|
+
// describes neither the operation nor the resource it acts on. Actions and functions get
|
|
186
|
+
// the same treatment in a different shape ("Invoke action setReaction"). That string is
|
|
187
|
+
// what the model sees as the tool description.
|
|
188
|
+
//
|
|
189
|
+
// Only these prose-free shapes are replaced, and each is anchored at both ends so a stub
|
|
190
|
+
// prefix followed by real text is never swallowed. Descriptions carrying real prose are
|
|
191
|
+
// left alone, including the ones that describe the property rather than the operation
|
|
192
|
+
// ("The messages in a mailbox or folder. Read-only. Nullable."): those are the wrong
|
|
193
|
+
// subject but often carry detail worth keeping, and descriptionOverride is the right tool
|
|
194
|
+
// when they aren't.
|
|
195
|
+
const NAV_PROPERTY_STUB =
|
|
196
|
+
/^(?:Create new navigation property(?: to \S+)?(?: for \S+)?|Update the navigation property \S+ in \S+|Delete navigation property \S+ for \S+|Get \S+ from \S+|Invoke (?:action|function) \S+)\.?$/i;
|
|
197
|
+
|
|
198
|
+
// Leading tool-name tokens that read as verbs. The tool name is a better source than the
|
|
199
|
+
// HTTP method: sort-excel-range is a PATCH, and "Update" would lose the point of it.
|
|
200
|
+
// Listed explicitly rather than inferred: an unknown leading token means we leave
|
|
201
|
+
// Microsoft's text alone, which is the safe direction. `copilot` and `graph` are the only
|
|
202
|
+
// tool-name leads that aren't verbs, and both fall out of this map on purpose.
|
|
203
|
+
const TOOL_NAME_VERBS = {
|
|
204
|
+
accept: 'Accept',
|
|
205
|
+
add: 'Add',
|
|
206
|
+
cancel: 'Cancel',
|
|
207
|
+
clear: 'Clear',
|
|
208
|
+
copy: 'Copy',
|
|
209
|
+
create: 'Create',
|
|
210
|
+
decline: 'Decline',
|
|
211
|
+
delete: 'Delete',
|
|
212
|
+
dismiss: 'Dismiss',
|
|
213
|
+
extract: 'Extract',
|
|
214
|
+
find: 'Find',
|
|
215
|
+
format: 'Format',
|
|
216
|
+
forward: 'Forward',
|
|
217
|
+
get: 'Get',
|
|
218
|
+
insert: 'Insert',
|
|
219
|
+
list: 'List',
|
|
220
|
+
merge: 'Merge',
|
|
221
|
+
move: 'Move',
|
|
222
|
+
pin: 'Pin',
|
|
223
|
+
reauthorize: 'Reauthorize',
|
|
224
|
+
remove: 'Remove',
|
|
225
|
+
rename: 'Rename',
|
|
226
|
+
reply: 'Reply to',
|
|
227
|
+
search: 'Search',
|
|
228
|
+
send: 'Send',
|
|
229
|
+
set: 'Set',
|
|
230
|
+
share: 'Share',
|
|
231
|
+
snooze: 'Snooze',
|
|
232
|
+
sort: 'Sort',
|
|
233
|
+
unmerge: 'Unmerge',
|
|
234
|
+
unpin: 'Unpin',
|
|
235
|
+
unset: 'Unset',
|
|
236
|
+
update: 'Update',
|
|
237
|
+
upload: 'Upload',
|
|
238
|
+
};
|
|
239
|
+
|
|
240
|
+
// Multi-word verbs, matched before the single-token map. Chaining tokens generically
|
|
241
|
+
// would read "Tentatively or accept" for tentatively-accept-event.
|
|
242
|
+
//
|
|
243
|
+
// reply-all has to live here rather than fall through: "all" reads as a possessive lead
|
|
244
|
+
// (see POSSESSIVE_LEADS), so reply-all-mail-message would render "Reply to all mail
|
|
245
|
+
// message" - which says reply to every message in the mailbox, the opposite of what the
|
|
246
|
+
// tool does.
|
|
247
|
+
const COMPOUND_VERBS = {
|
|
248
|
+
'move-rename': 'Move or rename',
|
|
249
|
+
'reply-all': 'Reply to all recipients of',
|
|
250
|
+
'tentatively-accept': 'Tentatively accept',
|
|
251
|
+
};
|
|
252
|
+
|
|
253
|
+
const PRODUCT_NAMES = {
|
|
254
|
+
excel: 'Excel',
|
|
255
|
+
onedrive: 'OneDrive',
|
|
256
|
+
onenote: 'OneNote',
|
|
257
|
+
outlook: 'Outlook',
|
|
258
|
+
planner: 'Planner',
|
|
259
|
+
sharepoint: 'SharePoint',
|
|
260
|
+
};
|
|
261
|
+
|
|
262
|
+
// "my calendar permission" already says whose it is.
|
|
263
|
+
const POSSESSIVE_LEADS = new Set(['my', 'your', 'all']);
|
|
264
|
+
|
|
265
|
+
// Deliberately conservative: a false "singular" only costs an article that reads slightly
|
|
266
|
+
// off, while a false "plural" drops an article the sentence needed. Words like status,
|
|
267
|
+
// series and news end in s without being plural.
|
|
268
|
+
function isPlural(word) {
|
|
269
|
+
return /s$/i.test(word) && !/(ss|us|is|ews)$/i.test(word);
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
// Mass nouns take no article: "Send a mail" and "Upload a file content" both read wrong.
|
|
273
|
+
// Only the tail is checked, since that is the noun the article has to agree with - a
|
|
274
|
+
// leading "content" would be a modifier ("content type"), which is countable again.
|
|
275
|
+
const UNCOUNTABLE_TAILS = new Set(['content', 'mail', 'mime', 'delta']);
|
|
276
|
+
|
|
277
|
+
// Sound, not spelling. OneDrive/OneNote open with a consonant sound, and so does the
|
|
278
|
+
// "yoo" class of u-words (user, unit, unique) - but not upload or update, which really do
|
|
279
|
+
// take "an". Listing the yoo- prefixes is narrower and safer than a blanket /^u/.
|
|
280
|
+
const CONSONANT_SOUNDING_VOWEL = /^(?:one|use|user|uni|uti|ubi|eu)/i;
|
|
281
|
+
|
|
282
|
+
function articleFor(word) {
|
|
283
|
+
if (CONSONANT_SOUNDING_VOWEL.test(word)) return 'a ';
|
|
284
|
+
return /^[aeiou]/i.test(word) ? 'an ' : 'a ';
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
export function synthesizeDescriptionFromToolName(toolName) {
|
|
288
|
+
const parts = toolName.split('-');
|
|
289
|
+
|
|
290
|
+
let verb = null;
|
|
291
|
+
const compound = Object.keys(COMPOUND_VERBS).find((prefix) => toolName.startsWith(`${prefix}-`));
|
|
292
|
+
if (compound) {
|
|
293
|
+
verb = COMPOUND_VERBS[compound];
|
|
294
|
+
parts.splice(0, compound.split('-').length);
|
|
295
|
+
} else if (parts.length > 1 && TOOL_NAME_VERBS[parts[0]]) {
|
|
296
|
+
verb = TOOL_NAME_VERBS[parts.shift()];
|
|
297
|
+
}
|
|
298
|
+
if (!verb) return null;
|
|
299
|
+
|
|
300
|
+
// reply-to-chat-message: the verb phrase already ends in that preposition.
|
|
301
|
+
if (parts[0] === 'to' && verb.endsWith(' to')) parts.shift();
|
|
302
|
+
if (parts.length === 0) return null;
|
|
303
|
+
|
|
304
|
+
const words = parts.map((word) => PRODUCT_NAMES[word] ?? word);
|
|
305
|
+
// The article is chosen for the head word, so a plural head has to suppress it too -
|
|
306
|
+
// "a presences by user id" otherwise. The tail matters as well, since that is the noun
|
|
307
|
+
// the phrase is actually about ("Excel table rows").
|
|
308
|
+
const skipArticle =
|
|
309
|
+
verb === 'List' ||
|
|
310
|
+
POSSESSIVE_LEADS.has(parts[0]) ||
|
|
311
|
+
isPlural(parts[0]) ||
|
|
312
|
+
isPlural(parts[parts.length - 1]) ||
|
|
313
|
+
UNCOUNTABLE_TAILS.has(parts[parts.length - 1]);
|
|
314
|
+
|
|
315
|
+
return `${verb} ${skipArticle ? '' : articleFor(words[0])}${words.join(' ')}.`;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
export function replaceNavPropertyStub(description, toolName) {
|
|
319
|
+
if (!description || !NAV_PROPERTY_STUB.test(description.trim())) return description;
|
|
320
|
+
return synthesizeDescriptionFromToolName(toolName) ?? description;
|
|
321
|
+
}
|
|
322
|
+
|
|
169
323
|
function normalizeWildcardSuccessResponses(paths) {
|
|
170
324
|
Object.values(paths || {}).forEach((pathItem) => {
|
|
171
325
|
if (!pathItem || typeof pathItem !== 'object') return;
|
package/dist/endpoints.json
CHANGED
|
@@ -105,6 +105,7 @@
|
|
|
105
105
|
"pathPattern": "/users/{user-id}/messages/{message-id}",
|
|
106
106
|
"method": "get",
|
|
107
107
|
"toolName": "get-shared-mailbox-message",
|
|
108
|
+
"descriptionOverride": "Get a single Outlook message from another user's mailbox or a shared mailbox, by message ID. The user-id is the mailbox owner's ID or email address, and delegated access to that mailbox is required.",
|
|
108
109
|
"presets": ["work"],
|
|
109
110
|
"workScopes": ["Mail.Read.Shared"]
|
|
110
111
|
},
|
|
@@ -411,6 +412,7 @@
|
|
|
411
412
|
"pathPattern": "/me/calendars/{calendar-id}/events",
|
|
412
413
|
"method": "get",
|
|
413
414
|
"toolName": "list-specific-calendar-events",
|
|
415
|
+
"descriptionOverride": "List events from one of the signed-in user's calendars, addressed by calendar ID.",
|
|
414
416
|
"presets": ["calendar", "outlook", "personal"],
|
|
415
417
|
"scopes": ["Calendars.Read"],
|
|
416
418
|
"supportsTimezone": true,
|
|
@@ -421,6 +423,7 @@
|
|
|
421
423
|
"pathPattern": "/me/calendars/{calendar-id}/events/{event-id}",
|
|
422
424
|
"method": "get",
|
|
423
425
|
"toolName": "get-specific-calendar-event",
|
|
426
|
+
"descriptionOverride": "Get a single event from one of the signed-in user's calendars, addressed by calendar ID and event ID. Any calendar can be addressed this way, including the default one.",
|
|
424
427
|
"presets": ["calendar", "outlook", "personal"],
|
|
425
428
|
"scopes": ["Calendars.Read"],
|
|
426
429
|
"supportsTimezone": true,
|
|
@@ -464,6 +467,7 @@
|
|
|
464
467
|
"pathPattern": "/me/calendars/{calendar-id}/calendarView",
|
|
465
468
|
"method": "get",
|
|
466
469
|
"toolName": "get-specific-calendar-view",
|
|
470
|
+
"descriptionOverride": "List the occurrences, exceptions, and single instances of events over a time range, from one of the signed-in user's calendars addressed by calendar ID.",
|
|
467
471
|
"presets": ["calendar", "outlook", "personal"],
|
|
468
472
|
"scopes": ["Calendars.Read"],
|
|
469
473
|
"supportsTimezone": true,
|
|
@@ -482,6 +486,7 @@
|
|
|
482
486
|
"pathPattern": "/users/{user-id}/calendar/events",
|
|
483
487
|
"method": "get",
|
|
484
488
|
"toolName": "list-shared-calendar-events",
|
|
489
|
+
"descriptionOverride": "List events in another user's default calendar. The user-id is the calendar owner's ID or email address, and delegated access to that calendar is required. Recurring events are returned as a single series master, not expanded into occurrences - use get-shared-calendar-view for that.",
|
|
485
490
|
"presets": ["work"],
|
|
486
491
|
"workScopes": ["Calendars.Read.Shared"]
|
|
487
492
|
},
|
|
@@ -489,6 +494,7 @@
|
|
|
489
494
|
"pathPattern": "/users/{user-id}/calendarView",
|
|
490
495
|
"method": "get",
|
|
491
496
|
"toolName": "get-shared-calendar-view",
|
|
497
|
+
"descriptionOverride": "List the occurrences, exceptions, and single instances of events in another user's default calendar over a time range. Requires the startDateTime and endDateTime query parameters in ISO 8601 format. Unlike list-shared-calendar-events, recurring series are expanded into individual occurrences.",
|
|
492
498
|
"presets": ["work"],
|
|
493
499
|
"workScopes": ["Calendars.Read.Shared"],
|
|
494
500
|
"supportsTimezone": true
|
|
@@ -1979,6 +1985,7 @@
|
|
|
1979
1985
|
"pathPattern": "/copilot/retrieval",
|
|
1980
1986
|
"method": "post",
|
|
1981
1987
|
"toolName": "copilot-retrieve",
|
|
1988
|
+
"descriptionOverride": "Search Microsoft 365 content using the Copilot Retrieval API. Grounds a natural-language query against the hybrid index behind Microsoft 365 Copilot and returns permission-trimmed text extracts with their source URLs.",
|
|
1982
1989
|
"presets": ["search", "work"],
|
|
1983
1990
|
"readOnly": true,
|
|
1984
1991
|
"workScopes": [["Files.Read.All", "Sites.Read.All"], ["ExternalItem.Read.All"]],
|
|
@@ -2015,7 +2022,7 @@
|
|
|
2015
2022
|
}
|
|
2016
2023
|
}
|
|
2017
2024
|
},
|
|
2018
|
-
"llmTip": "
|
|
2025
|
+
"llmTip": "Retrieval here is semantic/hybrid, unlike search-query/search-onedrive-files/search-sharepoint-sites, which are lexical KQL. Prefer this for paraphrase/intent queries (e.g. resolving an informal project nickname, or matching 'packaging requirements' against text that never uses that phrase). Pass the request fields nested under a 'body' object: { queryString, dataSource, filterExpression?, resourceMetadata?, maximumNumberOfResults? }. Returns { retrievalHits: [{ webUrl, extracts: [{ text, relevanceScore }], resourceType, resourceMetadata, sensitivityLabel? }] }. Work/school accounts only (personal accounts are not supported). dataSource 'sharePoint'/'oneDriveBusiness' need delegated Files.Read.All + Sites.Read.All (requested by default); dataSource 'externalItem' (Copilot connectors) needs ExternalItem.Read.All, which is not requested by default - add it with --extra-scopes ExternalItem.Read.All."
|
|
2019
2026
|
},
|
|
2020
2027
|
{
|
|
2021
2028
|
"pathPattern": "/me/onlineMeetings",
|
|
@@ -2216,17 +2223,19 @@
|
|
|
2216
2223
|
"pathPattern": "/places/{place-id}/graph.roomList/rooms",
|
|
2217
2224
|
"method": "get",
|
|
2218
2225
|
"toolName": "list-room-list-rooms",
|
|
2226
|
+
"descriptionOverride": "List the meeting rooms that belong to a room list.",
|
|
2219
2227
|
"presets": ["calendar", "work"],
|
|
2220
2228
|
"workScopes": ["Place.Read.All"],
|
|
2221
|
-
"llmTip": "
|
|
2229
|
+
"llmTip": "The place-id is the ID or email address of the room list (from get-room-list). Returns rooms with displayName, emailAddress, capacity, building, floorNumber, floorLabel, and AV equipment details. Combine with find-meeting-times to find available rooms for booking."
|
|
2222
2230
|
},
|
|
2223
2231
|
{
|
|
2224
2232
|
"pathPattern": "/places/{place-id}/graph.roomList/rooms/{room-id}",
|
|
2225
2233
|
"method": "get",
|
|
2226
2234
|
"toolName": "get-room-list-room",
|
|
2235
|
+
"descriptionOverride": "Get a single meeting room from a room list, by room ID.",
|
|
2227
2236
|
"presets": ["calendar", "work"],
|
|
2228
2237
|
"workScopes": ["Place.Read.All"],
|
|
2229
|
-
"llmTip": "
|
|
2238
|
+
"llmTip": "The place-id is the room list ID or email, and room-id is the specific room ID. Returns full room details including capacity, building, floor, and AV equipment."
|
|
2230
2239
|
},
|
|
2231
2240
|
{
|
|
2232
2241
|
"pathPattern": "/places/{place-id}",
|
package/dist/generated/client.js
CHANGED
|
@@ -5555,7 +5555,7 @@ const endpoints = makeApi([
|
|
|
5555
5555
|
method: "patch",
|
|
5556
5556
|
path: "/chats/:chatId/messages/:chatMessageId",
|
|
5557
5557
|
alias: "update-chat-message",
|
|
5558
|
-
description: `Update
|
|
5558
|
+
description: `Update a chat message.`,
|
|
5559
5559
|
requestFormat: "json",
|
|
5560
5560
|
parameters: [
|
|
5561
5561
|
{
|
|
@@ -5671,7 +5671,7 @@ const endpoints = makeApi([
|
|
|
5671
5671
|
method: "post",
|
|
5672
5672
|
path: "/chats/:chatId/messages/:chatMessageId/replies",
|
|
5673
5673
|
alias: "reply-to-chat-message",
|
|
5674
|
-
description: `
|
|
5674
|
+
description: `Reply to a chat message.`,
|
|
5675
5675
|
requestFormat: "json",
|
|
5676
5676
|
parameters: [
|
|
5677
5677
|
{
|
|
@@ -5687,7 +5687,7 @@ const endpoints = makeApi([
|
|
|
5687
5687
|
method: "post",
|
|
5688
5688
|
path: "/chats/:chatId/messages/:chatMessageId/setReaction",
|
|
5689
5689
|
alias: "set-chat-message-reaction",
|
|
5690
|
-
description: `
|
|
5690
|
+
description: `Set a chat message reaction.`,
|
|
5691
5691
|
requestFormat: "json",
|
|
5692
5692
|
parameters: [
|
|
5693
5693
|
{
|
|
@@ -5703,7 +5703,7 @@ const endpoints = makeApi([
|
|
|
5703
5703
|
method: "post",
|
|
5704
5704
|
path: "/chats/:chatId/messages/:chatMessageId/unsetReaction",
|
|
5705
5705
|
alias: "unset-chat-message-reaction",
|
|
5706
|
-
description: `
|
|
5706
|
+
description: `Unset a chat message reaction.`,
|
|
5707
5707
|
requestFormat: "json",
|
|
5708
5708
|
parameters: [
|
|
5709
5709
|
{
|
|
@@ -5852,7 +5852,7 @@ const endpoints = makeApi([
|
|
|
5852
5852
|
method: "patch",
|
|
5853
5853
|
path: "/drives/:driveId/items/:driveItemId",
|
|
5854
5854
|
alias: "move-rename-onedrive-item",
|
|
5855
|
-
description: `
|
|
5855
|
+
description: `Move or rename a OneDrive item.`,
|
|
5856
5856
|
requestFormat: "json",
|
|
5857
5857
|
parameters: [
|
|
5858
5858
|
{
|
|
@@ -5902,7 +5902,7 @@ const endpoints = makeApi([
|
|
|
5902
5902
|
method: "delete",
|
|
5903
5903
|
path: "/drives/:driveId/items/:driveItemId",
|
|
5904
5904
|
alias: "delete-onedrive-file",
|
|
5905
|
-
description: `Delete
|
|
5905
|
+
description: `Delete a OneDrive file.`,
|
|
5906
5906
|
requestFormat: "json",
|
|
5907
5907
|
parameters: [
|
|
5908
5908
|
{
|
|
@@ -5967,7 +5967,7 @@ const endpoints = makeApi([
|
|
|
5967
5967
|
method: "post",
|
|
5968
5968
|
path: "/drives/:driveId/items/:driveItemId/children",
|
|
5969
5969
|
alias: "create-onedrive-folder",
|
|
5970
|
-
description: `Create
|
|
5970
|
+
description: `Create a OneDrive folder.`,
|
|
5971
5971
|
requestFormat: "json",
|
|
5972
5972
|
parameters: [
|
|
5973
5973
|
{
|
|
@@ -6033,7 +6033,7 @@ const endpoints = makeApi([
|
|
|
6033
6033
|
method: "post",
|
|
6034
6034
|
path: "/drives/:driveId/items/:driveItemId/copy",
|
|
6035
6035
|
alias: "copy-drive-item",
|
|
6036
|
-
description: `
|
|
6036
|
+
description: `Copy a drive item.`,
|
|
6037
6037
|
requestFormat: "json",
|
|
6038
6038
|
parameters: [
|
|
6039
6039
|
{
|
|
@@ -6066,7 +6066,7 @@ If a sharing link of the specified type already exists for the app, the existing
|
|
|
6066
6066
|
method: "post",
|
|
6067
6067
|
path: "/drives/:driveId/items/:driveItemId/createUploadSession",
|
|
6068
6068
|
alias: "create-upload-session",
|
|
6069
|
-
description: `
|
|
6069
|
+
description: `Create an upload session.`,
|
|
6070
6070
|
requestFormat: "json",
|
|
6071
6071
|
parameters: [
|
|
6072
6072
|
{
|
|
@@ -6136,7 +6136,7 @@ Items with this property set should be removed from your local state.`,
|
|
|
6136
6136
|
method: "post",
|
|
6137
6137
|
path: "/drives/:driveId/items/:driveItemId/extractSensitivityLabels",
|
|
6138
6138
|
alias: "extract-drive-item-sensitivity-labels",
|
|
6139
|
-
description: `
|
|
6139
|
+
description: `Extract drive item sensitivity labels.`,
|
|
6140
6140
|
requestFormat: "json",
|
|
6141
6141
|
response: z.void()
|
|
6142
6142
|
},
|
|
@@ -6210,7 +6210,7 @@ Items with this property set should be removed from your local state.`,
|
|
|
6210
6210
|
method: "delete",
|
|
6211
6211
|
path: "/drives/:driveId/items/:driveItemId/permissions/:permissionId",
|
|
6212
6212
|
alias: "delete-drive-item-permission",
|
|
6213
|
-
description: `Delete
|
|
6213
|
+
description: `Delete a drive item permission.`,
|
|
6214
6214
|
requestFormat: "json",
|
|
6215
6215
|
parameters: [
|
|
6216
6216
|
{
|
|
@@ -6225,7 +6225,7 @@ Items with this property set should be removed from your local state.`,
|
|
|
6225
6225
|
method: "post",
|
|
6226
6226
|
path: "/drives/:driveId/items/:driveItemId/preview",
|
|
6227
6227
|
alias: "create-drive-item-preview",
|
|
6228
|
-
description: `
|
|
6228
|
+
description: `Create a drive item preview.`,
|
|
6229
6229
|
requestFormat: "json",
|
|
6230
6230
|
parameters: [
|
|
6231
6231
|
{
|
|
@@ -6461,7 +6461,7 @@ Items with this property set should be removed from your local state.`,
|
|
|
6461
6461
|
method: "post",
|
|
6462
6462
|
path: "/drives/:driveId/items/:driveItemId/workbook/tables/:workbookTableId/rows",
|
|
6463
6463
|
alias: "add-excel-table-rows",
|
|
6464
|
-
description: `
|
|
6464
|
+
description: `Add Excel table rows.`,
|
|
6465
6465
|
requestFormat: "json",
|
|
6466
6466
|
parameters: [
|
|
6467
6467
|
{
|
|
@@ -6477,7 +6477,7 @@ Items with this property set should be removed from your local state.`,
|
|
|
6477
6477
|
method: "patch",
|
|
6478
6478
|
path: "/drives/:driveId/items/:driveItemId/workbook/tables/:workbookTableId/rows/itemAt(index=:index)",
|
|
6479
6479
|
alias: "update-excel-table-row",
|
|
6480
|
-
description: `Update
|
|
6480
|
+
description: `Update an Excel table row.`,
|
|
6481
6481
|
requestFormat: "json",
|
|
6482
6482
|
parameters: [
|
|
6483
6483
|
{
|
|
@@ -6513,7 +6513,7 @@ Items with this property set should be removed from your local state.`,
|
|
|
6513
6513
|
method: "delete",
|
|
6514
6514
|
path: "/drives/:driveId/items/:driveItemId/workbook/tables/:workbookTableId/rows/itemAt(index=:index)",
|
|
6515
6515
|
alias: "delete-excel-table-row",
|
|
6516
|
-
description: `Delete
|
|
6516
|
+
description: `Delete an Excel table row.`,
|
|
6517
6517
|
requestFormat: "json",
|
|
6518
6518
|
parameters: [
|
|
6519
6519
|
{
|
|
@@ -6609,7 +6609,7 @@ Items with this property set should be removed from your local state.`,
|
|
|
6609
6609
|
method: "patch",
|
|
6610
6610
|
path: "/drives/:driveId/items/:driveItemId/workbook/worksheets/:workbookWorksheetId/range()/sort",
|
|
6611
6611
|
alias: "sort-excel-range",
|
|
6612
|
-
description: `
|
|
6612
|
+
description: `Sort an Excel range.`,
|
|
6613
6613
|
requestFormat: "json",
|
|
6614
6614
|
parameters: [
|
|
6615
6615
|
{
|
|
@@ -6627,7 +6627,7 @@ Items with this property set should be removed from your local state.`,
|
|
|
6627
6627
|
method: "get",
|
|
6628
6628
|
path: `/drives/:driveId/items/:driveItemId/workbook/worksheets/:workbookWorksheetId/range(address=':address')`,
|
|
6629
6629
|
alias: "get-excel-range",
|
|
6630
|
-
description: `
|
|
6630
|
+
description: `Get an Excel range.`,
|
|
6631
6631
|
requestFormat: "json",
|
|
6632
6632
|
response: z.void()
|
|
6633
6633
|
},
|
|
@@ -6635,7 +6635,7 @@ Items with this property set should be removed from your local state.`,
|
|
|
6635
6635
|
method: "patch",
|
|
6636
6636
|
path: `/drives/:driveId/items/:driveItemId/workbook/worksheets/:workbookWorksheetId/range(address=':address')`,
|
|
6637
6637
|
alias: "update-excel-range",
|
|
6638
|
-
description: `
|
|
6638
|
+
description: `Update an Excel range.`,
|
|
6639
6639
|
requestFormat: "json",
|
|
6640
6640
|
parameters: [
|
|
6641
6641
|
{
|
|
@@ -6671,7 +6671,7 @@ Items with this property set should be removed from your local state.`,
|
|
|
6671
6671
|
method: "post",
|
|
6672
6672
|
path: `/drives/:driveId/items/:driveItemId/workbook/worksheets/:workbookWorksheetId/range(address=':address')/clear`,
|
|
6673
6673
|
alias: "clear-excel-range",
|
|
6674
|
-
description: `
|
|
6674
|
+
description: `Clear an Excel range.`,
|
|
6675
6675
|
requestFormat: "json",
|
|
6676
6676
|
parameters: [
|
|
6677
6677
|
{
|
|
@@ -6687,7 +6687,7 @@ Items with this property set should be removed from your local state.`,
|
|
|
6687
6687
|
method: "post",
|
|
6688
6688
|
path: `/drives/:driveId/items/:driveItemId/workbook/worksheets/:workbookWorksheetId/range(address=':address')/delete`,
|
|
6689
6689
|
alias: "delete-excel-range",
|
|
6690
|
-
description: `
|
|
6690
|
+
description: `Delete an Excel range.`,
|
|
6691
6691
|
requestFormat: "json",
|
|
6692
6692
|
parameters: [
|
|
6693
6693
|
{
|
|
@@ -6723,7 +6723,7 @@ Items with this property set should be removed from your local state.`,
|
|
|
6723
6723
|
method: "patch",
|
|
6724
6724
|
path: `/drives/:driveId/items/:driveItemId/workbook/worksheets/:workbookWorksheetId/range(address=':address')/format`,
|
|
6725
6725
|
alias: "format-excel-range",
|
|
6726
|
-
description: `
|
|
6726
|
+
description: `Format an Excel range.`,
|
|
6727
6727
|
requestFormat: "json",
|
|
6728
6728
|
parameters: [
|
|
6729
6729
|
{
|
|
@@ -6739,7 +6739,7 @@ Items with this property set should be removed from your local state.`,
|
|
|
6739
6739
|
method: "patch",
|
|
6740
6740
|
path: `/drives/:driveId/items/:driveItemId/workbook/worksheets/:workbookWorksheetId/range(address=':address')/format/borders/:sideIndex`,
|
|
6741
6741
|
alias: "format-excel-range-border",
|
|
6742
|
-
description: `
|
|
6742
|
+
description: `Format an Excel range border.`,
|
|
6743
6743
|
requestFormat: "json",
|
|
6744
6744
|
parameters: [
|
|
6745
6745
|
{
|
|
@@ -6780,7 +6780,7 @@ Items with this property set should be removed from your local state.`,
|
|
|
6780
6780
|
method: "patch",
|
|
6781
6781
|
path: `/drives/:driveId/items/:driveItemId/workbook/worksheets/:workbookWorksheetId/range(address=':address')/format/fill`,
|
|
6782
6782
|
alias: "format-excel-range-fill",
|
|
6783
|
-
description: `
|
|
6783
|
+
description: `Format an Excel range fill.`,
|
|
6784
6784
|
requestFormat: "json",
|
|
6785
6785
|
parameters: [
|
|
6786
6786
|
{
|
|
@@ -6820,7 +6820,7 @@ Items with this property set should be removed from your local state.`,
|
|
|
6820
6820
|
method: "patch",
|
|
6821
6821
|
path: `/drives/:driveId/items/:driveItemId/workbook/worksheets/:workbookWorksheetId/range(address=':address')/format/font`,
|
|
6822
6822
|
alias: "format-excel-range-font",
|
|
6823
|
-
description: `
|
|
6823
|
+
description: `Format an Excel range font.`,
|
|
6824
6824
|
requestFormat: "json",
|
|
6825
6825
|
parameters: [
|
|
6826
6826
|
{
|
|
@@ -6856,7 +6856,7 @@ Items with this property set should be removed from your local state.`,
|
|
|
6856
6856
|
method: "post",
|
|
6857
6857
|
path: `/drives/:driveId/items/:driveItemId/workbook/worksheets/:workbookWorksheetId/range(address=':address')/insert`,
|
|
6858
6858
|
alias: "insert-excel-range",
|
|
6859
|
-
description: `
|
|
6859
|
+
description: `Insert an Excel range.`,
|
|
6860
6860
|
requestFormat: "json",
|
|
6861
6861
|
parameters: [
|
|
6862
6862
|
{
|
|
@@ -6872,7 +6872,7 @@ Items with this property set should be removed from your local state.`,
|
|
|
6872
6872
|
method: "post",
|
|
6873
6873
|
path: `/drives/:driveId/items/:driveItemId/workbook/worksheets/:workbookWorksheetId/range(address=':address')/merge`,
|
|
6874
6874
|
alias: "merge-excel-range",
|
|
6875
|
-
description: `
|
|
6875
|
+
description: `Merge an Excel range.`,
|
|
6876
6876
|
requestFormat: "json",
|
|
6877
6877
|
parameters: [
|
|
6878
6878
|
{
|
|
@@ -6888,7 +6888,7 @@ Items with this property set should be removed from your local state.`,
|
|
|
6888
6888
|
method: "post",
|
|
6889
6889
|
path: `/drives/:driveId/items/:driveItemId/workbook/worksheets/:workbookWorksheetId/range(address=':address')/unmerge`,
|
|
6890
6890
|
alias: "unmerge-excel-range",
|
|
6891
|
-
description: `
|
|
6891
|
+
description: `Unmerge an Excel range.`,
|
|
6892
6892
|
requestFormat: "json",
|
|
6893
6893
|
response: z.void()
|
|
6894
6894
|
},
|
|
@@ -6912,7 +6912,7 @@ Items with this property set should be removed from your local state.`,
|
|
|
6912
6912
|
method: "get",
|
|
6913
6913
|
path: "/drives/:driveId/items/:driveItemId/workbook/worksheets/:workbookWorksheetId/usedRange()",
|
|
6914
6914
|
alias: "get-excel-used-range",
|
|
6915
|
-
description: `
|
|
6915
|
+
description: `Get an Excel used range.`,
|
|
6916
6916
|
requestFormat: "json",
|
|
6917
6917
|
response: z.void()
|
|
6918
6918
|
},
|
|
@@ -7764,7 +7764,7 @@ from the default calendar of a group.`,
|
|
|
7764
7764
|
method: "patch",
|
|
7765
7765
|
path: "/me/calendar/calendarPermissions/:calendarPermissionId",
|
|
7766
7766
|
alias: "update-my-calendar-permission",
|
|
7767
|
-
description: `Update
|
|
7767
|
+
description: `Update my calendar permission.`,
|
|
7768
7768
|
requestFormat: "json",
|
|
7769
7769
|
parameters: [
|
|
7770
7770
|
{
|
|
@@ -7780,7 +7780,7 @@ from the default calendar of a group.`,
|
|
|
7780
7780
|
method: "delete",
|
|
7781
7781
|
path: "/me/calendar/calendarPermissions/:calendarPermissionId",
|
|
7782
7782
|
alias: "delete-my-calendar-permission",
|
|
7783
|
-
description: `Delete
|
|
7783
|
+
description: `Delete my calendar permission.`,
|
|
7784
7784
|
requestFormat: "json",
|
|
7785
7785
|
parameters: [
|
|
7786
7786
|
{
|
|
@@ -7877,7 +7877,7 @@ from the default calendar of a group.`,
|
|
|
7877
7877
|
method: "patch",
|
|
7878
7878
|
path: "/me/calendars/:calendarId",
|
|
7879
7879
|
alias: "update-calendar",
|
|
7880
|
-
description: `Update
|
|
7880
|
+
description: `Update a calendar.`,
|
|
7881
7881
|
requestFormat: "json",
|
|
7882
7882
|
parameters: [
|
|
7883
7883
|
{
|
|
@@ -8110,7 +8110,7 @@ from the default calendar of a group.`,
|
|
|
8110
8110
|
method: "patch",
|
|
8111
8111
|
path: "/me/calendars/:calendarId/events/:eventId",
|
|
8112
8112
|
alias: "update-specific-calendar-event",
|
|
8113
|
-
description: `Update
|
|
8113
|
+
description: `Update a specific calendar event.`,
|
|
8114
8114
|
requestFormat: "json",
|
|
8115
8115
|
parameters: [
|
|
8116
8116
|
{
|
|
@@ -8178,7 +8178,7 @@ from the default calendar of a group.`,
|
|
|
8178
8178
|
method: "delete",
|
|
8179
8179
|
path: "/me/calendars/:calendarId/events/:eventId",
|
|
8180
8180
|
alias: "delete-specific-calendar-event",
|
|
8181
|
-
description: `Delete
|
|
8181
|
+
description: `Delete a specific calendar event.`,
|
|
8182
8182
|
requestFormat: "json",
|
|
8183
8183
|
parameters: [
|
|
8184
8184
|
{
|
|
@@ -8386,7 +8386,7 @@ or from some other calendar of the user.`,
|
|
|
8386
8386
|
method: "get",
|
|
8387
8387
|
path: "/me/chats",
|
|
8388
8388
|
alias: "list-chats",
|
|
8389
|
-
description: `
|
|
8389
|
+
description: `List chats.`,
|
|
8390
8390
|
requestFormat: "json",
|
|
8391
8391
|
parameters: [
|
|
8392
8392
|
{
|
|
@@ -8920,7 +8920,7 @@ or from some other calendar of the user.`,
|
|
|
8920
8920
|
method: "get",
|
|
8921
8921
|
path: "/me/dataSecurityAndGovernance/sensitivityLabels",
|
|
8922
8922
|
alias: "list-sensitivity-labels",
|
|
8923
|
-
description: `
|
|
8923
|
+
description: `List sensitivity labels.`,
|
|
8924
8924
|
requestFormat: "json",
|
|
8925
8925
|
parameters: [
|
|
8926
8926
|
{
|
|
@@ -8970,7 +8970,7 @@ or from some other calendar of the user.`,
|
|
|
8970
8970
|
method: "get",
|
|
8971
8971
|
path: "/me/dataSecurityAndGovernance/sensitivityLabels/:sensitivityLabelId",
|
|
8972
8972
|
alias: "get-sensitivity-label",
|
|
8973
|
-
description: `Get
|
|
8973
|
+
description: `Get a sensitivity label.`,
|
|
8974
8974
|
requestFormat: "json",
|
|
8975
8975
|
parameters: [
|
|
8976
8976
|
{
|
|
@@ -10525,7 +10525,7 @@ resource.`,
|
|
|
10525
10525
|
method: "delete",
|
|
10526
10526
|
path: "/me/messages/:messageId/attachments/:attachmentId",
|
|
10527
10527
|
alias: "delete-mail-attachment",
|
|
10528
|
-
description: `Delete
|
|
10528
|
+
description: `Delete a mail attachment.`,
|
|
10529
10529
|
requestFormat: "json",
|
|
10530
10530
|
parameters: [
|
|
10531
10531
|
{
|
|
@@ -10572,7 +10572,7 @@ resource.`,
|
|
|
10572
10572
|
method: "post",
|
|
10573
10573
|
path: "/me/messages/:messageId/createForward",
|
|
10574
10574
|
alias: "create-forward-draft",
|
|
10575
|
-
description: `
|
|
10575
|
+
description: `Create a forward draft.`,
|
|
10576
10576
|
requestFormat: "json",
|
|
10577
10577
|
parameters: [
|
|
10578
10578
|
{
|
|
@@ -12421,7 +12421,7 @@ Currently, a user can be associated with a team in two different ways:`,
|
|
|
12421
12421
|
method: "get",
|
|
12422
12422
|
path: "/places/:placeId/graph.roomList/rooms",
|
|
12423
12423
|
alias: "list-room-list-rooms",
|
|
12424
|
-
description: `
|
|
12424
|
+
description: `List room list rooms.`,
|
|
12425
12425
|
requestFormat: "json",
|
|
12426
12426
|
parameters: [
|
|
12427
12427
|
{
|
|
@@ -12471,7 +12471,7 @@ Currently, a user can be associated with a team in two different ways:`,
|
|
|
12471
12471
|
method: "get",
|
|
12472
12472
|
path: "/places/:placeId/graph.roomList/rooms/:roomId",
|
|
12473
12473
|
alias: "get-room-list-room",
|
|
12474
|
-
description: `Get
|
|
12474
|
+
description: `Get a room list room.`,
|
|
12475
12475
|
requestFormat: "json",
|
|
12476
12476
|
parameters: [
|
|
12477
12477
|
{
|
|
@@ -12985,7 +12985,7 @@ A site resource represents a team site in SharePoint.`,
|
|
|
12985
12985
|
method: "get",
|
|
12986
12986
|
path: "/sites/:siteId:/:path",
|
|
12987
12987
|
alias: "get-sharepoint-site-by-path",
|
|
12988
|
-
description: `
|
|
12988
|
+
description: `Get a SharePoint site by path.`,
|
|
12989
12989
|
requestFormat: "json",
|
|
12990
12990
|
parameters: [
|
|
12991
12991
|
{
|
|
@@ -13352,7 +13352,7 @@ To list them, include system in your $select statement.`,
|
|
|
13352
13352
|
method: "patch",
|
|
13353
13353
|
path: "/sites/:siteId/lists/:listId/columns/:columnDefinitionId",
|
|
13354
13354
|
alias: "update-sharepoint-list-column",
|
|
13355
|
-
description: `Update
|
|
13355
|
+
description: `Update a SharePoint list column.`,
|
|
13356
13356
|
requestFormat: "json",
|
|
13357
13357
|
parameters: [
|
|
13358
13358
|
{
|
|
@@ -13402,7 +13402,7 @@ To list them, include system in your $select statement.`,
|
|
|
13402
13402
|
method: "delete",
|
|
13403
13403
|
path: "/sites/:siteId/lists/:listId/columns/:columnDefinitionId",
|
|
13404
13404
|
alias: "delete-sharepoint-list-column",
|
|
13405
|
-
description: `Delete
|
|
13405
|
+
description: `Delete a SharePoint list column.`,
|
|
13406
13406
|
requestFormat: "json",
|
|
13407
13407
|
parameters: [
|
|
13408
13408
|
{
|
|
@@ -13503,7 +13503,7 @@ To list them, include system in your $select statement.`,
|
|
|
13503
13503
|
method: "patch",
|
|
13504
13504
|
path: "/sites/:siteId/lists/:listId/items/:listItemId",
|
|
13505
13505
|
alias: "update-sharepoint-list-item",
|
|
13506
|
-
description: `Update
|
|
13506
|
+
description: `Update a SharePoint list item.`,
|
|
13507
13507
|
requestFormat: "json",
|
|
13508
13508
|
parameters: [
|
|
13509
13509
|
{
|
|
@@ -13584,7 +13584,7 @@ To list them, include system in your $select statement.`,
|
|
|
13584
13584
|
method: "post",
|
|
13585
13585
|
path: "/sites/:siteId/onenote/notebooks",
|
|
13586
13586
|
alias: "create-sharepoint-site-onenote-notebook",
|
|
13587
|
-
description: `Create
|
|
13587
|
+
description: `Create a SharePoint site OneNote notebook.`,
|
|
13588
13588
|
requestFormat: "json",
|
|
13589
13589
|
parameters: [
|
|
13590
13590
|
{
|
|
@@ -13700,7 +13700,7 @@ To list them, include system in your $select statement.`,
|
|
|
13700
13700
|
method: "post",
|
|
13701
13701
|
path: "/sites/:siteId/onenote/notebooks/:notebookId/sections",
|
|
13702
13702
|
alias: "create-sharepoint-site-onenote-section",
|
|
13703
|
-
description: `Create
|
|
13703
|
+
description: `Create a SharePoint site OneNote section.`,
|
|
13704
13704
|
requestFormat: "json",
|
|
13705
13705
|
parameters: [
|
|
13706
13706
|
{
|
|
@@ -13716,7 +13716,7 @@ To list them, include system in your $select statement.`,
|
|
|
13716
13716
|
method: "delete",
|
|
13717
13717
|
path: "/sites/:siteId/onenote/pages/:onenotePageId",
|
|
13718
13718
|
alias: "delete-sharepoint-site-onenote-page",
|
|
13719
|
-
description: `Delete
|
|
13719
|
+
description: `Delete a SharePoint site OneNote page.`,
|
|
13720
13720
|
requestFormat: "json",
|
|
13721
13721
|
parameters: [
|
|
13722
13722
|
{
|
|
@@ -13739,7 +13739,7 @@ To list them, include system in your $select statement.`,
|
|
|
13739
13739
|
method: "patch",
|
|
13740
13740
|
path: "/sites/:siteId/onenote/pages/:onenotePageId/content",
|
|
13741
13741
|
alias: "update-sharepoint-site-onenote-page-content",
|
|
13742
|
-
description: `
|
|
13742
|
+
description: `Update SharePoint site OneNote page content.`,
|
|
13743
13743
|
requestFormat: "json",
|
|
13744
13744
|
parameters: [
|
|
13745
13745
|
{
|
|
@@ -13865,7 +13865,7 @@ To list them, include system in your $select statement.`,
|
|
|
13865
13865
|
method: "post",
|
|
13866
13866
|
path: "/sites/:siteId/onenote/sectionGroups/:sectionGroupId/sections",
|
|
13867
13867
|
alias: "create-sharepoint-site-onenote-section-group-section",
|
|
13868
|
-
description: `Create
|
|
13868
|
+
description: `Create a SharePoint site OneNote section group section.`,
|
|
13869
13869
|
requestFormat: "json",
|
|
13870
13870
|
parameters: [
|
|
13871
13871
|
{
|
|
@@ -13931,7 +13931,7 @@ To list them, include system in your $select statement.`,
|
|
|
13931
13931
|
method: "post",
|
|
13932
13932
|
path: "/sites/:siteId/onenote/sections/:onenoteSectionId/pages",
|
|
13933
13933
|
alias: "create-sharepoint-site-onenote-section-page",
|
|
13934
|
-
description: `Create
|
|
13934
|
+
description: `Create a SharePoint site OneNote section page.`,
|
|
13935
13935
|
requestFormat: "json",
|
|
13936
13936
|
parameters: [
|
|
13937
13937
|
{
|
|
@@ -14571,7 +14571,7 @@ Only the policyViolation property of a chatMessage can be updated in application
|
|
|
14571
14571
|
method: "patch",
|
|
14572
14572
|
path: "/teams/:teamId/channels/:channelId/messages/:chatMessageId/replies/:chatMessageId1",
|
|
14573
14573
|
alias: "update-channel-message-reply",
|
|
14574
|
-
description: `Update
|
|
14574
|
+
description: `Update a channel message reply.`,
|
|
14575
14575
|
requestFormat: "json",
|
|
14576
14576
|
parameters: [
|
|
14577
14577
|
{
|
|
@@ -14587,7 +14587,7 @@ Only the policyViolation property of a chatMessage can be updated in application
|
|
|
14587
14587
|
method: "post",
|
|
14588
14588
|
path: "/teams/:teamId/channels/:channelId/messages/:chatMessageId/setReaction",
|
|
14589
14589
|
alias: "set-channel-message-reaction",
|
|
14590
|
-
description: `
|
|
14590
|
+
description: `Set a channel message reaction.`,
|
|
14591
14591
|
requestFormat: "json",
|
|
14592
14592
|
parameters: [
|
|
14593
14593
|
{
|
|
@@ -14603,7 +14603,7 @@ Only the policyViolation property of a chatMessage can be updated in application
|
|
|
14603
14603
|
method: "post",
|
|
14604
14604
|
path: "/teams/:teamId/channels/:channelId/messages/:chatMessageId/unsetReaction",
|
|
14605
14605
|
alias: "unset-channel-message-reaction",
|
|
14606
|
-
description: `
|
|
14606
|
+
description: `Unset a channel message reaction.`,
|
|
14607
14607
|
requestFormat: "json",
|
|
14608
14608
|
parameters: [
|
|
14609
14609
|
{
|
|
@@ -15105,7 +15105,7 @@ Only the policyViolation property of a chatMessage can be updated in application
|
|
|
15105
15105
|
method: "post",
|
|
15106
15106
|
path: "/users/:userId/messages",
|
|
15107
15107
|
alias: "create-shared-mailbox-draft",
|
|
15108
|
-
description: `Create
|
|
15108
|
+
description: `Create a shared mailbox draft.`,
|
|
15109
15109
|
requestFormat: "json",
|
|
15110
15110
|
parameters: [
|
|
15111
15111
|
{
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@softeria/ms-365-mcp-server",
|
|
3
3
|
"mcpName": "io.github.Softeria/ms-365-mcp-server",
|
|
4
|
-
"version": "0.139.
|
|
4
|
+
"version": "0.139.1",
|
|
5
5
|
"description": " A Model Context Protocol (MCP) server for interacting with Microsoft 365 and Office services through the Graph API",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "dist/index.js",
|
package/src/endpoints.json
CHANGED
|
@@ -105,6 +105,7 @@
|
|
|
105
105
|
"pathPattern": "/users/{user-id}/messages/{message-id}",
|
|
106
106
|
"method": "get",
|
|
107
107
|
"toolName": "get-shared-mailbox-message",
|
|
108
|
+
"descriptionOverride": "Get a single Outlook message from another user's mailbox or a shared mailbox, by message ID. The user-id is the mailbox owner's ID or email address, and delegated access to that mailbox is required.",
|
|
108
109
|
"presets": ["work"],
|
|
109
110
|
"workScopes": ["Mail.Read.Shared"]
|
|
110
111
|
},
|
|
@@ -411,6 +412,7 @@
|
|
|
411
412
|
"pathPattern": "/me/calendars/{calendar-id}/events",
|
|
412
413
|
"method": "get",
|
|
413
414
|
"toolName": "list-specific-calendar-events",
|
|
415
|
+
"descriptionOverride": "List events from one of the signed-in user's calendars, addressed by calendar ID.",
|
|
414
416
|
"presets": ["calendar", "outlook", "personal"],
|
|
415
417
|
"scopes": ["Calendars.Read"],
|
|
416
418
|
"supportsTimezone": true,
|
|
@@ -421,6 +423,7 @@
|
|
|
421
423
|
"pathPattern": "/me/calendars/{calendar-id}/events/{event-id}",
|
|
422
424
|
"method": "get",
|
|
423
425
|
"toolName": "get-specific-calendar-event",
|
|
426
|
+
"descriptionOverride": "Get a single event from one of the signed-in user's calendars, addressed by calendar ID and event ID. Any calendar can be addressed this way, including the default one.",
|
|
424
427
|
"presets": ["calendar", "outlook", "personal"],
|
|
425
428
|
"scopes": ["Calendars.Read"],
|
|
426
429
|
"supportsTimezone": true,
|
|
@@ -464,6 +467,7 @@
|
|
|
464
467
|
"pathPattern": "/me/calendars/{calendar-id}/calendarView",
|
|
465
468
|
"method": "get",
|
|
466
469
|
"toolName": "get-specific-calendar-view",
|
|
470
|
+
"descriptionOverride": "List the occurrences, exceptions, and single instances of events over a time range, from one of the signed-in user's calendars addressed by calendar ID.",
|
|
467
471
|
"presets": ["calendar", "outlook", "personal"],
|
|
468
472
|
"scopes": ["Calendars.Read"],
|
|
469
473
|
"supportsTimezone": true,
|
|
@@ -482,6 +486,7 @@
|
|
|
482
486
|
"pathPattern": "/users/{user-id}/calendar/events",
|
|
483
487
|
"method": "get",
|
|
484
488
|
"toolName": "list-shared-calendar-events",
|
|
489
|
+
"descriptionOverride": "List events in another user's default calendar. The user-id is the calendar owner's ID or email address, and delegated access to that calendar is required. Recurring events are returned as a single series master, not expanded into occurrences - use get-shared-calendar-view for that.",
|
|
485
490
|
"presets": ["work"],
|
|
486
491
|
"workScopes": ["Calendars.Read.Shared"]
|
|
487
492
|
},
|
|
@@ -489,6 +494,7 @@
|
|
|
489
494
|
"pathPattern": "/users/{user-id}/calendarView",
|
|
490
495
|
"method": "get",
|
|
491
496
|
"toolName": "get-shared-calendar-view",
|
|
497
|
+
"descriptionOverride": "List the occurrences, exceptions, and single instances of events in another user's default calendar over a time range. Requires the startDateTime and endDateTime query parameters in ISO 8601 format. Unlike list-shared-calendar-events, recurring series are expanded into individual occurrences.",
|
|
492
498
|
"presets": ["work"],
|
|
493
499
|
"workScopes": ["Calendars.Read.Shared"],
|
|
494
500
|
"supportsTimezone": true
|
|
@@ -1979,6 +1985,7 @@
|
|
|
1979
1985
|
"pathPattern": "/copilot/retrieval",
|
|
1980
1986
|
"method": "post",
|
|
1981
1987
|
"toolName": "copilot-retrieve",
|
|
1988
|
+
"descriptionOverride": "Search Microsoft 365 content using the Copilot Retrieval API. Grounds a natural-language query against the hybrid index behind Microsoft 365 Copilot and returns permission-trimmed text extracts with their source URLs.",
|
|
1982
1989
|
"presets": ["search", "work"],
|
|
1983
1990
|
"readOnly": true,
|
|
1984
1991
|
"workScopes": [["Files.Read.All", "Sites.Read.All"], ["ExternalItem.Read.All"]],
|
|
@@ -2015,7 +2022,7 @@
|
|
|
2015
2022
|
}
|
|
2016
2023
|
}
|
|
2017
2024
|
},
|
|
2018
|
-
"llmTip": "
|
|
2025
|
+
"llmTip": "Retrieval here is semantic/hybrid, unlike search-query/search-onedrive-files/search-sharepoint-sites, which are lexical KQL. Prefer this for paraphrase/intent queries (e.g. resolving an informal project nickname, or matching 'packaging requirements' against text that never uses that phrase). Pass the request fields nested under a 'body' object: { queryString, dataSource, filterExpression?, resourceMetadata?, maximumNumberOfResults? }. Returns { retrievalHits: [{ webUrl, extracts: [{ text, relevanceScore }], resourceType, resourceMetadata, sensitivityLabel? }] }. Work/school accounts only (personal accounts are not supported). dataSource 'sharePoint'/'oneDriveBusiness' need delegated Files.Read.All + Sites.Read.All (requested by default); dataSource 'externalItem' (Copilot connectors) needs ExternalItem.Read.All, which is not requested by default - add it with --extra-scopes ExternalItem.Read.All."
|
|
2019
2026
|
},
|
|
2020
2027
|
{
|
|
2021
2028
|
"pathPattern": "/me/onlineMeetings",
|
|
@@ -2216,17 +2223,19 @@
|
|
|
2216
2223
|
"pathPattern": "/places/{place-id}/graph.roomList/rooms",
|
|
2217
2224
|
"method": "get",
|
|
2218
2225
|
"toolName": "list-room-list-rooms",
|
|
2226
|
+
"descriptionOverride": "List the meeting rooms that belong to a room list.",
|
|
2219
2227
|
"presets": ["calendar", "work"],
|
|
2220
2228
|
"workScopes": ["Place.Read.All"],
|
|
2221
|
-
"llmTip": "
|
|
2229
|
+
"llmTip": "The place-id is the ID or email address of the room list (from get-room-list). Returns rooms with displayName, emailAddress, capacity, building, floorNumber, floorLabel, and AV equipment details. Combine with find-meeting-times to find available rooms for booking."
|
|
2222
2230
|
},
|
|
2223
2231
|
{
|
|
2224
2232
|
"pathPattern": "/places/{place-id}/graph.roomList/rooms/{room-id}",
|
|
2225
2233
|
"method": "get",
|
|
2226
2234
|
"toolName": "get-room-list-room",
|
|
2235
|
+
"descriptionOverride": "Get a single meeting room from a room list, by room ID.",
|
|
2227
2236
|
"presets": ["calendar", "work"],
|
|
2228
2237
|
"workScopes": ["Place.Read.All"],
|
|
2229
|
-
"llmTip": "
|
|
2238
|
+
"llmTip": "The place-id is the room list ID or email, and room-id is the specific room ID. Returns full room details including capacity, building, floor, and AV equipment."
|
|
2230
2239
|
},
|
|
2231
2240
|
{
|
|
2232
2241
|
"pathPattern": "/places/{place-id}",
|