@softeria/ms-365-mcp-server 0.21.0 → 0.22.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/bin/modules/simplified-openapi.mjs +23 -0
- package/dist/endpoints.json +7 -1
- package/dist/generated/client.js +116 -41
- package/package.json +1 -1
- package/src/endpoints.json +7 -1
|
@@ -396,12 +396,35 @@ function findUsedSchemas(openApiSpec) {
|
|
|
396
396
|
const schemasToProcess = [];
|
|
397
397
|
const schemas = openApiSpec.components?.schemas || {};
|
|
398
398
|
const responses = openApiSpec.components?.responses || {};
|
|
399
|
+
const requestBodies = openApiSpec.components?.requestBodies || {};
|
|
399
400
|
const paths = openApiSpec.paths || {};
|
|
400
401
|
|
|
401
402
|
Object.entries(paths).forEach(([, pathItem]) => {
|
|
402
403
|
Object.entries(pathItem).forEach(([, operation]) => {
|
|
403
404
|
if (typeof operation !== 'object') return;
|
|
404
405
|
|
|
406
|
+
if (operation.requestBody?.$ref) {
|
|
407
|
+
const requestBodyName = operation.requestBody.$ref.replace(
|
|
408
|
+
'#/components/requestBodies/',
|
|
409
|
+
''
|
|
410
|
+
);
|
|
411
|
+
const requestBodyDefinition = requestBodies[requestBodyName];
|
|
412
|
+
if (requestBodyDefinition?.content) {
|
|
413
|
+
Object.values(requestBodyDefinition.content).forEach((content) => {
|
|
414
|
+
if (content.schema?.$ref) {
|
|
415
|
+
const schemaName = content.schema.$ref.replace('#/components/schemas/', '');
|
|
416
|
+
schemasToProcess.push(schemaName);
|
|
417
|
+
}
|
|
418
|
+
if (content.schema?.properties) {
|
|
419
|
+
findRefsInObject(content.schema.properties, (ref) => {
|
|
420
|
+
const schemaName = ref.replace('#/components/schemas/', '');
|
|
421
|
+
schemasToProcess.push(schemaName);
|
|
422
|
+
});
|
|
423
|
+
}
|
|
424
|
+
});
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
|
|
405
428
|
if (operation.requestBody?.content) {
|
|
406
429
|
Object.values(operation.requestBody.content).forEach((content) => {
|
|
407
430
|
if (content.schema?.$ref) {
|
package/dist/endpoints.json
CHANGED
|
@@ -173,6 +173,12 @@
|
|
|
173
173
|
"toolName": "list-calendars",
|
|
174
174
|
"scopes": ["Calendars.Read"]
|
|
175
175
|
},
|
|
176
|
+
{
|
|
177
|
+
"pathPattern": "/me/findMeetingTimes",
|
|
178
|
+
"method": "post",
|
|
179
|
+
"toolName": "find-meeting-times",
|
|
180
|
+
"workScopes": ["Calendars.Read.Shared"]
|
|
181
|
+
},
|
|
176
182
|
{
|
|
177
183
|
"pathPattern": "/me/drives",
|
|
178
184
|
"method": "get",
|
|
@@ -198,7 +204,7 @@
|
|
|
198
204
|
"scopes": ["Files.Read"]
|
|
199
205
|
},
|
|
200
206
|
{
|
|
201
|
-
"pathPattern": "/drives/{drive-id}/items/{driveItem-id}/
|
|
207
|
+
"pathPattern": "/drives/{drive-id}/items/{driveItem-id}/content",
|
|
202
208
|
"method": "get",
|
|
203
209
|
"toolName": "download-onedrive-file-content",
|
|
204
210
|
"scopes": ["Files.Read"]
|
package/dist/generated/client.js
CHANGED
|
@@ -660,8 +660,8 @@ const microsoft_graph_driveItem = z.object({
|
|
|
660
660
|
webUrl: z.string().describe(
|
|
661
661
|
"URL that either displays the resource in the browser (for Office file formats), or is a direct link to the file (for other formats). Read-only."
|
|
662
662
|
).nullish(),
|
|
663
|
-
createdByUser: microsoft_graph_user.describe("[Note: Simplified from
|
|
664
|
-
lastModifiedByUser: microsoft_graph_user.describe("[Note: Simplified from
|
|
663
|
+
createdByUser: microsoft_graph_user.describe("[Note: Simplified from 133 properties to 25 most common ones]").optional(),
|
|
664
|
+
lastModifiedByUser: microsoft_graph_user.describe("[Note: Simplified from 133 properties to 25 most common ones]").optional(),
|
|
665
665
|
audio: microsoft_graph_audio.optional(),
|
|
666
666
|
bundle: microsoft_graph_bundle.optional(),
|
|
667
667
|
cTag: z.string().describe(
|
|
@@ -1757,8 +1757,8 @@ const microsoft_graph_listItem = z.object({
|
|
|
1757
1757
|
webUrl: z.string().describe(
|
|
1758
1758
|
"URL that either displays the resource in the browser (for Office file formats), or is a direct link to the file (for other formats). Read-only."
|
|
1759
1759
|
).nullish(),
|
|
1760
|
-
createdByUser: microsoft_graph_user.describe("[Note: Simplified from
|
|
1761
|
-
lastModifiedByUser: microsoft_graph_user.describe("[Note: Simplified from
|
|
1760
|
+
createdByUser: microsoft_graph_user.describe("[Note: Simplified from 133 properties to 25 most common ones]").optional(),
|
|
1761
|
+
lastModifiedByUser: microsoft_graph_user.describe("[Note: Simplified from 133 properties to 25 most common ones]").optional(),
|
|
1762
1762
|
contentType: microsoft_graph_contentTypeInfo.optional(),
|
|
1763
1763
|
sharepointIds: microsoft_graph_sharepointIds.optional(),
|
|
1764
1764
|
analytics: microsoft_graph_itemAnalytics.optional(),
|
|
@@ -1877,8 +1877,8 @@ const microsoft_graph_list = z.lazy(
|
|
|
1877
1877
|
webUrl: z.string().describe(
|
|
1878
1878
|
"URL that either displays the resource in the browser (for Office file formats), or is a direct link to the file (for other formats). Read-only."
|
|
1879
1879
|
).nullish(),
|
|
1880
|
-
createdByUser: microsoft_graph_user.describe("[Note: Simplified from
|
|
1881
|
-
lastModifiedByUser: microsoft_graph_user.describe("[Note: Simplified from
|
|
1880
|
+
createdByUser: microsoft_graph_user.describe("[Note: Simplified from 133 properties to 25 most common ones]").optional(),
|
|
1881
|
+
lastModifiedByUser: microsoft_graph_user.describe("[Note: Simplified from 133 properties to 25 most common ones]").optional(),
|
|
1882
1882
|
displayName: z.string().describe("The displayable title of the list.").nullish(),
|
|
1883
1883
|
list: microsoft_graph_listInfo.optional(),
|
|
1884
1884
|
sharepointIds: microsoft_graph_sharepointIds.optional(),
|
|
@@ -1909,8 +1909,8 @@ const microsoft_graph_drive = z.lazy(
|
|
|
1909
1909
|
webUrl: z.string().describe(
|
|
1910
1910
|
"URL that either displays the resource in the browser (for Office file formats), or is a direct link to the file (for other formats). Read-only."
|
|
1911
1911
|
).nullish(),
|
|
1912
|
-
createdByUser: microsoft_graph_user.describe("[Note: Simplified from
|
|
1913
|
-
lastModifiedByUser: microsoft_graph_user.describe("[Note: Simplified from
|
|
1912
|
+
createdByUser: microsoft_graph_user.describe("[Note: Simplified from 133 properties to 25 most common ones]").optional(),
|
|
1913
|
+
lastModifiedByUser: microsoft_graph_user.describe("[Note: Simplified from 133 properties to 25 most common ones]").optional(),
|
|
1914
1914
|
driveType: z.string().describe(
|
|
1915
1915
|
"Describes the type of drive represented by this resource. OneDrive personal drives return personal. OneDrive for Business returns business. SharePoint document libraries return documentLibrary. Read-only."
|
|
1916
1916
|
).nullish(),
|
|
@@ -2195,7 +2195,7 @@ const microsoft_graph_team = z.lazy(
|
|
|
2195
2195
|
).nullish(),
|
|
2196
2196
|
allChannels: z.array(microsoft_graph_channel).describe("List of channels either hosted in or shared with the team (incoming channels).").optional(),
|
|
2197
2197
|
channels: z.array(microsoft_graph_channel).describe("The collection of channels and messages associated with the team.").optional(),
|
|
2198
|
-
group: microsoft_graph_group.describe("[Note: Simplified from
|
|
2198
|
+
group: microsoft_graph_group.describe("[Note: Simplified from 71 properties to 25 most common ones]").optional(),
|
|
2199
2199
|
incomingChannels: z.array(microsoft_graph_channel).describe("List of channels shared with the team.").optional(),
|
|
2200
2200
|
installedApps: z.array(microsoft_graph_teamsAppInstallation).describe("The apps installed in this team.").optional(),
|
|
2201
2201
|
members: z.array(microsoft_graph_conversationMember).describe("Members and owners of the team.").optional(),
|
|
@@ -2416,6 +2416,51 @@ const microsoft_graph_attachmentCollectionResponse = z.object({
|
|
|
2416
2416
|
"@odata.nextLink": z.string().nullable(),
|
|
2417
2417
|
value: z.array(microsoft_graph_attachment)
|
|
2418
2418
|
}).partial().strict();
|
|
2419
|
+
const microsoft_graph_attendeeBase = z.object({
|
|
2420
|
+
emailAddress: microsoft_graph_emailAddress.optional(),
|
|
2421
|
+
type: microsoft_graph_attendeeType.optional()
|
|
2422
|
+
}).strict();
|
|
2423
|
+
const microsoft_graph_locationConstraintItem = z.object({
|
|
2424
|
+
address: microsoft_graph_physicalAddress.optional(),
|
|
2425
|
+
coordinates: microsoft_graph_outlookGeoCoordinates.optional(),
|
|
2426
|
+
displayName: z.string().describe("The name associated with the location.").nullish(),
|
|
2427
|
+
locationEmailAddress: z.string().describe("Optional email address of the location.").nullish(),
|
|
2428
|
+
locationType: microsoft_graph_locationType.optional(),
|
|
2429
|
+
locationUri: z.string().describe("Optional URI representing the location.").nullish(),
|
|
2430
|
+
uniqueId: z.string().describe("For internal use only.").nullish(),
|
|
2431
|
+
uniqueIdType: microsoft_graph_locationUniqueIdType.optional(),
|
|
2432
|
+
resolveAvailability: z.boolean().describe(
|
|
2433
|
+
"If set to true and the specified resource is busy, findMeetingTimes looks for another resource that is free. If set to false and the specified resource is busy, findMeetingTimes returns the resource best ranked in the user's cache without checking if it's free. Default is true."
|
|
2434
|
+
).nullish()
|
|
2435
|
+
}).strict();
|
|
2436
|
+
const microsoft_graph_locationConstraint = z.object({
|
|
2437
|
+
isRequired: z.boolean().describe(
|
|
2438
|
+
"The client requests the service to include in the response a meeting location for the meeting. If this is true and all the resources are busy, findMeetingTimes won't return any meeting time suggestions. If this is false and all the resources are busy, findMeetingTimes would still look for meeting times without locations."
|
|
2439
|
+
).nullish(),
|
|
2440
|
+
locations: z.array(microsoft_graph_locationConstraintItem).describe(
|
|
2441
|
+
"Constraint information for one or more locations that the client requests for the meeting."
|
|
2442
|
+
).optional(),
|
|
2443
|
+
suggestLocation: z.boolean().describe("The client requests the service to suggest one or more meeting locations.").nullish()
|
|
2444
|
+
}).strict();
|
|
2445
|
+
const microsoft_graph_activityDomain = z.enum(["unknown", "work", "personal", "unrestricted"]);
|
|
2446
|
+
const microsoft_graph_timeConstraint = z.object({
|
|
2447
|
+
activityDomain: microsoft_graph_activityDomain.optional(),
|
|
2448
|
+
timeSlots: z.array(microsoft_graph_timeSlot).optional()
|
|
2449
|
+
}).strict();
|
|
2450
|
+
const ReferenceNumeric = z.enum(["-INF", "INF", "NaN"]);
|
|
2451
|
+
const find_meeting_times_Body = z.object({
|
|
2452
|
+
attendees: z.array(microsoft_graph_attendeeBase),
|
|
2453
|
+
locationConstraint: z.union([
|
|
2454
|
+
microsoft_graph_locationConstraint,
|
|
2455
|
+
z.object({}).partial().strict()
|
|
2456
|
+
]),
|
|
2457
|
+
timeConstraint: z.union([microsoft_graph_timeConstraint, z.object({}).partial().strict()]),
|
|
2458
|
+
meetingDuration: z.string().regex(/^-?P([0-9]+D)?(T([0-9]+H)?([0-9]+M)?([0-9]+([.][0-9]+)?S)?)?$/).nullable(),
|
|
2459
|
+
maxCandidates: z.number().gte(-2147483648).lte(2147483647).nullable(),
|
|
2460
|
+
isOrganizerOptional: z.boolean().nullable().default(false),
|
|
2461
|
+
returnSuggestionReasons: z.boolean().nullable().default(false),
|
|
2462
|
+
minimumAttendeePercentage: z.union([z.number(), z.string(), ReferenceNumeric])
|
|
2463
|
+
}).partial().strict();
|
|
2419
2464
|
const send_mail_Body = z.object({
|
|
2420
2465
|
Message: microsoft_graph_message.describe(
|
|
2421
2466
|
"[Note: Simplified from 35 properties to 25 most common ones]"
|
|
@@ -3119,8 +3164,8 @@ const microsoft_graph_baseItem = z.object({
|
|
|
3119
3164
|
webUrl: z.string().describe(
|
|
3120
3165
|
"URL that either displays the resource in the browser (for Office file formats), or is a direct link to the file (for other formats). Read-only."
|
|
3121
3166
|
).nullish(),
|
|
3122
|
-
createdByUser: microsoft_graph_user.describe("[Note: Simplified from
|
|
3123
|
-
lastModifiedByUser: microsoft_graph_user.describe("[Note: Simplified from
|
|
3167
|
+
createdByUser: microsoft_graph_user.describe("[Note: Simplified from 133 properties to 25 most common ones]").optional(),
|
|
3168
|
+
lastModifiedByUser: microsoft_graph_user.describe("[Note: Simplified from 133 properties to 25 most common ones]").optional()
|
|
3124
3169
|
}).strict();
|
|
3125
3170
|
const microsoft_graph_site = z.object({
|
|
3126
3171
|
id: z.string().describe("The unique identifier for an entity. Read-only.").optional(),
|
|
@@ -3141,8 +3186,8 @@ const microsoft_graph_site = z.object({
|
|
|
3141
3186
|
webUrl: z.string().describe(
|
|
3142
3187
|
"URL that either displays the resource in the browser (for Office file formats), or is a direct link to the file (for other formats). Read-only."
|
|
3143
3188
|
).nullish(),
|
|
3144
|
-
createdByUser: microsoft_graph_user.describe("[Note: Simplified from
|
|
3145
|
-
lastModifiedByUser: microsoft_graph_user.describe("[Note: Simplified from
|
|
3189
|
+
createdByUser: microsoft_graph_user.describe("[Note: Simplified from 133 properties to 25 most common ones]").optional(),
|
|
3190
|
+
lastModifiedByUser: microsoft_graph_user.describe("[Note: Simplified from 133 properties to 25 most common ones]").optional(),
|
|
3146
3191
|
isPersonalSite: z.boolean().describe("Identifies whether the site is personal or not. Read-only.").nullish(),
|
|
3147
3192
|
root: microsoft_graph_root.optional(),
|
|
3148
3193
|
sharepointIds: microsoft_graph_sharepointIds.optional(),
|
|
@@ -3423,6 +3468,13 @@ const schemas = {
|
|
|
3423
3468
|
microsoft_graph_mailFolderCollectionResponse,
|
|
3424
3469
|
microsoft_graph_messageCollectionResponse,
|
|
3425
3470
|
microsoft_graph_attachmentCollectionResponse,
|
|
3471
|
+
microsoft_graph_attendeeBase,
|
|
3472
|
+
microsoft_graph_locationConstraintItem,
|
|
3473
|
+
microsoft_graph_locationConstraint,
|
|
3474
|
+
microsoft_graph_activityDomain,
|
|
3475
|
+
microsoft_graph_timeConstraint,
|
|
3476
|
+
ReferenceNumeric,
|
|
3477
|
+
find_meeting_times_Body,
|
|
3426
3478
|
send_mail_Body,
|
|
3427
3479
|
microsoft_graph_externalLink,
|
|
3428
3480
|
microsoft_graph_notebookLinks,
|
|
@@ -3622,7 +3674,7 @@ const endpoints = makeApi([
|
|
|
3622
3674
|
method: "post",
|
|
3623
3675
|
path: "/chats/:chatId/messages",
|
|
3624
3676
|
alias: "send-chat-message",
|
|
3625
|
-
description: `Send a new chatMessage in the specified
|
|
3677
|
+
description: `Send a new chatMessage in the specified chat. This API can't create a new chat; you must use the list chats method to retrieve the ID of an existing chat before you can create a chat message.`,
|
|
3626
3678
|
requestFormat: "json",
|
|
3627
3679
|
parameters: [
|
|
3628
3680
|
{
|
|
@@ -3884,7 +3936,7 @@ const endpoints = makeApi([
|
|
|
3884
3936
|
},
|
|
3885
3937
|
{
|
|
3886
3938
|
method: "get",
|
|
3887
|
-
path: "/drives/:driveId/items/:driveItemId/
|
|
3939
|
+
path: "/drives/:driveId/items/:driveItemId/content",
|
|
3888
3940
|
alias: "download-onedrive-file-content",
|
|
3889
3941
|
description: `The content stream, if the item represents a file.`,
|
|
3890
3942
|
requestFormat: "json",
|
|
@@ -3951,8 +4003,8 @@ const endpoints = makeApi([
|
|
|
3951
4003
|
webUrl: z.string().describe(
|
|
3952
4004
|
"URL that either displays the resource in the browser (for Office file formats), or is a direct link to the file (for other formats). Read-only."
|
|
3953
4005
|
).nullish(),
|
|
3954
|
-
createdByUser: microsoft_graph_user.describe("[Note: Simplified from
|
|
3955
|
-
lastModifiedByUser: microsoft_graph_user.describe("[Note: Simplified from
|
|
4006
|
+
createdByUser: microsoft_graph_user.describe("[Note: Simplified from 133 properties to 25 most common ones]").optional(),
|
|
4007
|
+
lastModifiedByUser: microsoft_graph_user.describe("[Note: Simplified from 133 properties to 25 most common ones]").optional(),
|
|
3956
4008
|
audio: microsoft_graph_audio.optional(),
|
|
3957
4009
|
bundle: microsoft_graph_bundle.optional(),
|
|
3958
4010
|
cTag: z.string().describe(
|
|
@@ -4217,8 +4269,8 @@ const endpoints = makeApi([
|
|
|
4217
4269
|
webUrl: z.string().describe(
|
|
4218
4270
|
"URL that either displays the resource in the browser (for Office file formats), or is a direct link to the file (for other formats). Read-only."
|
|
4219
4271
|
).nullish(),
|
|
4220
|
-
createdByUser: microsoft_graph_user.describe("[Note: Simplified from
|
|
4221
|
-
lastModifiedByUser: microsoft_graph_user.describe("[Note: Simplified from
|
|
4272
|
+
createdByUser: microsoft_graph_user.describe("[Note: Simplified from 133 properties to 25 most common ones]").optional(),
|
|
4273
|
+
lastModifiedByUser: microsoft_graph_user.describe("[Note: Simplified from 133 properties to 25 most common ones]").optional(),
|
|
4222
4274
|
audio: microsoft_graph_audio.optional(),
|
|
4223
4275
|
bundle: microsoft_graph_bundle.optional(),
|
|
4224
4276
|
cTag: z.string().describe(
|
|
@@ -4251,7 +4303,7 @@ const endpoints = makeApi([
|
|
|
4251
4303
|
method: "get",
|
|
4252
4304
|
path: "/me",
|
|
4253
4305
|
alias: "get-current-user",
|
|
4254
|
-
description: `
|
|
4306
|
+
description: `Retrieve the properties and relationships of user object. This operation returns by default only a subset of the more commonly used properties for each user. These default properties are noted in the Properties section. To get properties that are not returned by default, do a GET operation for the user and specify the properties in a $select OData query option. Because the user resource supports extensions, you can also use the GET operation to get custom properties and extension data in a user instance. Customers through Microsoft Entra ID for customers can also use this API operation to retrieve their details.`,
|
|
4255
4307
|
requestFormat: "json",
|
|
4256
4308
|
parameters: [
|
|
4257
4309
|
{
|
|
@@ -5611,13 +5663,8 @@ get the instances of an event. Currently, this operation returns event bodies in
|
|
|
5611
5663
|
method: "post",
|
|
5612
5664
|
path: "/me/events",
|
|
5613
5665
|
alias: "create-calendar-event",
|
|
5614
|
-
description: `Create
|
|
5615
|
-
|
|
5616
|
-
like a projector. Users can then invite the resource as an attendee to a meeting. On behalf of the resource, the server accepts or rejects
|
|
5617
|
-
the meeting request based on the free/busy schedule of the resource.
|
|
5618
|
-
If the server accepts a meeting for the resource, it creates an event for the meeting in the resource's calendar. If the meeting is rescheduled,
|
|
5619
|
-
the server automatically updates the event in the resource's calendar. Another advantage of setting up a mailbox for a resource is to control scheduling of the resource, for example, only executives
|
|
5620
|
-
or their delegates can book a private meeting room. If you're organizing an event that involves a meeting location: Additionally, if the meeting location has been set up as a resource, or if the event involves some equipment that has been set up as a resource:`,
|
|
5666
|
+
description: `Create one or more multi-value extended properties in a new or existing instance of a resource. The following user resources are supported: The following group resources are supported: See Extended properties overview for more information about when to use
|
|
5667
|
+
open extensions or extended properties, and how to specify extended properties.`,
|
|
5621
5668
|
requestFormat: "json",
|
|
5622
5669
|
parameters: [
|
|
5623
5670
|
{
|
|
@@ -6023,6 +6070,40 @@ or their delegates can book a private meeting room. If you're organizing an
|
|
|
6023
6070
|
}
|
|
6024
6071
|
]
|
|
6025
6072
|
},
|
|
6073
|
+
{
|
|
6074
|
+
method: "post",
|
|
6075
|
+
path: "/me/findMeetingTimes",
|
|
6076
|
+
alias: "find-meeting-times",
|
|
6077
|
+
description: `Suggest meeting times and locations based on organizer and attendee availability, and time or location constraints specified as parameters. If findMeetingTimes cannot return any meeting suggestions, the response would indicate a reason in the emptySuggestionsReason property.
|
|
6078
|
+
Based on this value, you can better adjust the parameters and call findMeetingTimes again. The algorithm used to suggest meeting times and locations undergoes fine-tuning from time to time. In scenarios like test environments where the input parameters and calendar data remain static, expect that the suggested results may differ over time.`,
|
|
6079
|
+
requestFormat: "json",
|
|
6080
|
+
parameters: [
|
|
6081
|
+
{
|
|
6082
|
+
name: "body",
|
|
6083
|
+
description: `Action parameters`,
|
|
6084
|
+
type: "Body",
|
|
6085
|
+
schema: find_meeting_times_Body
|
|
6086
|
+
}
|
|
6087
|
+
],
|
|
6088
|
+
response: z.void(),
|
|
6089
|
+
errors: [
|
|
6090
|
+
{
|
|
6091
|
+
status: NaN,
|
|
6092
|
+
description: `Success`,
|
|
6093
|
+
schema: z.object({}).partial().strict()
|
|
6094
|
+
},
|
|
6095
|
+
{
|
|
6096
|
+
status: NaN,
|
|
6097
|
+
description: `error`,
|
|
6098
|
+
schema: microsoft_graph_ODataErrors_ODataError
|
|
6099
|
+
},
|
|
6100
|
+
{
|
|
6101
|
+
status: NaN,
|
|
6102
|
+
description: `error`,
|
|
6103
|
+
schema: microsoft_graph_ODataErrors_ODataError
|
|
6104
|
+
}
|
|
6105
|
+
]
|
|
6106
|
+
},
|
|
6026
6107
|
{
|
|
6027
6108
|
method: "get",
|
|
6028
6109
|
path: "/me/joinedTeams",
|
|
@@ -6233,7 +6314,7 @@ or their delegates can book a private meeting room. If you're organizing an
|
|
|
6233
6314
|
method: "get",
|
|
6234
6315
|
path: "/me/messages",
|
|
6235
6316
|
alias: "list-mail-messages",
|
|
6236
|
-
description: `Get
|
|
6317
|
+
description: `Get an open extension (openTypeExtension object) identified by name or fully qualified name. The table in the Permissions section lists the resources that support open extensions. The following table lists the three scenarios where you can get an open extension from a supported resource instance.`,
|
|
6237
6318
|
requestFormat: "json",
|
|
6238
6319
|
parameters: [
|
|
6239
6320
|
{
|
|
@@ -6422,13 +6503,7 @@ or their delegates can book a private meeting room. If you're organizing an
|
|
|
6422
6503
|
method: "get",
|
|
6423
6504
|
path: "/me/messages/:messageId",
|
|
6424
6505
|
alias: "get-mail-message",
|
|
6425
|
-
description: `
|
|
6426
|
-
that include extended properties matching a filter. Using the query parameter $expand allows you to get the specified resource instance expanded with a specific extended
|
|
6427
|
-
property. Use a $filter and eq operator on the id property to specify the extended property. This is currently the only way to get the singleValueLegacyExtendedProperty object that represents an extended property. To get resource instances that have certain extended properties, use the $filter query parameter and apply an eq operator
|
|
6428
|
-
on the id property. In addition, for numeric extended properties, apply one of the following operators on the value property:
|
|
6429
|
-
eq, ne,ge, gt, le, or lt. For string-typed extended properties, apply a contains, startswith, eq, or ne operator on value. The filter is applied to all instances of the resource in the signed-in user's mailbox. Filtering the string name (Name) in the id of an extended property is case-sensitive. Filtering the value property of an extended
|
|
6430
|
-
property is case-insensitive. The following user resources are supported: As well as the following group resources: See Extended properties overview for more information about when to use
|
|
6431
|
-
open extensions or extended properties, and how to specify extended properties.`,
|
|
6506
|
+
description: `Get the properties and relationships of the eventMessage object. Apply the $expand parameter on the event navigation property to get the associated event in an attendee's calendar. Currently, this operation returns event message bodies in only HTML format.`,
|
|
6432
6507
|
requestFormat: "json",
|
|
6433
6508
|
parameters: [
|
|
6434
6509
|
{
|
|
@@ -8074,8 +8149,8 @@ A site resource represents a team site in SharePoint.`,
|
|
|
8074
8149
|
webUrl: z.string().describe(
|
|
8075
8150
|
"URL that either displays the resource in the browser (for Office file formats), or is a direct link to the file (for other formats). Read-only."
|
|
8076
8151
|
).nullish(),
|
|
8077
|
-
createdByUser: microsoft_graph_user.describe("[Note: Simplified from
|
|
8078
|
-
lastModifiedByUser: microsoft_graph_user.describe("[Note: Simplified from
|
|
8152
|
+
createdByUser: microsoft_graph_user.describe("[Note: Simplified from 133 properties to 25 most common ones]").optional(),
|
|
8153
|
+
lastModifiedByUser: microsoft_graph_user.describe("[Note: Simplified from 133 properties to 25 most common ones]").optional(),
|
|
8079
8154
|
isPersonalSite: z.boolean().describe("Identifies whether the site is personal or not. Read-only.").nullish(),
|
|
8080
8155
|
root: microsoft_graph_root.optional(),
|
|
8081
8156
|
sharepointIds: microsoft_graph_sharepointIds.optional(),
|
|
@@ -8239,8 +8314,8 @@ A site resource represents a team site in SharePoint.`,
|
|
|
8239
8314
|
webUrl: z.string().describe(
|
|
8240
8315
|
"URL that either displays the resource in the browser (for Office file formats), or is a direct link to the file (for other formats). Read-only."
|
|
8241
8316
|
).nullish(),
|
|
8242
|
-
createdByUser: microsoft_graph_user.describe("[Note: Simplified from
|
|
8243
|
-
lastModifiedByUser: microsoft_graph_user.describe("[Note: Simplified from
|
|
8317
|
+
createdByUser: microsoft_graph_user.describe("[Note: Simplified from 133 properties to 25 most common ones]").optional(),
|
|
8318
|
+
lastModifiedByUser: microsoft_graph_user.describe("[Note: Simplified from 133 properties to 25 most common ones]").optional(),
|
|
8244
8319
|
isPersonalSite: z.boolean().describe("Identifies whether the site is personal or not. Read-only.").nullish(),
|
|
8245
8320
|
root: microsoft_graph_root.optional(),
|
|
8246
8321
|
sharepointIds: microsoft_graph_sharepointIds.optional(),
|
|
@@ -8712,7 +8787,7 @@ To monitor future changes, call the delta API by using the @odata.deltaLink in t
|
|
|
8712
8787
|
"List of channels either hosted in or shared with the team (incoming channels)."
|
|
8713
8788
|
).optional(),
|
|
8714
8789
|
channels: z.array(microsoft_graph_channel).describe("The collection of channels and messages associated with the team.").optional(),
|
|
8715
|
-
group: microsoft_graph_group.describe("[Note: Simplified from
|
|
8790
|
+
group: microsoft_graph_group.describe("[Note: Simplified from 71 properties to 25 most common ones]").optional(),
|
|
8716
8791
|
incomingChannels: z.array(microsoft_graph_channel).describe("List of channels shared with the team.").optional(),
|
|
8717
8792
|
installedApps: z.array(microsoft_graph_teamsAppInstallation).describe("The apps installed in this team.").optional(),
|
|
8718
8793
|
members: z.array(microsoft_graph_conversationMember).describe("Members and owners of the team.").optional(),
|
|
@@ -9044,7 +9119,7 @@ To monitor future changes, call the delta API by using the @odata.deltaLink in t
|
|
|
9044
9119
|
method: "get",
|
|
9045
9120
|
path: "/users",
|
|
9046
9121
|
alias: "list-users",
|
|
9047
|
-
description: `
|
|
9122
|
+
description: `Retrieve a list of user objects.`,
|
|
9048
9123
|
requestFormat: "json",
|
|
9049
9124
|
parameters: [
|
|
9050
9125
|
{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@softeria/ms-365-mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.22.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
|
@@ -173,6 +173,12 @@
|
|
|
173
173
|
"toolName": "list-calendars",
|
|
174
174
|
"scopes": ["Calendars.Read"]
|
|
175
175
|
},
|
|
176
|
+
{
|
|
177
|
+
"pathPattern": "/me/findMeetingTimes",
|
|
178
|
+
"method": "post",
|
|
179
|
+
"toolName": "find-meeting-times",
|
|
180
|
+
"workScopes": ["Calendars.Read.Shared"]
|
|
181
|
+
},
|
|
176
182
|
{
|
|
177
183
|
"pathPattern": "/me/drives",
|
|
178
184
|
"method": "get",
|
|
@@ -198,7 +204,7 @@
|
|
|
198
204
|
"scopes": ["Files.Read"]
|
|
199
205
|
},
|
|
200
206
|
{
|
|
201
|
-
"pathPattern": "/drives/{drive-id}/items/{driveItem-id}/
|
|
207
|
+
"pathPattern": "/drives/{drive-id}/items/{driveItem-id}/content",
|
|
202
208
|
"method": "get",
|
|
203
209
|
"toolName": "download-onedrive-file-content",
|
|
204
210
|
"scopes": ["Files.Read"]
|