@softeria/ms-365-mcp-server 0.51.0 → 0.53.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 +134 -0
- package/logs/mcp-server.log +10 -10
- package/package.json +1 -1
- package/src/endpoints.json +42 -0
package/dist/endpoints.json
CHANGED
|
@@ -328,6 +328,27 @@
|
|
|
328
328
|
"toolName": "list-calendars",
|
|
329
329
|
"scopes": ["Calendars.Read"]
|
|
330
330
|
},
|
|
331
|
+
{
|
|
332
|
+
"pathPattern": "/me/calendars",
|
|
333
|
+
"method": "post",
|
|
334
|
+
"toolName": "create-calendar",
|
|
335
|
+
"scopes": ["Calendars.ReadWrite"],
|
|
336
|
+
"llmTip": "Creates a new personal calendar. Body: { name: 'My Calendar', color: 'auto' }. Available colors: auto, lightBlue, lightGreen, lightOrange, lightGray, lightYellow, lightTeal, lightPink, lightBrown, lightRed, maxColor."
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
"pathPattern": "/me/calendars/{calendar-id}",
|
|
340
|
+
"method": "patch",
|
|
341
|
+
"toolName": "update-calendar",
|
|
342
|
+
"scopes": ["Calendars.ReadWrite"],
|
|
343
|
+
"llmTip": "Updates a calendar's properties. Body: { name: 'New Name', color: 'lightBlue' }. Cannot update the default calendar's name."
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
"pathPattern": "/me/calendars/{calendar-id}",
|
|
347
|
+
"method": "delete",
|
|
348
|
+
"toolName": "delete-calendar",
|
|
349
|
+
"scopes": ["Calendars.ReadWrite"],
|
|
350
|
+
"llmTip": "Deletes a calendar and all its events. The default calendar cannot be deleted. This action cannot be undone."
|
|
351
|
+
},
|
|
331
352
|
{
|
|
332
353
|
"pathPattern": "/me/findMeetingTimes",
|
|
333
354
|
"method": "post",
|
|
@@ -494,6 +515,27 @@
|
|
|
494
515
|
"toolName": "delete-todo-task",
|
|
495
516
|
"scopes": ["Tasks.ReadWrite"]
|
|
496
517
|
},
|
|
518
|
+
{
|
|
519
|
+
"pathPattern": "/me/todo/lists/{todoTaskList-id}/tasks/{todoTask-id}/linkedResources",
|
|
520
|
+
"method": "get",
|
|
521
|
+
"toolName": "list-todo-linked-resources",
|
|
522
|
+
"scopes": ["Tasks.Read"],
|
|
523
|
+
"llmTip": "Lists resources linked to a To Do task (emails, URLs, etc.). Each linked resource has displayName, webUrl, applicationName, and externalId."
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
"pathPattern": "/me/todo/lists/{todoTaskList-id}/tasks/{todoTask-id}/linkedResources",
|
|
527
|
+
"method": "post",
|
|
528
|
+
"toolName": "create-todo-linked-resource",
|
|
529
|
+
"scopes": ["Tasks.ReadWrite"],
|
|
530
|
+
"llmTip": "Links a resource to a To Do task. Body: { webUrl: 'https://...', applicationName: 'Mail', displayName: 'Related email', externalId: 'optional-id' }. Use to link tasks to emails, files, or web pages for context."
|
|
531
|
+
},
|
|
532
|
+
{
|
|
533
|
+
"pathPattern": "/me/todo/lists/{todoTaskList-id}/tasks/{todoTask-id}/linkedResources/{linkedResource-id}",
|
|
534
|
+
"method": "delete",
|
|
535
|
+
"toolName": "delete-todo-linked-resource",
|
|
536
|
+
"scopes": ["Tasks.ReadWrite"],
|
|
537
|
+
"llmTip": "Removes a linked resource from a To Do task."
|
|
538
|
+
},
|
|
497
539
|
{
|
|
498
540
|
"pathPattern": "/me/planner/tasks",
|
|
499
541
|
"method": "get",
|
package/dist/generated/client.js
CHANGED
|
@@ -3264,6 +3264,11 @@ const microsoft_graph_todoTaskCollectionResponse = z.object({
|
|
|
3264
3264
|
"@odata.nextLink": z.string().nullable(),
|
|
3265
3265
|
value: z.array(microsoft_graph_todoTask)
|
|
3266
3266
|
}).partial().passthrough();
|
|
3267
|
+
const microsoft_graph_linkedResourceCollectionResponse = z.object({
|
|
3268
|
+
"@odata.count": z.number().int().nullable(),
|
|
3269
|
+
"@odata.nextLink": z.string().nullable(),
|
|
3270
|
+
value: z.array(microsoft_graph_linkedResource)
|
|
3271
|
+
}).partial().passthrough();
|
|
3267
3272
|
const microsoft_graph_plannerContainerType = z.enum(["group", "unknownFutureValue", "roster"]);
|
|
3268
3273
|
const microsoft_graph_plannerPlanContainer = z.object({
|
|
3269
3274
|
containerId: z.string().describe("The identifier of the resource that contains the plan. Optional.").nullish(),
|
|
@@ -3949,6 +3954,7 @@ const schemas = {
|
|
|
3949
3954
|
microsoft_graph_todoTaskList,
|
|
3950
3955
|
microsoft_graph_todoTaskListCollectionResponse,
|
|
3951
3956
|
microsoft_graph_todoTaskCollectionResponse,
|
|
3957
|
+
microsoft_graph_linkedResourceCollectionResponse,
|
|
3952
3958
|
microsoft_graph_plannerContainerType,
|
|
3953
3959
|
microsoft_graph_plannerPlanContainer,
|
|
3954
3960
|
microsoft_graph_plannerBucket,
|
|
@@ -4636,6 +4642,53 @@ const endpoints = makeApi([
|
|
|
4636
4642
|
],
|
|
4637
4643
|
response: z.void()
|
|
4638
4644
|
},
|
|
4645
|
+
{
|
|
4646
|
+
method: "post",
|
|
4647
|
+
path: "/me/calendars",
|
|
4648
|
+
alias: "create-calendar",
|
|
4649
|
+
description: `Create a new calendar for a user.`,
|
|
4650
|
+
requestFormat: "json",
|
|
4651
|
+
parameters: [
|
|
4652
|
+
{
|
|
4653
|
+
name: "body",
|
|
4654
|
+
description: `New navigation property`,
|
|
4655
|
+
type: "Body",
|
|
4656
|
+
schema: microsoft_graph_calendar
|
|
4657
|
+
}
|
|
4658
|
+
],
|
|
4659
|
+
response: z.void()
|
|
4660
|
+
},
|
|
4661
|
+
{
|
|
4662
|
+
method: "patch",
|
|
4663
|
+
path: "/me/calendars/:calendarId",
|
|
4664
|
+
alias: "update-calendar",
|
|
4665
|
+
description: `Update the navigation property calendars in me`,
|
|
4666
|
+
requestFormat: "json",
|
|
4667
|
+
parameters: [
|
|
4668
|
+
{
|
|
4669
|
+
name: "body",
|
|
4670
|
+
description: `New navigation property values`,
|
|
4671
|
+
type: "Body",
|
|
4672
|
+
schema: microsoft_graph_calendar
|
|
4673
|
+
}
|
|
4674
|
+
],
|
|
4675
|
+
response: z.void()
|
|
4676
|
+
},
|
|
4677
|
+
{
|
|
4678
|
+
method: "delete",
|
|
4679
|
+
path: "/me/calendars/:calendarId",
|
|
4680
|
+
alias: "delete-calendar",
|
|
4681
|
+
description: `Delete a calendar other than the default calendar.`,
|
|
4682
|
+
requestFormat: "json",
|
|
4683
|
+
parameters: [
|
|
4684
|
+
{
|
|
4685
|
+
name: "If-Match",
|
|
4686
|
+
type: "Header",
|
|
4687
|
+
schema: z.string().describe("ETag").optional()
|
|
4688
|
+
}
|
|
4689
|
+
],
|
|
4690
|
+
response: z.void()
|
|
4691
|
+
},
|
|
4639
4692
|
{
|
|
4640
4693
|
method: "get",
|
|
4641
4694
|
path: "/me/calendars/:calendarId/calendarView",
|
|
@@ -7125,6 +7178,87 @@ resource.`,
|
|
|
7125
7178
|
],
|
|
7126
7179
|
response: z.void()
|
|
7127
7180
|
},
|
|
7181
|
+
{
|
|
7182
|
+
method: "get",
|
|
7183
|
+
path: "/me/todo/lists/:todoTaskListId/tasks/:todoTaskId/linkedResources",
|
|
7184
|
+
alias: "list-todo-linked-resources",
|
|
7185
|
+
description: `Get information of one or more items in a partner application, based on which a specified task was created. The information is represented in a linkedResource object for each item. It includes an external ID for the item in the partner application, and if applicable, a deep link to that item in the application.`,
|
|
7186
|
+
requestFormat: "json",
|
|
7187
|
+
parameters: [
|
|
7188
|
+
{
|
|
7189
|
+
name: "$top",
|
|
7190
|
+
type: "Query",
|
|
7191
|
+
schema: z.number().int().gte(0).describe("Show only the first n items").optional()
|
|
7192
|
+
},
|
|
7193
|
+
{
|
|
7194
|
+
name: "$skip",
|
|
7195
|
+
type: "Query",
|
|
7196
|
+
schema: z.number().int().gte(0).describe("Skip the first n items").optional()
|
|
7197
|
+
},
|
|
7198
|
+
{
|
|
7199
|
+
name: "$search",
|
|
7200
|
+
type: "Query",
|
|
7201
|
+
schema: z.string().describe("Search items by search phrases").optional()
|
|
7202
|
+
},
|
|
7203
|
+
{
|
|
7204
|
+
name: "$filter",
|
|
7205
|
+
type: "Query",
|
|
7206
|
+
schema: z.string().describe("Filter items by property values").optional()
|
|
7207
|
+
},
|
|
7208
|
+
{
|
|
7209
|
+
name: "$count",
|
|
7210
|
+
type: "Query",
|
|
7211
|
+
schema: z.boolean().describe("Include count of items").optional()
|
|
7212
|
+
},
|
|
7213
|
+
{
|
|
7214
|
+
name: "$orderby",
|
|
7215
|
+
type: "Query",
|
|
7216
|
+
schema: z.array(z.string()).describe("Order items by property values").optional()
|
|
7217
|
+
},
|
|
7218
|
+
{
|
|
7219
|
+
name: "$select",
|
|
7220
|
+
type: "Query",
|
|
7221
|
+
schema: z.array(z.string()).describe("Select properties to be returned").optional()
|
|
7222
|
+
},
|
|
7223
|
+
{
|
|
7224
|
+
name: "$expand",
|
|
7225
|
+
type: "Query",
|
|
7226
|
+
schema: z.array(z.string()).describe("Expand related entities").optional()
|
|
7227
|
+
}
|
|
7228
|
+
],
|
|
7229
|
+
response: z.void()
|
|
7230
|
+
},
|
|
7231
|
+
{
|
|
7232
|
+
method: "post",
|
|
7233
|
+
path: "/me/todo/lists/:todoTaskListId/tasks/:todoTaskId/linkedResources",
|
|
7234
|
+
alias: "create-todo-linked-resource",
|
|
7235
|
+
description: `Create a linkedResource object to associate a specified task with an item in a partner application. For example, you can associate a task with an email item in Outlook that spurred the task, and you can create a linkedResource object to track its association. You can also create a linkedResource object while creating a task.`,
|
|
7236
|
+
requestFormat: "json",
|
|
7237
|
+
parameters: [
|
|
7238
|
+
{
|
|
7239
|
+
name: "body",
|
|
7240
|
+
description: `New navigation property`,
|
|
7241
|
+
type: "Body",
|
|
7242
|
+
schema: microsoft_graph_linkedResource
|
|
7243
|
+
}
|
|
7244
|
+
],
|
|
7245
|
+
response: z.void()
|
|
7246
|
+
},
|
|
7247
|
+
{
|
|
7248
|
+
method: "delete",
|
|
7249
|
+
path: "/me/todo/lists/:todoTaskListId/tasks/:todoTaskId/linkedResources/:linkedResourceId",
|
|
7250
|
+
alias: "delete-todo-linked-resource",
|
|
7251
|
+
description: `Delete a linkedResource object.`,
|
|
7252
|
+
requestFormat: "json",
|
|
7253
|
+
parameters: [
|
|
7254
|
+
{
|
|
7255
|
+
name: "If-Match",
|
|
7256
|
+
type: "Header",
|
|
7257
|
+
schema: z.string().describe("ETag").optional()
|
|
7258
|
+
}
|
|
7259
|
+
],
|
|
7260
|
+
response: z.void()
|
|
7261
|
+
},
|
|
7128
7262
|
{
|
|
7129
7263
|
method: "get",
|
|
7130
7264
|
path: "/planner/plans/:plannerPlanId",
|
package/logs/mcp-server.log
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
2026-03-31
|
|
2
|
-
2026-03-31
|
|
3
|
-
2026-03-31
|
|
4
|
-
2026-03-31
|
|
5
|
-
2026-03-31
|
|
6
|
-
2026-03-31
|
|
7
|
-
2026-03-31
|
|
8
|
-
2026-03-31
|
|
9
|
-
2026-03-31
|
|
10
|
-
2026-03-31
|
|
1
|
+
2026-03-31 09:06:08 INFO: [GRAPH CLIENT] Final URL being sent to Microsoft: https://graph.microsoft.com/v1.0/me
|
|
2
|
+
2026-03-31 09:06:08 INFO: [GRAPH CLIENT] Final URL being sent to Microsoft: https://graph.microsoft.com/v1.0/me
|
|
3
|
+
2026-03-31 09:06:08 INFO: [GRAPH CLIENT] Final URL being sent to Microsoft: https://graph.microsoft.com/v1.0/me
|
|
4
|
+
2026-03-31 09:06:08 INFO: [GRAPH CLIENT] Final URL being sent to Microsoft: https://graph.microsoft.com/v1.0/me/messages
|
|
5
|
+
2026-03-31 09:06:08 INFO: [GRAPH CLIENT] Final URL being sent to Microsoft: https://graph.microsoft.com/v1.0/me/calendar
|
|
6
|
+
2026-03-31 09:06:09 INFO: Using environment variables for secrets
|
|
7
|
+
2026-03-31 09:06:10 INFO: Using environment variables for secrets
|
|
8
|
+
2026-03-31 09:06:10 INFO: Using environment variables for secrets
|
|
9
|
+
2026-03-31 09:06:10 INFO: Using environment variables for secrets
|
|
10
|
+
2026-03-31 09:06:10 INFO: Using environment variables for secrets
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@softeria/ms-365-mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.53.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
|
@@ -328,6 +328,27 @@
|
|
|
328
328
|
"toolName": "list-calendars",
|
|
329
329
|
"scopes": ["Calendars.Read"]
|
|
330
330
|
},
|
|
331
|
+
{
|
|
332
|
+
"pathPattern": "/me/calendars",
|
|
333
|
+
"method": "post",
|
|
334
|
+
"toolName": "create-calendar",
|
|
335
|
+
"scopes": ["Calendars.ReadWrite"],
|
|
336
|
+
"llmTip": "Creates a new personal calendar. Body: { name: 'My Calendar', color: 'auto' }. Available colors: auto, lightBlue, lightGreen, lightOrange, lightGray, lightYellow, lightTeal, lightPink, lightBrown, lightRed, maxColor."
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
"pathPattern": "/me/calendars/{calendar-id}",
|
|
340
|
+
"method": "patch",
|
|
341
|
+
"toolName": "update-calendar",
|
|
342
|
+
"scopes": ["Calendars.ReadWrite"],
|
|
343
|
+
"llmTip": "Updates a calendar's properties. Body: { name: 'New Name', color: 'lightBlue' }. Cannot update the default calendar's name."
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
"pathPattern": "/me/calendars/{calendar-id}",
|
|
347
|
+
"method": "delete",
|
|
348
|
+
"toolName": "delete-calendar",
|
|
349
|
+
"scopes": ["Calendars.ReadWrite"],
|
|
350
|
+
"llmTip": "Deletes a calendar and all its events. The default calendar cannot be deleted. This action cannot be undone."
|
|
351
|
+
},
|
|
331
352
|
{
|
|
332
353
|
"pathPattern": "/me/findMeetingTimes",
|
|
333
354
|
"method": "post",
|
|
@@ -494,6 +515,27 @@
|
|
|
494
515
|
"toolName": "delete-todo-task",
|
|
495
516
|
"scopes": ["Tasks.ReadWrite"]
|
|
496
517
|
},
|
|
518
|
+
{
|
|
519
|
+
"pathPattern": "/me/todo/lists/{todoTaskList-id}/tasks/{todoTask-id}/linkedResources",
|
|
520
|
+
"method": "get",
|
|
521
|
+
"toolName": "list-todo-linked-resources",
|
|
522
|
+
"scopes": ["Tasks.Read"],
|
|
523
|
+
"llmTip": "Lists resources linked to a To Do task (emails, URLs, etc.). Each linked resource has displayName, webUrl, applicationName, and externalId."
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
"pathPattern": "/me/todo/lists/{todoTaskList-id}/tasks/{todoTask-id}/linkedResources",
|
|
527
|
+
"method": "post",
|
|
528
|
+
"toolName": "create-todo-linked-resource",
|
|
529
|
+
"scopes": ["Tasks.ReadWrite"],
|
|
530
|
+
"llmTip": "Links a resource to a To Do task. Body: { webUrl: 'https://...', applicationName: 'Mail', displayName: 'Related email', externalId: 'optional-id' }. Use to link tasks to emails, files, or web pages for context."
|
|
531
|
+
},
|
|
532
|
+
{
|
|
533
|
+
"pathPattern": "/me/todo/lists/{todoTaskList-id}/tasks/{todoTask-id}/linkedResources/{linkedResource-id}",
|
|
534
|
+
"method": "delete",
|
|
535
|
+
"toolName": "delete-todo-linked-resource",
|
|
536
|
+
"scopes": ["Tasks.ReadWrite"],
|
|
537
|
+
"llmTip": "Removes a linked resource from a To Do task."
|
|
538
|
+
},
|
|
497
539
|
{
|
|
498
540
|
"pathPattern": "/me/planner/tasks",
|
|
499
541
|
"method": "get",
|